This short post is for all OpenStack users or administrators who like to use tiny base images to test the functionality of their OpenStack environment. I really like the very small CirrOS image, it allows you to launch instances very quickly to test basic functionality of your image, network and compute services.
But unfortunately not all of the available images are suitable for OpenStack. Some of them don’t have a (readable?) partition table which makes it very unlikely that it will boot successfully. Just check the raw image for an existing partition table before you upload it to Glance.
Just recently I wanted to test the latest release of CirrOS:
test:~ # fdisk -l Downloads/cirros-0.4.0~pre1-i386-disk.img Disk Downloads/cirros-0.4.0~pre1-i386-disk.img: 11.6 MiB, 12139008 bytes, 23709 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
This image didn’t work in my OpenStack cloud, so I had to use an old CirrOS image:
test:~ # fdisk -l Downloads/cirros Disk Downloads/cirros: 39.2 MiB, 41126400 bytes, 80325 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type Downloads/cirros1 * 16065 80324 64260 31.4M 83 Linux
This image was uploaded to our OpenStack cloud about two years ago and works perfectly fine, but unfortunately I can’t tell you the exact version. It was downloaded from Glance to show you the partition table, and that’s also the reason why this image is a little bigger than cirros-0.4.0.
So be aware of this if you can’t launch instances.