Knowledge Base

Topic: Assets
Container Images

What is a Container? A container is a unit of software which packages up all the code, along with its dependencies, so that it can run quickly and independantly in any computing environment. Each container has a Container Image, which is a standalone executable package that includes all the essentials to run the containerized application, including the code, runtime, system tools, and system libraries. Containers can be used to run both Linux and Windows-based applications.
Instance Types

CONS3RT now allows users to select a specific Instance Type when launching a Deployment in CONS3RT using AWS Commercial, AWS GovCloud, Azure Commercial, or Azure Gov. For more information on launching a Deployment or launching from Clouds other than AWS or Azure, please see this article. Setting an Instance Type in Azure Base Settings Click the Launch or Finish and Launch button on the Deployment that needs to be launched.
Developing Assets for Offline

Do you need to develop assets that also need to work in an offline environment? Not to fear! CONS3RT helps you develop with offline in mind: Community assets are developed with offline environments in mind. Most Certified community assets have an offline mode, and you can find the same assets available to re-use in offline environments. Check the Help page on community assets if you have any questions Update servers are available in offline CONS3RT environments, including Red Hat 6 and 7, Ubuntu 16, and Windows: Run yum -y update and yum -y install [package] commands Run apt-get -y update && apt-get -y upgrade and apt-get -y install [package] commands Run Windows updates on a variety of OS versions Elastic Test Tools like Nessus scans are available in offline CONS3RT environments, so your test assets (or the community test assets) will work just fine offline When developing offline versions of your assets, here are helpful hints to keep in mind:
Software Asset Builder

Building Software Assets You can create your own software assets using the software asset builder. To get started: From the main menu, click on the Add button next to Software Note: if you do not see the Add button, you may need permissions added in your project If you have an asset zip file to import, click on the “I have an archive with a properties file” option, click “Next”, and upload your asset zip file Otherwise, select the “Use the software builder” option, and click “Next” If you need to build source code in your asset, select “My source code needs to be compiled”, otherwise, to create a software application asset, select “My files are ready for installation”, and click “Next” At the “Provide some details” step, add a name, and add optional info as needed: At the “What resources does your software need?
Additional Disks

When building or editing a system design, you have the option to add up to 10 additional disks up to 1 TB each. On some Windows systems, there are only 8 additional disks available. At run time, the disks specified in each system design are automatically formatted and mounted to each of your run hosts. On most Linux hosts, mount points are: /cons3rt_disk1 /cons3rt_disk2 /cons3rt_disk3 /cons3rt_disk4 /cons3rt_disk5 /cons3rt_disk6 /cons3rt_disk7 /cons3rt_disk8 /cons3rt_disk9 /cons3rt_disk10 On Red Hat Atomic, the mount points are:
Snapshots

What is a Snapshot? As a team begins transitioning from traditional cloud hosting environments, there will inevitably be a time when when someone wants to “snapshot” a system. A snapshot preserves the state and data of a virtual machine at a specific point in time. They are used to restore that virtual machine to a that saved state. The state includes the virtual machine’s power state (for example, powered-on, powered-off, suspended).
Using Physical Machines

HmC gives you the power to register and provision physical machines into your cloudspace. Registering a Physical Machine Physical machines are registered to a single cloudspace. Thus, only projects that have access to the cloudspace can access and deploy the physical machine. To register a physical machine to your cloudspace, please enter a support ticket at: support@cons3rt.com. Using a Physical Machine Once your physical machine is registered, it is available for use in HmC deployments.
Deleting an Asset

If an asset does not have any dependencies, it can be deleted. To delete an asset: On the asset page, look for the gear-shaped icon on the right side next to “Details”. You will see it if you have appropriate permissions Click the gear icon, and select Delete this asset (see the image below) In some cases, you may not need to delete the asset, but just want to remove it from your view.
Asset Tags

Add Tags to my Assets Asset tags are useful when searching for assets of a specific category, and also to help users find assets that you have created. See below for information on a special asset tag called “Disruptive”. You can assign up to 3 tags to each of your assets. To add a tag to one of your assets, on the asset page, click the “Edit Pencil” icon under Tags as shown in this image:
Assets with Reboot and Reboot Delay

Assets with Reboot For each asset on your System, that you add to the System Builder, you can check the Reboot system after installation? checkbox. This tells CONS3RT to reboot the host after the asset has completed installation. This is useful when installing an application that requires reboot after installation. Additionally, you can set a Reboot Delay on each reboot as described below. In most cases, set the Reboot Delay to 0 minutes.
Updating Software Assets

In order to update a Software Component Asset, there are a few criteria that must be satisfied: The Asset State must be In Development (this is the default state) more info on asset states You must be a member of the Project that owns the asset, and the Project is selected (at the top-right) You must have Asset Developer permissions to see the “Update” buttons, see this article on setting permissions Navigate to your asset, and ensure you have permissions to edit your asset:
Create a Scenario

Step 1: Add Systems First you need to create a System From the Main Navigation Menu, click Systems Select the System you would like to add to your Scenario Click the Add to Scenario Builder button If you would like to add another copy of the same System, click the Add to Scenario Builder as many times as needed To add another System to your Scenario, follow the same process Step 2: Scenario Builder The number of systems added to your scenario appear as a number next to Scenarios on the main menu Click on the number to access the Scenario Builder (Optional) set the build order by using the after previous and with previous buttons (Optional) Set the master scenario host by clicking the designate as master checkbox (details below) Click Next Give your Scenario a Name, and optionally a Description, and click Next (Optional) Add Scenario Configuration and Teardown scripts as desired (details below) Click Next Click Create Scenario Next you should add your Scenario to a Deployment.
Exportable Asset Bundles

CONS3RT provides the capability to export an asset bundle for each host in your deployment runs. These asset bundles can deploy on virtual or physical hosts that are disconnected from CONS3RT (e.g. an offline, disconnected lab). Export an Asset Bundle When your run completes successfully (status is “Reserved” or “Completed”) without errors you can export the asset bundle for each host. Click on the host from the Home page, or click on the Run page and select the host to export Select Export Click the Request Download button You will receive an email with a link to download the asset bundle when it is ready Note: The download may take some time depending on the size of the bundle.
Deployment Properties

Deployment Properties Each system in a deployment has a set of properties that contains CONS3RT and user defined values for use in the configuration and execution of Systems. These allow for customization in software and test assets. Contents CONS3RT properties are values generated on each run. These include: Run specific information (e.g. username, cloud technology, etc.) User defined properties are set in the Deployment builder (can be added/edited at Deployment Launch) Per System specific information (e.
Using a Custom Template

A note on using Custom Templates The best way to configure your environment is using automation, instead of custom templates. Using automated configuration will increase the flexibility, repeatability, and maintainability of your systems. CONS3RT provided a suite of tools to enable you to fully automate your environments from networking, to application installs, to system specifications. Create a System with your Custom Template Click on the System Builder icon on the top-left Under System Type, select Template-Based Select Browse Templates Select your Cloudspace from the drop-down-menu.
Create a System Design

Create a System Design by clicking the Add button next to Systems on the main menu. This builder allows you to design a virtual or physical host. Your System design will include: An Operating System (OS), a specific OS template, or a physical device Minimum number of CPUs Minimum Memory (RAM) in GB Minimum root volume disk size (up to 100 GB) The number and size of additional disks GPU requirements Nested Virtualization requirements Step 1: Select an Operating System To begin, click the Add button next to Systems on the main menu Select Virtual, Physical, or Template-Based For most cases, select Virtual.
Platform Enforcement

If an operating system platform is specified for an asset, CONS3RT will prevent the install of that asset on the wrong platform. For example, the System Builder will not let a user save a Windows Firefox asset on a Linux operating system. This requires the optional field applicationOsFamilyType to be set in the asset.properties. Example: # Specify an OS Platform. If set this will be enforced in CONS3RT # Can be: LINUX, WINDOWS, OS_X, SOLARIS applicationOsFamilyType=LINUX
Environment Variables

Environment Variables CONS3RT specific environment variables are set and available to install scripts at runtime to use in Software and Test assets Grab media files from the asset Launch additional code (e.g. Puppet manifests) Set conditional logic based on Role name Grab custom properties or deployment properties Variables ASSET_DIR: Path to the parent directory of your software asset To access media files in Linux: $ASSET_DIR/media/filename.zip To access media files in Windows Powershell: $env:ASSET_DIR\media\filename.
Source Code Assets

Source Code Assets are used to check out, build and install uncompiled code. Pointers to the external source repositories are contained in each asset. When built, these assets contain the latest updates to source. Scripts are executed on CONS3RT’s SourceBuilder service, and then installed on your system(s). You can find a sample Source Code asset here on Github. Take a look at the sample scripts in the script directory to assist in creating your Source Code asset.
App Bundles

Users can create bundles of software assets called “App Bundles” to install as a group on systems. Just like Systems, App Bundles include reboot and a build order. Creating an App Bundle Create a System or navigate to one that has already been made Click the “Create App Bundle” button Name your Software App Bundle Click Save Viewing your App Bundles From the Navigation Menu, click on Software Click on “App Bundles” from the top menu bar More Help Learn more about Asset Development with our YouTube video tutorials:
Importing Your Asset Zip File

One you have created an asset zip file according to this article, you will want to import it into CONS3RT. To do so: On the main menu, next to Applications, click the Add button Note: if you do not see the Add button, you need asset developer permissions in your project. Contact your Team Manager or Project Owner to set your project permissions. If you have an asset zip file to import, click on the “I have an archive with a properties file” option, click “Next” Drag and drop, or browse and select your asset zip file You will see a file transfer bar at the bottom right Keep an eye out for error notifications at the bottom left, in case any asset structure issues were detected You should receive an email notification if your asset import succeeded, if it fails the notification will provide details: If CONS3RT finds a problem with the asset If CONS3RT detects a virus or malware in the asset.
Sharing Assets with Another Project

Sharing assets is a two step process. First, your Project Owner must add the Project you’d like to share assets with as a Trusted Project using these instructions Edit the sharing on the asset you would like to share, using the following instructions: Navigate to the asset that you would like to share with another Project Ensure that the asset has HELP and LICENSE (if shown) text provided under each tab.
Cloning Systems/Scenarios/Deployments

Cloning Overview Cloning creates a Copy of the System, Scenario, or Deployment asset in your builders. Once a clone is created, you can save an identical copy, or modify and tweak it as needed. Cloning is useful when: You need to launch another instance of an existing Deployment Run You need to copy a teammate’s System design You want to test a new version of your assets without modifying the original asset See below for how to clone a System, Scenario, or Deployment.
Creating Component Assets

Component assets are developed by you and other CONS3RT users, and imported into CONS3RT for use in your Systems. The three categories of Component Assets are: Software Assets Source Code Assets Test Case Assets There are 2 options for creating component assets: Use the Software Asset Builder. You can use this method for software application and source code assets. Create and import and asset zip file. This method is described below and can be used for all component asset types, including test cases.
Docs and Licenses

The documentation for an Asset is available in the UI by selecting “Help” tab on the Asset’s main page. This section should provide all relevant information and necessary requirements that pertain to your Asset. As the owner of an Asset, you are the only one who can edit its documentation. This can be done by using CONS3RT’s WYSIWYG editor, or by adding information to the Asset’s properties file documentation section prior to importing.
Instance Limits

Setting an Instance Limit on an asset will limit how many concurrent instances of an Asset that can be provisioned. This can be used to: Manage usage of an Asset that is constrained due to licensing considerations Manage usage of an Asset that is constrained due to physical resources Once a instance limit is reached, the deployment runs will remain in the scheduled state until the resource becomes available (i.
Asset Visibility

Visibility defines which other users can see and access your Assets in the library. Only the Owner can change its visibility. The four levels of visibility are: “No One Else (sharing disabled)” - Only the original creator can see or use this asset. This is the default setting for any newly imported or assembled asset. “Member of {my project}” – These assets are only visible to members of the owning project, which allows a team to proceed with development and/or test in a private workspace.
Asset States

This article includes information about the lifecycle of an Asset, and how to set asset states to reflect that lifecycle. What are the Asset States In Development: Every asset’s initial state. Asset editing is allowed. For software assets, install scripts can be edited and media file can be uploaded. See this article for information about updating software assets. For system assets, you can update the operating system, the system specifications, and the software asset list.