Home Rackspace Private Cloud / OpenStack Lab: Part 5

Adding Extra Compute Nodes to Rackspace Private Cloud

The first four of these posts covered setup and installation of my home lab, including the networking, PXE booting Ubuntu and installation of Rackspace Private Cloud. I ended up with 2 Controllers in HA, and 3 Computes.

In this post I show how easy it is to add 2 extra Compute nodes to the lab.

The extra nodes are HP N54L MicroServers. They’re 2.2GHz AMD Turion II machines that come with 250Gb HDD and 2Gb RAM. I add an Integral 4Gb DIMM to each as well as an extra TP-Link NIC:

The first thing to do is prep my network services so I can PXE Boot. This includes adding the new services to DNS and DHCP (static IP assignment from MAC). As I use my QNAP TS-210 ( as my DNS and DHCP service (courtesy of Dnsmasq) I add the following to /etc/hosts on there: openstack6.home.mydomain.co.uk openstack6 openstack7.home.mydomain.co.uk openstack7

I then open up /opt/etc/dnsmasq.conf and add in the static MAC assignment:


After reloading the dnsmasq service (/opt/etc/init.d/S56dnsmasq restart) I’m ready to PXE boot the servers. See this post for details of my PXE Boot setup using the QNAP NAS boxes.

Now that they have Ubuntu installed on the two new servers, openstack6 ( and openstack7 (, as well as having root‘s SSH key setup, I first check that the networking is setup correctly on the new servers. The /etc/network/interfaces should have the following contents:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

# Host/Management
auto eth0
iface eth0 inet dhcp

# Neutron Provider interface
auto eth1
iface eth1 inet manual
  up ip link set $IFACE up
  down ip link set $IFACE down

Bootstrap, assign role, chef-client, done!

With that in place, I can now bootstrap them with the Chef Client and assign the relevant roles which puts them as part of my OpenStack Compute lab. To do this I log onto my Chef server (running on openstack1) as root and issue the following:

knife bootstrap -E RPCS -r role[single-compute]
knife bootstrap -E RPCS -r role[single-compute]

knife ssh "hostname:openstack6" "ovs-vsctl add-port br-eth1 eth1"
knife ssh "hostname:openstack7" "ovs-vsctl add-port br-eth1 eth1"
knife ssh "role:single-compute" chef-client

And it is that easy!

I execute chef-client on all my computes and not just the new ones. This isn’t strictly necessary to add these new nodes, but it’s good practice to run it to ensure that my computes are consistent.

I can view that my hypervisors (the compute nodes) are correctly available by issuing the following:

. openrc
nova hypervisor-list

This will produce the following output for my lab:

root@openstack1:~# nova hypervisor-list
| ID | Hypervisor hostname            |
| 1  | openstack5.home.mydomain.co.uk |
| 3  | openstack3.home.mydomain.co.uk |
| 5  | openstack4.home.mydomain.co.uk |
| 7  | openstack6.home.mydomain.co.uk |
| 8  | openstack7.home.mydomain.co.uk |

Tagged: , , , , , , , , ,

One thought on “Home Rackspace Private Cloud / OpenStack Lab: Part 5

  1. […] Lab Part 5: Adding extra compute nodes to Rackspace Private Cloud […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: