OpenStack Images can take several forms, but generally an image consists of a static copy of a virtual machine with an operating system with some amount of storage. Each project starts out with a few base Linux and Windows images from which instances can be created. Images can also be created or uploaded to OpenStack, and then used to launch instances.

Available Images

In OpenStack, there are several stock images from which you can easily launch new instances. Typically you will want to create an instance from one of these stock images. You can view the available images (once logged in by going to the "Images" tab in the Web Interface.

You would only need to create/upload your own image if you are unhappy with the stock images available, or if you would like to make an image from one of your current instances (to easily launch new instances with the same software and data). Currently, we have images for:

Creating an Image

This section details how to create images from existing resources such as instances and volumes. If you are looking to create an image from some other source, see the Upload an Image section.

From an Instance

Snapshots in OpenStack can be used like images, so the simplest way to create an image from an instance is to create a snapshot:

  1. Shut Off the instance by selecting "Shut Off Instance" for the instance from the Instances tab
  2. Create a snapshot of the instance by selecting "Create Snapshot" for the instance
  3. You will have to give the snapshot a name (this will be the name of your image)
  4. Wait for the snapshot to finish being created, and it will show up on the Images tab

You can now launch new instances or create a volume from the snapshot.

Note: You should not take a snapshot of a file system that's mounted. You will lose all the info that's still in Linux's write cache. So if you want to take a snapshot of the root file system, the OS cannot be running.

From a Volume

Create an image from the volume:

  1. Select "Upload Volume to Image" for the volume from the Volumes tab
  2. Give the image a name and select "Upload"
  3. Wait for the image to finish being created, and it will show up on the Images tab

You can now launch new instances from the image.

If you have a volume snapshot that you would like to create an image from, create a volume from the snapshot, then follow the above steps.

Upload an Image

Images can be uploaded if you already have an image file that you would like to use. For example, if you are unsatisfied with the stock image options available on Red Cloud, you can Get Images from elsewhere. Images can be uploaded via the Web Interface:

  1. Go to the Images tab
  2. Select the "Create Image" option
  3. Give the image a name
  4. Select the file of the source image to upload
  5. Select "Raw" for the Format
  6. Optional: Select "Yes" under Protected to ensure that the image cannot be changed or deleted accidentally (this setting can be changed later)
  7. Select "Create Image"

Delete an Image

Users can delete images that were created in the current project using the Horizon web interface. However, an image cannot be deleted if any volumes created from it still exist. When an instance is created from an image, a volume is created from the image for that instance. When an instance is deleted, its volume may remain and block the deletion of the image from which it was created. The default Horizon behavior is to not delete such underlying volumes along with their owning instance, but this can be overridden during instance creation.

If your attempt to delete an image fails, check for existing instances that were created from it. If you find such instances and want to delete them, first look at each instance's details and record the ID of its volume. After deleting an instance, check the project's list of volumes to see if the instance's volume still exists and delete it if necessary. A volume that was orphaned when its parent instance was deleted can still be identified by checking its detail page, where its source image (if any) will be listed.

Share an Image

See Share an Image in OpenStack