From DocWiki

Revision as of 15:12, 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 and 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.

You will need a couple additional packages:

apt-get install -y python-software-properties ntp puppet git ipmitool

Get the Cisco Edition packages from the following repo:

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

Copy all the content under ~/folsom/modules/ to /etc/puppet/modules/

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

Get the Cisco Edition example manifests, under the following repo you will find different branches, select the one that matches your topology plans.

git clone -b "simple-multi-node" ~/folsom-manifests/
cp ~/folsom-manifests/manifests/* /etc/puppet/manifests

Optional: If you have your set up behind a proxy, you should export your proxy configuration:

export http_proxy=
export https_proxy=

Optional: If your set up is in a private network and your build node will act as proxy server, 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

Customizing your environment

Under the manifests folder you will find these three files: - site.pp - cobbler-node.pp -

IMPORTANT! You must edit these files. They are fairly well documented, but please comment with 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