OpenStack:Folsom-Multinode

From DocWiki

(Difference between revisions)
Jump to: navigation, search
m (Building the environment)
m (Creating a build server)
Line 7: Line 7:
=== Creating a build server ===
=== 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.
+
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.
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:
+
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:
 +
 
 +
<pre>export http_proxy=http://proxy.esl.cisco.com:80
 +
export https_proxy=https://proxy.esl.cisco.com:80</pre>
 +
''Replace proxy.es1.cisco.com:80 with whatever is appropriate for your environment.
 +
 
 +
All should now install any pending security updates:
<pre>apt-get update && apt-get dist-upgrade -y</pre>
<pre>apt-get update && apt-get dist-upgrade -y</pre>
-
Note: The system may need to be restarted after applying the updates.
+
''Note: The system may need to be restarted after applying the updates.
-
You will need a couple additional packages:
+
Next, install a few additional required packages and their dependencies:
-
<pre>apt-get install -y python-software-properties ntp puppet git ipmitool</pre>
+
<pre>apt-get install -y puppet git</pre>
-
Get the Cisco Edition packages from the following repo:
+
-
<pre>git clone --recursive -b folsom https://github.com/CiscoSystems/puppet-root.git ~/folsom/</pre>
+
Get the Cisco Edition puppet modules from Cisco's GitHub repository:
-
Copy all the content under ~/folsom/modules/ to /etc/puppet/modules/
+
-
<pre>cp -r ~/folsom/modules/ /etc/puppet/</pre>
+
<pre>git clone --recursive -b folsom https://github.com/CiscoSystems/puppet-root ~/cisco-folsom-modules/</pre>
-
Get the Cisco Edition example manifests, under the following repo you will find different branches, select the one that matches your topology plans.
+
-
<pre>git clone -b "simple-multi-node" https://github.com/CiscoSystems/folsom-manifests ~/folsom-manifests/</pre>
+
Copy the puppet modules from ~/cisco-folsom-modules/modules/ to /etc/puppet/modules/  
-
<pre>cp ~/folsom-manifests/manifests/* /etc/puppet/manifests</pre>
+
-
Optional: If you have your set up behind a proxy, you should export your proxy configuration:
+
<pre>cp -r ~/cisco-folsom-modules/modules/ /etc/puppet/</pre>
-
<pre>export http_proxy=http://proxy.esl.cisco.com:80
+
Also, get the Cisco Edition example manifests. Under the [https://github.com/CiscoSystems/folsom-manifests 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:
-
export https_proxy=https://proxy.esl.cisco.com:80</pre>
+
 
-
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.
+
<pre>git clone -b simple-multi-node https://github.com/CiscoSystems/folsom-manifests ~/cisco-folsom-manifests/</pre>
 +
 
 +
Copy the puppet manifests from ~/cisco-folsom-manifests/manifests/ to /etc/puppet/manifests/
 +
 
 +
<pre>cp ~/cisco-folsom-manifests/manifests/* /etc/puppet/manifests</pre>
 +
 
 +
''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.
<pre>iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
<pre>iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

Revision as of 15:35, 22 October 2012

Contents

Overview

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=http://proxy.esl.cisco.com:80
export https_proxy=https://proxy.esl.cisco.com:80

Replace proxy.es1.cisco.com:80 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 https://github.com/CiscoSystems/puppet-root ~/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 https://github.com/CiscoSystems/folsom-manifests ~/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

Customizing your environment

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

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:

./clean_node.sh {node_name} example.com

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 clean_node.sh $n example.com ; done

note: replace example.com 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/nova_test.sh.

Rating: 3.5/5 (37 votes cast)

Personal tools