Getting Started with VMware vSphere OpenStack Virtual Appliance
VMware has been getting involved with the OpenStack project over the last couple of years. They’ve created Hands On Labs geared towards OpenStack as well as creating the VOVA virtual appliance to make it easier for VMware administrators to get started with OpenStack. The VOVA appliance is not meant to be used in production. It is only a proof-of-concept appliance. It will allow VMware admins to deploy private clouds within their environments, though, and will give them insight into the OpenStack environment via vCenter. For more information see the OpenStack page on the VMware Developer Center site.
There are several pre-requisites and restrictions you’ll need to consider before you go ahead and deploy the VOVA appliance:
- First of all you should be working with VMware vCenter 5.1 and higher.
- DRS should be turned on and fully automated. This makes sense as you might be deploying several VMs to create your private cloud. You would want these to be dispersed among all of your ESXi hosts.
- You must use only one shared datastore in the current version of the appliance. This is a pretty significant limitation and a little hard to swallow for a VMware admin, but keep in mind this is not meant for production environments.
- You must have a network called “VM Network” from which you can access vCenter.
Now you need to configure the firewall on the hosts to allow for VNC connections from the OpenStack appliance. We can do this in the vCenter Web Client by clicking on a host to highlight it. Click on the Manage tab and then select Security Profile on the left. A simple way to do this is by clicking on the Edit button next to firewall and then selecting the gdbserver option. This will open all the connections we need to make our environment work.
You also need to create a private network/port group called “br100” which will be accessible by all the hosts. Make sure there is no DHCP on this network and that it is a private VLAN. In the web client we can do this by highlighting each host and clicking on Manage. Then click on Networking and select the “Add Host Network” icon. Select the Virtual Machine Port Group for a Standard Switch option and click Next. Click Next through the rest of the wizard, but make sure to specify the name “br100” and specify the VLAN you’d like to use.
Once we’re ready to deploy the appliance we must pick an appropriate host to deploy it on. VMware recommends putting it on a host that is not in the same cluster as the hosts you’ll be using with OpenStack. In newer versions of the VOVA appliance this will contribute to the ability of being able to manage multiple clusters. However, that host must have the same networking that your other hosts have.
Once that’s set up we can download the OVF file from here, listed in the VOVA manual. Then deploy the OVF from vCenter and specify the proper networking for it in the wizard. In the manual it’s also recommended that you use thin provisioning for the storage. On a side note I ran into some issues deploying the downloaded OVA as well as deploying it from the URL. I ended up having to pull the OVF file out and deploy that. Please see this KB article for more information.
As shown in the figure below, the wizard asks for network information as well as the Datacenter, Cluster, and Datastore information. These will be the Datacenter, Cluster, and Datastore associated with the OpenStack cluster, not necessarily where you have the VOVA appliance.
When the deployment finishes the console will show us the IP address by which we can get to both the OpenStack Dashboard as well as the management address. At this point the VOVA appliance is fully deployed and we can jump into using OpenStack.
Open a browser and go to the address shown on the console. Login using the default username and password (U: demo/P: vmware) and you’re shown the following dashboard.
As shown in the picture you have some restrictions with this version. You only get up to 10 instances, 20 vCPUs, 512GB RAM, 10 IPs, and 10 security groups. In OpenStack an Instance is actually a VM that runs within the cloud. Security Groups are what you can assign VMs to in order to apply certain connectivity rules. For instance, if you want to give a user http access to a VM then you’ll need to open port 22 in the security group and assign the VM to that security group.
Let’s take a look at the rest of the Dashboard. The above picture shows the Overview. Below that is the Instances tab which shows the Instance, which Image it’s using, and other information like size, keypair, power state, and uptime. An image, in this case, is actually what you use to create an instance. So it basically gives you an operating system as well as some user defined settings. In order to create an instance we’ll need to make sure we have volumes, images, and security set up.
Below the Instances tab is the Volumes tab. This is almost akin to what a datastore is in VMware. We need to create a volume to put a VM on. This volume will come from the datastore we specified during the deployment process. Click on Create Volume.
The Images & Snapshots tab. The Images, as described earlier, are what we create instances from. The snapshots in this case are actually snapshots of the volume, not of the image or instance. VOVA comes with a default Linux image called Debian (named after the Linux distro from which it’s created). We can use this image to create an instance or create other images by clicking on the Create Image button.
Finally we get to the Access & Security tab. Under this tab you can create the aforementioned Security Groups and keypairs, we can also add IP pools, and finally add API access. There is a default security group but we can add more if we like.
Keypairs, as shown in the description in the picture above, is necessary for allowing SSH access to an instance.
After we’ve configured all of that you can finally go back to your Instances tab and click on the Launch Instance button. You can create the instance from an image or a volume snapshot. You can select the Flavor which specifies how big your VM will be. This is often referred to as a t-shirt size system, which ranges from Tiny to Large. The details will be listed on the right.
Again, the VOVA appliance is not even close to something you’d want to put into production. You only get 10 instances to play with anyway. However, you get to check out OpenStack in a really quick way. The HoL (Hands on Lab) will most likely be more up to date, so that might be even more worth checking out. However, by using the appliance you can let others check out and use OpenStack. For more information check out the OpenStack documentation here.
You can also specify which keypair to use, which volume from which to boot, as well as add some scripting if you would like to automatically have it do something like join a domain after the VM is provisioned. Anything you can script you should be able to add under the Post-Creation tab. Think of the automation possibilities with that alone.
As I’ve said many times earlier. This is a good way to familiarize yourself with the OpenStack concept, especially if you’re a VMware admin. In fact, anything found in the VMware Development Center will be advantageous to continuing your virtualization career. If you have any questions, please feel free to ping me in a comment or tweet me @Malhoit.