From DocWiki

Revision as of 15:43, 22 October 2012 by Chricker (Talk | contribs)
Jump to: navigation, search



In the Cisco OpenStack distribution, a build server outside of the OpenStack cluster is used to manage and automate the OpenStack software deployment. This build server primarily functions as a Puppet server for software deployment and configuration management onto the OpenStack cluster, as well as a Cobbler installation server to manage the PXE boot used for rapid bootstrapping of the OpenStack cluster. Once the build server is installed and configured, it is used as an out-of-band automation and management workstation to bring up, control, and reconfigure (if later needed) the nodes of the OpenStack cluster.

Building the environment

Creating a build server

To deploy Cisco OpenStack, first configure a build server. This server has relatively modest hardware requirements: 2 GB RAM, 20 GB storage, Internet connectivity, and a network interface on the same network as the eventual management interfaces of the OpenStack cluster machines are the minimal requirements. This machine can be physical or virtual; eventually a pre-built VM of this server will be provided, but this is not yet available.

Install Ubuntu 12.04 LTS onto this build server. A minimal install with openssh-server is sufficient. Configure the network interface on the OpenStack cluster management segment with a static IP. Also, when partitioning the storage, choose a partitioning scheme which provides at least 15 GB free space under /var, as installation packages and ISO images used to deploy OpenStack will eventually be cached there.

When the installation finishes, log in

Optional: If you have your build server set up behind a non-transparent web proxy, you should export your proxy configuration:

export http_proxy=
export https_proxy=

Replace with whatever is appropriate for your environment.

All should now install any pending security updates:

apt-get update && apt-get dist-upgrade -y

Note: The system may need to be restarted after applying the updates.

Next, install a few additional required packages and their dependencies:

apt-get install -y puppet git

Get the Cisco Edition puppet modules from Cisco's GitHub repository:

git clone --recursive -b folsom ~/cisco-folsom-modules/

Copy the puppet modules from ~/cisco-folsom-modules/modules/ to /etc/puppet/modules/

cp -r ~/cisco-folsom-modules/modules/ /etc/puppet/

Also, get the Cisco Edition example manifests. Under the folsom-manifests GitHub repository you will find different branches, so select the one that matches your topology plans most closely. In the following examples the simple-multi-node branch will be used, which is likely the most common topology:

git clone -b simple-multi-node ~/cisco-folsom-manifests/

Copy the puppet manifests from ~/cisco-folsom-manifests/manifests/ to /etc/puppet/manifests/

cp ~/cisco-folsom-manifests/manifests/* /etc/puppet/manifests

Optional: If your set up is in a private network and your build node will act as a proxy server and NAT gateway for your OpenStack cluster, you need to add the corresponding NAT and forwarding configuration.

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Adjust the network interface specifications as appropriate for your network topology.

Customizing the build server

In the /etc/puppet/manifests directory you will find these three files:


IMPORTANT! You must edit these files. They are fairly well documented internally, but please comment with any questions. You can also read through these descriptions: Cobbler Node and Site

Then ‘puppet apply’ it:

puppet apply -v /etc/puppet/manifests/site.pp

I recommend a reboot at this point, as it seems that the puppetmaster doesn’t restart correctly otherwise.

And now you should be able to load up your cobbled nodes:

./ {node_name}

or if you want to do it for all of the nodes defined in your cobbler-node.pp file:

for n in `cobbler system list`; do $n ; done

note: replace with your nodes proper domain name.

Testing OpenStack

Once the nodes are built, and once puppet runs (watch /var/log/syslog on the cobbler node), you should be able to log into the openstack horizon interface:

http://ip-of-your-control-node/horizon/ user: admin, password: Cisco123 (if you didn’t change the defaults in the site.pp file)

you will still need to log into the console of the control node to load in an image: user: localadmin, password: ubuntu. If you SU to root, there is an openrc auth file in root’s home directory, and you can launch a test file in /tmp/

Rating: 3.5/5 (37 votes cast)

Personal tools