You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Work in progress


If you need to run VMs from an image that is not publicly available, it is possible to upload images on your own. In order to do that, there is a few things you need to know.

  1. As an unprivileged user there is two different access schemes for a new image: Private and Community.
    A private image is, as the name indicates, private to your project only. A community image will be visible and usuable for all cloud users, but they are not visible in the web interface or through the CLI unless you explicitly ask to list the community images. A community image is ideal for a scenario where a course responsible need a custome image to be available for all their students in their own projects.
  2. We only accept two disk formats: raw and qcow2, where we strongly encourage you to use the raw format. The raw format supports "copy-on-write" in our storage backend, which basically means that your VMs root disk will be a snapshot of the original image, which only contains the changes. This makes instance creation "instant", and saves a lot of storage space. This is not possible with qcow2, and with this format, a full copy of the image has to be made for each VM using it. This wastes space, and makes instance creation slow.
  3. A key difference between our publicliy available images and a image that you choose to upload is (or might be, depending on the image) that your image is not necessarily "cloud-ready". In this context "cloud-ready" means:,
    • cloud-init is installed
    • ssh-server / RDP-server is enabled, running, and configured correctly
  4. Your disk file should not exceed 40GB (it can be smaller, no problem), because that is the default root volume size in all our flavors.

If your image is not "cloud-ready", that basically means that all of the usual "magic" won't work. Cloud-init is the service responsible for injecting SSH-keys, resizing disks, setting hostname, processing user-scripts etc. In many scenarios that's OK, i.e if your images has default credentials that you can use. Of course, you still have to ensure some way of doing network communication/interaction with the VMs.

With all that in mind, this is how you upload a image

The CLI way

We assume that you already have basic knowledge of the openstack CLI, explained here.

$ openstack image create --file <disk-file> --disk-format raw --container-format bare [--private|--community] --protected --progress "<Whatever you want to name the image>"


The GUI way

TBA

  • No labels