Skip to content

Compute

Instances

In OpenCloud, an Instance is a collection of Compute and Storage Resources. Instance Compute and Volumes are separated because there are unique actions that can be taken on each part.

  • Instance Compute information is located on the Compute > Instances Tab.
  • Volumes that are attached to the Instance are located on the Storage > Volumes Tab.
  • There are other ways of viewing the Instance Volumes from inside the Instance details screen.

It is highly recommended that all Windows and Linux Instances install qemu-guest-agent as part of the initial OS configuration process. This agent provides more robust monitoring and reporting of Instance metrics in OpenCloud as well as provides the Instance Snapshot functionality to Windows and Linux Instances. For Windows, this guest agent is part of the VirtIO Tools install. Linux users will need to determine what version is needed for their flavor of Linux.

Overview

Instance Lifecycle

Instances can be in the following states:

Permanent Temporary
  • Created
  • Running
  • Stopped
  • Destroyed
  • Expunged
  • Creating
  • Starting
  • Stopping
  • Expunging

Creating Instances

  1. To create a new instance, follow these steps:
  2. In the left navigation page, click on Compute > Instances.
  3. Select the Add Instance button at the top of the screen.

    Add Instance

  4. A new window will open.

  5. Select the Zone for the Instance. Customers will be able to provision in either OpenCloud Zone.

    Available Zones in OpenCloud
    Zone Description
    us-mi-abh-01 MI05 - Detroit, Michigan
    us-co-eng-01 CO01 - Denver, Colorado
  6. Select either the Template or ISO heading to view a list of Templates or ISOs that are available.

    Drivers

    Customers are able to upload their own ISOs for Instance creation, however, custom Instances Templates will need drivers installed. Please refer to the VirtIO Driver details.

  7. Choose a Compute offering for the Instance. Depending on the type of Instance and what purpose it will serve, choose an offering that makes sense and/or follows best practices. Compute Dense Offerings that start with a CD and Memory Dense Offerings start with a MD. The CPU and RAM for each Offering will be displayed next to the Offering name.

  8. Customers can further customize the ROOT, or OS BOOT, disk size. All Templates comes with a 100 GB ROOT disk volume that can be resized after Instance creation. The default ROOT disk size for all Templates is 100 GB as shown below the Compute Offering selection box. There is also an option to Override Root Disk Size to create a ROOT disk larger than 100GB if desired.
  9. Select whether a DATA disk should be attached to the Instance. This first DATA disk is a separate disk that can be the start of a new data storage Volume if needed. There is also an option to forgo adding an additional DATA disk during Instance creation.
  10. To add a Custom Data Disk, select Custom and specify the Disk Size in GB in the box below.

    Limits

    Each volume has a max size of 5,000 GB

  11. Select the network that should be assigned to the Instance. An IP address will be provided via DHCP or an address that's within the subnet's range can be specifically assigned.

  12. Selecting an SSH Key Pair is optional.

    📝 Note: See How-To on SSH Keys for more information on this feature.

  13. At the bottom, there is an option labeled Advanced Mode. Click on the toggle button to show more options.

    1. There is a choice of traditional BIOS booting or the more secure UEFI booting. If creating an Instance from a Template, the Template's specific boot method will already be selected.

      📝 Note: Setting the Instance to UEFI or BIOS during the initial creation is important as it cannot be changed later. 

    2. Dynamic scaling will be disabled by default and should not be toggled on. 

    3. If there are Affinity Groups created already, this new Instance can be added to these groups under the Advanced Mode Options. If not, this part can be left blank. Please refer to the Affinity Groups section for more information.

  14. The last portion of the Instance creation is the area for the name of the Instance. It is strongly recommended to provide a friendly name the instance here as it will help with identification.

    Character Limit

    Instance name can only contain ASCII letters 'a' through 'z', the digits '0' through '9', and the hyphen ('-'), must be between 1 and 63 characters long, and can't start or end with "-" and can't start with digit

  15. After filling out all the information, click Launch Instance. The screen will revert to the main Instances window.  

  16. Click on the Instance name in the Instances screen to go into the Instance details.
  17. The list of details in the right window on the Instance details screen can be clicked on, and They can see the information contained within, specifically NICs, Volumes, and Snapshots. 

Accessing the Console

  1. The Instance Console allows for direct access the Instance OS.
  2. The Console can be accessed by pressing the Console button.

    Console Button

  3. The Console should load in a new browser tab and will show the OS screen of the VM. Mouse and Keyboard access will be automatically accessible.

  4. The menu bar of the Console, which is on the left-hand side of the Console screen hidden behind a small tab, contains extra features that can be used with the Console.
  5. The Top option button, represented by an "A" key, contains extra keys that can be selected to send that key, along with others, to the Console screen.
  6. The middle option is a clipboard that can be used to send text directly to whatever empty textbox is selected in the OS.
  7. The bottom option can expand the screen so that the OS windows takes up more of the window.

Attaching an ISO

  1. Instances can have ISOs attached to them to install customer specific software. Please make sure that the ISO has been uploaded first to OpenCloud. Refer to the Templates Document to perform ISO uploads.
  2. From the main OpenCloud menu, choose Compute > Instances. Click on the name of the Instance that needs an ISO mounted to go into the Instance details.
  3. At the top right, click on the Attach ISO button.

    Attach ISO

  4. This will bring up a dropdown menu of ISOs to select. Choose the correct one and then click OK.

  5. The ISO will be attached to the OS using whatever Optical Drive is installed on the OS. Most if not all Templates include an Optical Drive but attaching an ISO should push one down to the Instance if it is missing.
  6. ISOs can also be unattached from the Instance in the same way. Click on the same button to un-attach the ISO.

VirtIO Drivers

  1. The US Signal OpenCloud Templates that are used for Instance creation contain the OpenCloud VirtIO drivers by default, but there may be times when these drivers will need to be installed manually on an Instance. These drivers, much like the VMware Tools drivers, allow for imported Instances to use the best type of OpenCloud disk adapters and vNICs.
  2. If a custom Windows ISO is uploaded to create an Instance, the VirtIO drivers will need to be added to the Windows Installer through the Instance before the Windows Install can continue.
  3. To make sure that the VirtIO drivers are added to a Instance created by a customer-uploaded Windows ISO, make sure that the Instance is assigned the “Windows PV” OS type in OpenCloud. Once the Instance is made and the Windows software starts the installation process, there may be a point where Windows cannot find the specific disks to install onto.
  4. At this point, the Windows ISO must be detached from the Instance and the VirtIO drivers attached.
  5. Go to the Instance details page and select the Detach ISO option from the top right.

    Detatch ISO

  6. This will detach the Windows ISO from the Instance after hitting OK in the dialog box.

  7. Then, go to the same spot and select Mount ISO.

    Mount ISO

  8. Select the VirtIO driver ISO to mount. It will be named VirtIO Windows Drivers and will be present in the ISO selection screen. After this ISO has been mounted, the customer will switch back to their Windows Install and browse for the proper disk drivers. These will be in the following place: viostor/'windows version'/amd64.

  9. Once these drivers are added to the Windows Installer, the customer should unmount the VirtIO ISO and switch back to the Windows ISO using the same unmount and mount functions.
  10. The disk that can be used to install Windows should be visible on the install page, and the process can continue.
  11. If the customer has an existing Windows Machine that needs the VirtIO drivers installed, they can attach the VirtIO ISO and run the following executable:
    1. Virtio-win-guest-tools
  12. This installer will provide the drivers required to use the full feature suite of OpenCloud.

Adding Settings

  1. Instances that are made from Customer ISOs or Templates will not have some specific default Settings that are required on all OpenCloud Instances for optimal performance. These Settings can only be applied when the Instance is stopped.
  2. The following Settings should be applied to all Customer created Instances:
    1. video.hardware = virtio
    2. rootDiskController = virtio
  3. To add these Settings, first click on Compute > Instances and click on the Instance in question.
  4. Click on the name of the Instance to enter into its details.
  5. Click on the Stop Instance button to stop the Instance.

    Stop Instance

  6. Once the Instance is stopped, click on Settings

    Settings

  7. In the Settings Menu, click on the Name box at the top of the other settings on this page:

    Entry

  8. For this example, we are adding the video.hardware setting, but this example applies to all necessary settings. Type in video.hardware in the Name box and then type in virtio in the Value box.

    Video Hardware

  9. Once these items are filled in, click on the Check Mark to Add Setting

    Check Mark

  10. This will add the Setting to the Instance.

  11. Continue adding Settings until the four specified above are added.
  12. The Instance can then be Started again by clicking the Start button.

    Start Instance

  13. The Instance will now use the better VirtIO drivers for Display as well as the more optimal VirtIO Controllers if it boots using BIOS. The rootDiskController Setting currently has no effect on UEFI Instances.

  14. The Resolution of the OS in the Instance can now be changed to be larger once the Instance is using the VirtIO drivers for graphical hardware as well.

Attaching Additional Networks

OpenCloud allows Instances to have multiple Networks attached to them. It is possible for an Instance to belong to multiple networks in OpenCloud.

  1. On the main OpenCloud screen, click on Compute > Instances.
  2. Click onto the Instance name to enter the Instance details screen.
  3. From this screen, click on the NICs tab.
  4. To add an additional NIC, click on the Add Network to Instance button.
  5. A dialog box will open. Select the Network in question from the drop-down menu.
  6. An additional NIC with a unique MAC address will be attached to the instance. This action will also create a new vNIC inside the OS of the Instance.
  7. From this same NICs tab, the customer can remove NICS from Instances as well or set the Default NIC for the Instance.
  8. Click on the small + next to the NIC's Device ID. It will expand the NIC and show its details along with option buttons.
  9. There will be a button to set the selected NIC as Default, which means that it can never be deleted from the Instance and will always be assigned.
  10. There are also options to change the NIC IP settings if necessary.
  11. The red trashcan button will delete the NIC. Only non-Default NICs can be deleted. To delete an old Default NIC that is no longer needed, an additional NIC will need to be added and assigned as the Default for the Instance.

If the Instance OS does not support hot-add of NICs, a reboot may be required.

Changing a Network

It is not possible to change the network attached to a NIC. A 2nd NIC will need to be added and swapped.

  1. On the main OpenCloud screen, click on Compute > Instances.
  2. Click onto the Instance name to enter the Instance details screen.
  3. From this screen, click on the NICs tab.
  4. Add an additional NIC, click on the Add Network to Instance button.
  5. Choose the new network and click OK
  6. Click the + sign next to new NIC to expand the details (Device ID will be higher then 0).
  7. Click the icon that looks like a checkmark with a box around it (hovering over you will see Set default NIC) and choose Yes when prompted.
  8. The NIC ordering will change and your new network should now be now Device 0.
  9. Click the + sign next to old NIC to expand the details (Device ID will be higher then 0).
  10. Click the Red Trash Can icon to remove the old NIC

If the Instance OS does not support hot-add of NICs, a reboot may be required.

The above steps assume the Instance only has 1 NIC. Steps will change slightly if you have multiple NICs already

Stopping and Starting

  1. Instances can be stopped or started from the Instance details menu. Stopping an Instance will shut the Instance down and Starting an Instance will power the Instance back on.
  2. In the left navigation page, click on Compute > Instances.
  3. Click on the Instance name to enter into the details of the Instance.
  4. Select Stop Instance from the options in the upper right of the screen.

    Stop Instance

  5. A dialog box will pop up. There is no need to force the Instance to stop unless it did not respond to previous attempts at stopping. Click OK.

  6. The Instance will then be stopped.
  7. To start the Instance again, click on the Start Instance button.

    Start Instance

Stopping Instances from Guest

Stopping instances should be performed from the OpenCloud UI. If an instance is shutdown from within the OS, the HA (High Avaiabiltiy) process will automatically restart the instance.

Reboot an Instance

  1. To execute an Instance reboot outside of the Instance OS itself, log in to OpenCloud, click on Compute and then Instances.
  2. Select the Instance to be rebooted and then select the button that says Reboot Instance in the upper right corner.

    Reboot Instance

  3. Confirm the reboot by clicking OK. The Instance will be rebooted, and an event will be generated in the tasks.

Deleting/Destroying

Note

Once an Instance is deleted, or expunged, it can no longer be recovered. US Signal is also unable to recover deleted Instances.

  1. To totally remove an Instance and free up its resources, an Instance must be Destroyed AND Expunged in OpenCloud.
  2. Once a customer executes the option to Destroy an instance, it is set in the Destroyed State and its Volumes will be retained for 24 hours, keeping the allocated Storage and Compute resources in use. During this time, the Instance can be restored by performing a Restore action.
  3. After 24 hours, the Instance and its Volumes are automatically removed. This process deletes the attached Data Volumes and releases all other resources. After this process occurs, US Signal cannot recover an Instance for a customer.
  4. If a customer wants to Destroy the Instance and free up the Storage and Compute Resources at the same time, there is an option to Expunge in the Destroy Instance confirmation screen.
  5. To perform either a Destroy or Expunge operation, go to Compute and then Instances from the main OpenCloud screen.
  6. Click on the Instance Name in question and enter its details page.
  7. Select the Red Trashcan Destroy Instance button in the upper right corner.

    Destroy Instance

  8. A confirmation dialog box will appear. If the customer wants to remove the Instance immediately, the Expunge option should be turned on.

  9. If the Customer wants to delete the associated Data Volumes that are attached to the Instance, the Data Volume names will need to be populated in the Data Volumes to be Deleted box. Otherwise, the Data Volumes will not be removed along with the Instance and Root Volume.

    Delete Data Volumes

  10. The Expunge option will immediately delete the Instance and all of its Root and Data Volumes as long as they are specified in the Data Volumes to be Deleted box. US Signal cannot recover any of this data for Customers.

  11. To recover a Destroyed Instance that has NOT been Expunged, click on the Instance name from the list of Instances to go into its details.
  12. Select Recover Instance from the options in the upper right corner.
  13. The Instance will then be recovered in a stopped state and can be powered on again.

Scaling Resources

  1. All Instances in OpenCloud are assigned their resources through what is called a Compute Offering. These are standardized Instance resource builds that define specific CPU and RAM allotments for Instances. These Compute Offerings can range from the small to the exceptionally large.
  2. To see the list of Compute Offerings that are available, go to Service Offerings, > Compute Offerings.
  3. The list here will be the Compute Offerings that are available to Instances.
  4. To change what Computer Offering is assigned to an Instance, first go to Compute > Instances.
  5. At the bottom of the Instance information box on the left-hand side, the current Compute Offering that is assigned to the Instance is listed.
  6. To change the Instance Compute Offering, the Instance must be stopped first.
  7. Once the Instance is stopped, select the Scale Instance option in the upper right corner of the screen.

    Scale Instance

  8. A dialog box will appear with other Compute Offering choices. Select the new choice and then click Ok.

  9. The process will complete and then the Instance can be started again. Check that its details reflect the newly assigned Compute Offering.

Edit Instance

  1. Instance names, OS types, and the Group that they belong to can be changed after an Instance is created.
  2. Click on Compute > Instances and click on the name of the Instance to be changed.
  3. Inside the Instance details screen, click on Edit Instance in the upper right hard corner of the screen.

    Edit Instance

  4. A new screen will appear. The Name of the Instance will be what is reflected in the OpenCloud GUI. The Display Name of the Instance will be what is represented inside the specific Instances's detail screen. Change these to the required Values.

  5. The OS Type of the Instance does matter when dealing with Windows Instances. All Windows Instances should be assigned the Windows PV OS type as this designation will allow the Instance to use the best available drivers for OpenCloud. The OS type can be changed after the Instance is created. It is recommended to stop and start the Instance after the OS type is changed.
  6. If specific Instances need to be assigned to assigned Security Groups within OpenCloud, this screen is also where that Group will be configured. If there are no Security Groups to assign, this space can be left blank.

Viewing Instance Metrics

  1. OpenCloud provides detailed descriptions of CPU, Memory, Disk, and Network usage.
  2. To access this view, first click on Compute > Instances and click on the name of the Instance to view.
  3. On the right window of the Instance screen, click on Metrics to see various hourly views of the specific Instance statistics.
  4. The different Resources have explanations next to them in small grey circles that explain what exactly OpenCloud is recording. These statistics can assist when diagnosing Instance performance issues.

Assign an Instance

  1. Instances can be assigned to different Accounts in the same Domain if a different User or Account needs to maintain the Instance. US Signal OpenCloud Admins can also assign Instances to different Domains and accounts within those Domains. The Domain Admin customer account can view all instances and move instances between accounts in the same Domain. Instances with either Instance or Volume snapshots cannot be assigned to other accounts without first removing the snapshots.
  2. The Instance must be stopped before this can occur, however. Access the Instances by going to Compute > Instances on the main OpenCloud dashboard. Click into the details of the instance to be moved and then click the Stop Instance button in the top right corner.
  3. Any ISOs that are attached to the Instance will also need to be unmounted before the Instance can be moved.
  4. Once the Instance is stopped, then the Instance can be assigned to a new User or Account.
  5. Click on the Assign Instance to another Account button.

    Move to Account

  6. A dialog box will appear with areas to fill out with information. A Domain Admin can assign Instances to different Users in the same Domain or assign Instances to an entirely different Domain User inside a Sub-Domain.

  7. Choose the Account Type, which will usually remain as an Account unless assigning the Instance to a specific User inside an Account. Choose the Domain that the Instance should move to. For Domain Admins working inside a Domain that contains Sub-Domains, only those Sub-Domains will be available targets for an Instance. Choose the specific Account that the Instance should be assigned to. An optional Network can be assigned as well, but this is not required.
  8. Once all of these options are filled out, click Submit. The Instance will then be moved to the new Account/User and Domain.

Reset UserData

  1. Log in to OpenCloud, click on Compute and then Instances.
  2. Make sure the instance is powered off.
  3. Click on Reset Userdata on Instance Icon.
  4. Change the Userdata override slider to Enabled.
  5. Choose either:
    1. Stored Userdata - These are created under Instances --> User Data
    2. Manual Userdata Entry - You can also manually provide the userdata if needed.
  6. Click Ok

Feature Availability

This feature is only available when using OpenCloud's Network - Services offering. See Network Offerings

Reset SSH Key

  1. Log in to OpenCloud, click on Compute and then Instances.
  2. Make sure the instance is powered off.
  3. Click on Reset SSH key pair Icon.
  4. Select the SSH key you would like to reset the instance with
  5. Click Ok

Feature Availability

This feature is only available when using OpenCloud's Network - Services offering. See Network Offerings

Instance Snapshots

Information for Instance Snapshots can be found here: Instance Snapshots

SSH Key Pairs

Opencloud supports the use of SSH keys to log into instances for additional security. SSH Keys are unique each user and one user connect to another users instance cannot log in unless they share their SSH Key Files.

Create SSH Key

  1. Navigate to Compute and then click on Instances and then click on SSH Key Pairs
  2. Click on Create a SSH Key Pair
  3. Fill in the Name Field (Required)
  4. If needed enter the Public Key (Optional)

    Note

    If public key is set, CloudStack will register the public key. If nothing is set, CloudStack will create a new SSH key pair.

  5. If needed change the Domain dropdown (Optional)

  6. Click Ok

Feature Availability

This feature is only available when using OpenCloud's Network - Services offering. See Network Offerings

User-Data and Meta-Data

OpenCloud Users can register Userdata and refer to that data while deploying or editing or resetting the userdata of an instance.

  1. To register new UserData, first click on Compute > User Data.
  2. Click on Register a Userdata at the top of the page.

    Userdata

  3. A new window will open. Enter the Name, Plain Userdata content, Userdata Parameters, the Domain for the Userdata, and an Optional Account for the Userdata.

Extra Notes for User-Data / Meta-Data

  • Userdata content length can be up to 32kb.
  • If the Userdata has variables declared in it, it can be registered with these variables intact. The variable has to be defied in the Userdata Parameters. If the variables in the Userdata content are predefined metadata like "public_hostname," then these parameters should not be declared.
  • Once Userdata entries are created, they cannot be edited. A new Userdata entry will need to be created if changes have to be made.
  • Userdata can be linked to newly created Instances by selecting the newly created Userdata under the Advanced Mode in Instance creation.
  • The Userdata created can then be linked to a Customer Template or ISO on registration/upload by using the UserDatatoTemplate API.

Feature Availability

This feature is only available when using OpenCloud's Network - Services offering. See Network Offerings

Affinity Groups

Affinity Groups allow the customer user or administrator to influence if instances should run on the same host or different hosts in the underlying infrastructure. This feature allows Users to specify the affinity group to which an Instance should belong and operate under.

  • Instances with an “Anti-Affinity” group will not live on the same host.
  • Instances with an “Affinity” group will live on the same host.

Affinity Groups are defined at the Account level.

Affinity Groups can be attached to Instances when they are created. Affinity Groups can also be changed on Instances from existing Instances, but the Instance must be stopped before the Affinity Group can be changed.

Create New Group

  1. To create a new Affinity Group, log into the CloudStack with an account that has the permissions to add Affinity Groups.
  2. From the main menu, choose Compute > Affinity Groups.
  3. Click on Add new Affinity Group
  4. A dialog box will pop up. Fill out the name of the group, the description, and then the type.

Add during Instance Creation

  1. During Instance creation, one of the advanced options is to assign an Instance to an Affinity Group. Entering the Advanced Options menu will allow the Instance to be added to the Affinity Group upon completion.
  2. Once the Instance is created, it will belong to the Affinity Group assigned to it.
  3. The Instance will show what affinity group it belongs to in the Instance details.

Add/Change Existing Instances

  1. To use new Affinity Groups on existing instances, the instance must be stopped first.
  2. From the CloudStack main page, click on Compute > Instances
  3. Click on the Instance name to go into the Instance details.
  4. On the Instance menu screen, select the Stop Instance button.
  5. A dialog box will come up asking to confirm. Clicking OK will start the process.
  6. Once the Instance is shut down, the option Change Affinity will appear on the list of options in the upper right.
  7. Click on this button to bring up a list of affinity groups. Select the one that should be added to the Instance and click Ok.
  8. Once the Affinity Group has been set, the Instance will reflect that new assignment.
  9. The Instance can then be started again.

View Members

  1. The Affinity Groups themselves list which Instances are assigned to them in the CloudStack Portal.
  2. Click on Compute > Affinity Groups.
  3. Click on the Affinity Group name to bring up its details.
  4. Inside of the Affinity Group window, click on View Instances to see what instances are assigned to the rule.

Delete Group

  1. To remove an affinity group, go to Compute > Affinity Groups.
  2. Select the group to delete by clicking the box next to the group name and then click on the red “Delete” button.
  3. A dialog window will pop up asking for confirmation. Click OK.
  4. All Instances associated with this affinity group will be disassociated after it is deleted.