Discussion on the state of cloud computing and open source software that helps build, manage, and deliver everything-as-a-service.
Running CloudStack in a virtualized environment
There are situations, such as training environment, in which it's desirable to run CloudStack in a virtualized environment. If you read the official documentation you'll see that you must have hypervisor hosts with hardware virtualization. However there are some nifty workarounds that you can use to setup a CloudStack environment all within a virtualized environment, such as your laptop. Obviously you wouldn't want to run it in production this way, but there are a number of realistic use cases where it makes sense.
I should note up front, that this doesn't work with all hypervisors, some of which only work with hardware virtualization, however it does at least work for XenServer. Also, you won't be able to install any OS as a virtual machine, you'll essentially be limited to Linux distros that support Xen paravirtualization, which thankfully is most of them.
You of course provision a virtual machine to act as your management server, database, secondary and primary storage. But then also provision additional virtual machines to act as XenServer hosts. Once you've installed all your virtual machines, but before you attempt to add the first hypervisor to your CloudStack environment, you'll need to login to your database and run the following commands: