Finally after three months of trial and error, lodging numerous posts on VMware Forums, Twitter Tweets, Facebook Posts and Linkedln messages I have finally manage to work out a solution that works for creating Cloud Images ( Ubuntu, Debian, CentOS ) however at the moment I can only get the Ubuntu 14.04 image to work but will be working on the others soon for VMware Integrated OpenStack.
Let me start by providing some background.
Initially I installed Vmware Integrated OpenStack ( VIO ) version 3.0 based on Mitaka and NSX 6.2.3 and mainly used vSphere linked clones which for the past six months worked flawlessly and I was proud to now be a VMware “Stacker”. Three months ago I decided that I need to use the full function of OpenStack and decided to use Linux Cloud images for OpenStack so I can use SSH key injection, image resizing and other features that come with OpenStack. Alas this is where the first of many hurdles came. What I didn’t know at the time was that the cloud images built for OpenStack cannot be used for VIO due to these cloud images being for the KVM hypervisor ( I think ). For months I have perused numerous guides about creating cloud images for VIO but each time I was met with the ‘Operating System Not Found” error when booting the Instance.
After much troubleshooting, changing adapter types, disk types, various image types ( vmdk, ova, iso, raw ) and other meta data it seemed nothing that I tried would allow me to have a functioning VIO with Cloud Images that can be booted just like the usual OpenStack.
After further troubleshooting I manage to get the CirrOS image to boot however the meta data service was not contactable by the instance so now we have a further issue. Rather than mess around with VIO I decided to upgrade VIO to version 3.1 but after getting to the migrate data stage the upgrade failed which left me hugely disappointed as imagine if this was a production install and the upgrade failed, I would be in a world of trouble. So, without further ado I had decided to delete VIO and do a clean install of VIO 3.1 while also upgrading NSX to 6.3.2. For those wondering the NSX upgrade went perfectly however the only issues which seems to be a constant is the update and install of the VXLAN vmk on each host. This in my opinion is something that VMware should look at as in my experience with VMware over a 15 year period I have not come across such an issue that needs to be made much more user friendly…..something for the engineers at VMware to take a look at one day.
Anyway, the install of VIO 3.1 went smoothly and as we already had NSX installed and upgraded we had a fully functioning OpenStack cloud in about 30 minutes. BUT, even though I now have a clean VIO install I still have the issue of the cloud images.
This morning, just 5 hours ago while sitting at my local café eating my usual baked beans, salami and shallots with the compulsory latte, I came across a guide that advised to use the .ova images and then use tar to extra as the .ova is just a compressed .vmdk file.
I downloaded the Ubuntu Trusty OVA Image and then used the ‘tar -xvf Ubuntu-image.ova‘ and then ‘head -20 Ubuntu-image.vmdk‘ which provided the settings I needed to upload into glance. The setting i needed is lsilogic and the streamOptimized as I am using vSAN I think that vSAN only supports stream optimized but I could be mistaken here.
Once uploaded into glance I then booted the instance and injected my ssh key and looking at the VMware console I could see that the instance booted, contact the meta data service and injected my ssh key. I then attached a floating IP and connected to my instance externally….talk about happy times!!
I will post the guide below with the glance commands so hopefully it will help others that want to make the transition to VIO and are having trouble with the Cloud Images. VIO Rocks!!!
Download the Ubuntu .ova file to your controller
unTar the OVA file as shown below:
tar -tvf trusty-server-cloudimg-amd64.ova
Check the image properties and ensure that VMDK file is in a streamOptimized format. The binary file should contain createType=streamOptimized line:
head -20 trusty-server-cloudimg-amd64.disk1.vmdk
Ready to upload your image after scp to your VIO Instance.
# glance image-create –name ubuntu
–disk-format vmdk \
–container- format bare\
–file trusty-server-clouding-amd64-disk1.vmdk \
–visibility public \
–property vmware_disktype=sparse \
—property vmware_ostype=<ubuntu64Guest> \
–property hypervisor_type=vmware \
Below is our actual command when I uploaded into glance.
If you follow the guide above you will have a Ubuntu Image ready to be deployed so now all you need to do is create an Instance and not forgetting to create your SSH Key and enjoy to performance and production ready VMware Integrated OpenStack.
Those wanting the converted Ubuntu 14.04 VMware Integrated OpenStack Cloud Images can download it from here. Customers wishing to try out our 60 seconds cloud instances or pentesting VPS can go to our website and see just how great VIO is for a production cloud environment.