First Post! Now, with that out of my system, I’ve found that running the just published OpenStack Private Cloud on bare metal to be a bit out of reach for my homelab. That said, I did find that it runs exceedingly well as a nested hypervisor on ESXi (use the tools I’ve got) and all.
Running OpenStack Private Cloud on ESXi
In order to get the ISO to boot you need to do the following:
- Create an Ubuntu x64 VM
- Assign it some CPUs (plural) and some ram – For All-In-One I’ve found 8gb to work, controller 4gb, compute 8-16gb. However, adjust to suit.
- Then, you need to add the following settings to the VMX file:
vcpu.hotadd = FALSE
hypervisor.cpuid.v0 = FALSE
monitor.virtual_exec = hardware
keyboard.typmaticmindelay = 20000000 - Set the CPU/MMU virtualization to 11:
- You also need to modify the CPUID Mask settings:
Also:
- Finally, on the hypervisor, you need to run:
echo ‘vhv.allow = “TRUE” ‘ >> /etc/vmware/config - Mount the ISO and boot up.
Now, that’s all fine and good for an all-in-one install, but if you really want to get into it with a controller and a few compute nodes… that could get cumbersome and a half. So, I’ve made some PowerCLI magics for you to build do all of the above. First we explain the script, then… then the download link.
Script Configuration
# Config Settings
# Where is the iso
$isoDataStoreName = “ISO”
$isoFileName = “”
# How many compute nodes to build
$numComputeNodes = 5
# vCenterServer, can also be the same as host name below if no vCenter.
# Note: if going directly to ESXi, the host will have to be licensed so the VM creation will work.
$vCenterServer = “”
# Host on which to build the OpenStack nodes
$esxHostName = “”
# Where to store the VMs
$datastoreName = “”
# Memory for the controller & compute nodes
$controllerMemoryMB = 4096
$computeMemoryMB = 8196
Most of these values are self explanatory, however, you will need to fill them in or change them as needed to fit your environment. The script itself can be downloaded form here. You’ll also need PowerCLI installed. You can get that here.
As the script runs, you will need to open a console on each VM and walk through the install, provide IP addresses, etc. (Look for another post soon).
Resources
This would not have happened without help from the following blogs:
- http://virtuallylg.wordpress.com/2011/09/16/nested-vmware-64bit-vms-time-to-run-hyper-v-or-kvm-inside-vmware-esxi5-0-and-workstation-8-0/
- http://communities.vmware.com/message/2095715#2095715
- http://www.virtu-al.net/2009/03/05/setting-mmu-for-your-vms/
- http://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.host.CpuIdInfo.html
- http://professionalvmware.com/2012/08/autolab-automation-uncovered-powershell/
Nice! I have a VMware test environment, and I’ve been wondering how I can dabble with OpenStack using that test environment. Thanks!
Very cool. Just a minor correction, it’s not “OpenStack Private Cloud”, but Rackspace Private Cloud. Rackspace is quite careful with the branding. For one, for it to be able to be called OpenStack it would need to also include the Object Store component, Swift.
Good catch, and it’s been corrected. Thanks!