Creating Custom Images
Before getting started, it's highly recommended that you read the OpenStack Image Guide Introduction to get an understanding of the process required to get an image to be OpenStack-ready. OpenStack provides a list of pre-built, prepped images that are all available via our image library and work out of the box on Cloud-A as base images.
If you need to create one from scratch, and cannot start from a base-image. We suggest reviewing the official Custom Images chapter in the OpenStack documentation for full step-by-step examples on creating a new image. We suggest that you start by creating a qcow2 KVM image on your local machine, mount the installation ISO you desire, and configure it as required by OpenStack in the above links -- once ready, you can continue to upload your image as outlined below.
Converting an Existing Disk
There are a few key requirements that we'll overview that are most often snagged on while building these images, and best practises. Full detail can be found in the official examples.
To prepare a Windows server image, most importantly, you'll need to install VirtIO drivers so you're able to connect your disk, and network once it's loaded up. You can download the ISO from the Fedora Project Site to install on your existing VM or hardware. Read more about a full Windows Image build on the official documentation.
Linux servers will have the VirtIO drivers if it's a modern kernel. We highly
suggest installing the "cloud-init" package, which we pre-install on all of our
base image to standardize the boot / initialization process to automatically
configure your server based on your dashboard configurations.
Read more about the full requirements on a Linux server.
Once everything is ready, you can convert the disks to the correct format ( qcow2 ), there are some instructions on the OpenStack Image Guide on using the tool, simply, it can be accomplished with the following command:
qemu-img convert -f <server_disk_format> -O qcow2 server.vdi -o compat=0.10 server.qcow2
Uploading to our Image Server
An example glance upload command would look like this:
glance image-create --name "My Base Image" --disk-format qcow2 --container-format bare --file server.qcow2
If you do run into any challenges or have any questions while creating or converting your image, please reach out to our support team!