Nesting OpenStack in OpenStack

I heard you liked Cloud, so we put some cloud in your cloud… well, you get where that is going. Basically, nesting OpenStack inside OpenStack has some interesting use cases for development. That is, if you are running DevStack on the Rackspace OpenCloud, or if your project is a bit more sensitive and you are running a Private OpenStack install and need to test OpenStack within that. Maybe it’s part of your continuous integration pipeline… whatever the reason, nesting OpenStack in OpenStack is actually quite straight forward.

My setup: To start, I am running the Rackspace Private Cloud distro (Folsom based) in VMware Fusion per the guide here. I am sure however, it’s simple enough to start with DevStack or some other flavor of choice as well.

From there:

  1. Create an Ubuntu 12.04 image
  2. apt-get update && apt-get dist-upgrade -y
  3. sudo apt-get install -y git python-netaddr
  4. git clone https://github.com/openstack-dev/devstack.git
  5. cd devstack
  6. cat<<LOCALRC | tee localrc
    FIXED_RANGE=192.168.20.0/24
    MYSQL_PASSWORD=mysqlsekret
    RABBIT_PASSWORD=rabbitsekret
    SERVICE_TOKEN=servicesekret
    SERVICE_PASSWORD=topsekret
    ADMIN_PASSWORD=admin
    LOCALRC
  7. ./stack.sh

Note: Step 6 should pasted whole, no additional breaks, etc.

Finally, rather than bind a floating IP to the instance, I SSH tunneled to get the Horizon dashboard:

Outer OpenStack:
image

Inner OpenStack:
image

Attribution: https://gist.github.com/3969250 < This helped with the devstack setup for me.