Creating New Instances

This guide explains how to create a virtual machine (VM) using Radiant’s Horizon OpenStack Dashboard. There is also a description of how to access your new VM and how to mount persistent storage volumes.

Creating a VM

  1. In the Details tab:

    • Name your instance.

    • For Availability Zone make sure “nova” is selected (unless you are creating an instance with a GPU).

    Launch Instance pop-up window with the Details tab selected that includes the 'Instance Name' field.
  2. In the Source tab:

    • Select the base OS and where to run.

      The create new volume option defaults to “Yes”. This will count against your flash storage quota as well as take up one of your volumes. This is good if you want your data to persist after you tell OpenStack to delete your instance.

      • If you create a new volume you can pick the size of the volume.

      • If you select “No”, it will use the default size for the Flavor (see step 3).

    • You also need to select the base image you want to start with. (The list of available images might change over time.)

    Launch Instance pop-up window with the Source tab selected.
  3. In the Flavor tab, select the flavor. (The list of available flavors may change over time).

    • If you select a flavor that will use too many resources, you will see a yellow exclamation mark (!) next to it.

    • If you selected “No” for the create new volume option in the Source tab, the volume will be the same size as the root disk.

    Launch Instance pop-up window with the Flavor tab selected.
  4. In the Networks tab, select the network.

    You may see a few network options to choose from. Look for a network that is <project_name>-net, for example bbdf-net, where bbdf is the name of your project.

    Warning

    Don’t pick ext-net; if you do, your instance will fail to be created.

    By default, the <projectname>-net network does not allow for external connections. Only other hosts on that same network will be able to reach this machine. This is fine for a host that only needs to be reachable from other hosts within your network.

    If you need to set up a host that is reachable from outside your network, you will need to associate a floating IP address to your instance. This is set up after an instance is created (see Assigning a Floating IP to your Instance).

    Launch Instance pop-up window with Networks tab selected.
  5. The Network Ports tab can be left unmodified.

  6. The Security Groups tab allows you to allocate additional security groups. It is good to add remote SSH to allow you to SSH to the host.

    If a port is not opened in the security group, you will not be able to reach that host on that port. This is basically a firewall that blocks all incoming traffic by default.

    Launch Instance pop-up window with the Security Groups tab selected.
  7. In the Key Pair tab, select an existing key pair or create a new one.

    If you do not select a key pair, you will not be able to SSH into this machine. The default behavior for most base images is to not have a user with a password.

    See Did you use the correct username? for a list of common usernames for each image.

    If you create a new key, make sure to copy the private key and save it to disk. It’s best to save it as .pem file on your workstation/laptop; your OS may add extra formatting if you give it a different extension. Save it in a path where you will have easy access for your later SSH sessions.

    Warning

    Don’t lose this .pem file or you will have to start your VM instance again, from scratch.

    Create Key Pair pop-up window.
    Launch Instance pop-up window with the Key Pair tab selected.
  8. The Configuration tab allows you to configure the new machine on boot. You can use this to install programs or do anything else on first boot.

    Warning

    You need to check the Configuration Drive box. The default is for it to be unchecked. If you leave it unchecked, your key and/or startup script will not work.

    Launch Instance pop-up window with Configuration tab selected.
  9. The Server Groups, Scheduler Hints, and Metadata tabs can be left unmodified.

  10. Click the Launch Instance button to launch your instance. It should be ready in a few minutes; you can see it listed in the dashboard under Instances.

Assigning a Floating IP to your Instance (Optional)

If your instance needs to be reachable from the internet, you need to assign a floating IP address to it. Otherwise, you can skip this section.

  1. Locate your instance in the list and click the down arrow button in the actions column.

  2. From the drop-down list select Associate Floating IP.

  3. From the IP Address selection box, pick an available IP. This will be the floating IP for your instance.

  4. For Port to be associated you can usually leave the default, but if you have multiple interfaces you can select the appropriate port.

  5. Click the Associate button.

Accessing your Instance

Once the instance is active and running, you should be able to SSH to it. To do this, you’ll need the IP address, username, and key.

ssh -i test.pem centos@IP_ADDRESS
  • IP_ADDRESS is the IP address assigned to your instance.

    • If you assigned a floating IP, use that when you SSH from an external host.

    • If you SSH from a host on your project’s own network, you can use the IP assigned on the project interface.

  • test.pem is the key you saved

  • centos is the username. Depending on the OS you picked this may be different, see Did you use the correct username? for a list of common usernames for each image.

If you get an error that the permissions on the key are too open, you can change them using chmod 600.

Running in the System

If you want to use more disk space, first make sure you mount in Taiga bulk storage. Each instance only has 40GB of storage that is primarily used for the OS.

You can mount additional Taiga Bulk storage via NFS using:

mount -t nfs taiga-nfs.ncsa.illinois.edu:/taiga/ncsa/radiant/bbXX /mnt/point
  • bbXX is your unique Radiant project code

  • /mnt/point is the target mount path

This will make your bulk storage space available on your machine. There will be a few minutes between when your machine boots and when the space can be mounted.

Change your Root Password

Once you’re able to log in remotely as root, be sure to change the root password on your instance. This allows you to access your instance’s console via the web interface if you can’t SSH in later.

# Ensure that you create a secure password and that you save it in an appropriate password manager
sudo passwd

Troubleshooting

Trouble Accessing Systems

Did you add “remote SSH” as a security group?

If not, add the group to the instance in the Security Groups tab.

Does the SSH attempt state that the key is an “invalid format”?

The .pem file must contain no extra characters or line breaks in a text editor, it should look like this:

-----BEGIN RSA PRIVATE KEY-----

MIIEowIBAAKCAQEAmN7qws0+gxKKczyFkkngz+uoAzmcHm5HTLvuOz8OatQhAlG1

EzqjI9IDKTZtM7lhvj+6lwCeieLqn8J6Y5/T25k8nLb8pufJvXgtfl8b4gv/Y/KX

ULfHhVNE+qzl95FmkaJwxe5TFtWvlpDRxdOgCfKrLvgaWI+vrUXfhfmsl6YRHHLb

UrnH/vyo3/m6T1rspNdFgCwXy4elLBEVuAqj4uxqkBNDKGeeAuBJ5dBxMJaD+aWZ

dz3GejoXWJ1MvGAjmZ/oQghgvmz18grpw6OeVx1CTlQ2KoRyaOUW8cCum5BYQv9v

zX2KDw1PCHdZKZeAZq9Qia98mlvEPdpaN+0dIQIDAQABAoIBAQCKOg62hBWBOTOd

TV1N0KWJ/ADYoa/ryDWKSef5BGRJ7nPGgBEmSQAYtJ4NFtyZR4f9Gezi+zlfXqJe

QOCf0nYje6TV45QCa1X8j307Zk51D/om6sUtxG+Ru6CEte/e8kd3ahVks8HHxQJX

N62mnlt4g0eMWeSgrZPhLmwV3ZPVLntCUIqiEVYmfSMAmuSruNXKTt3JEYCy7wbo

e0+HBHem16l1v+ADf8vKs3wfQ6L7jSXK9ihN4EFFbb+MxQXZCFCWMZMfWkpV7qZw

UiYjjnLz97fF1d38IJCgZJ/qJTHuIoAxbA2pckXQCT+ttrFdjMo6lsKC5iZ7xcBO

ryHN97ZtAoGBAMiPWLUWMfn9+kXKTYXBmm8gRqRQsHB0KIgQmo1oZW1lQMRsc4Ys

WiWWRYfkup8x+cp+S8TUxfe7LWsjWa718q9QE8g9wLvLypm16WkxnQsCTz/yW7QG

HP33G8zq+FLrncdXN7/77gYNAQJ56ZksOjMl9NQgHP4roOazmQ1ltWrHAoGBAMMg

1smbuORi/8M+vT4EJx5oXYgz/eun+/lpv9xE7oZmubw5wzuGY5sjREWVnxnNFkIV

rfHNorI0jc6JeeG4WivcJ7fDE3bTiNKz8JJbcavAIxNpjNQO9QkxCWjtt6k0TE8K

gvasYxrQb8pSR3nSqis31WY2mg+W/u5nTeHW/BDXAoGAAl5fB9R5RqCPQh+/hqLg

tgtFik9BpjJZADJiAOWIvSADAc7eFmmTrvn1XEOBSLwIXTHcpzh0Fhbp1GgYeQ6C

jTt+4FCKZC1l+SbC2PEzD5w5X2H3X0rrMLyoYWUtBZ2uwVnwWJ4bE4s3xdW2wo5Z

KZ17JL40WXQedFsOpa/b0qUCgYAVtH9v6ayFayW8GCyAy4F2dnGBBxeFsSfsNIEt

BVXrCV47u8klw+sshJ3Bh8Us341MSJESxqcEX6gug0hVfWY6XsDkRgTSQPGFTpLC

FP3t9u9v51vM8uT64sODMn4tii261RaATeiwQONOhByDRpW7PPi15/j3Jvqwljkp

l/pt/QKBgFTlbV9jkl7Pke4NC+yCrhe79qTvJrLJ8hFJwnw+zGdrlG2tyWK6J7Ar

lSPGPMYLo7ExA2J4JxsNes1PVHpXiXIelHUsiQQDaz/RBzMJgpds3M1MU5Nl0HtW

r9M2paxYkiUqsM5ojDktjB0IpxNG4mWzL07D4MW4YzxCbRWU/kA6

-----END RSA PRIVATE KEY-----

Did you use the correct username?

Common Usernames

OS

Username

CentOS

centos

Ubuntu

ubuntu

CoreOS

core

RedHat

cloud-user

Rocky

rocky/cloud-user

Trouble in the System

Are you out of disk space?

Make sure to mount Taiga storage for all your data. You only have a small amount of root storage.