OpenStack:Folsom-All-in-One

From DocWiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
== Deployment Overview  ==
== Deployment Overview  ==
-
'''THIS DOCUMENT IS A WORK IN PROGRESS.'''
+
 
 +
'''THIS DOCUMENT IS A WORK IN PROGRESS.'''  
The All-in-One method of deploying OpenStack will give the user a functional OpenStack environment with the current general deployment components based on the Cisco Edition model. &nbsp;Currently, this deployment model includes:<br>  
The All-in-One method of deploying OpenStack will give the user a functional OpenStack environment with the current general deployment components based on the Cisco Edition model. &nbsp;Currently, this deployment model includes:<br>  
Line 30: Line 31:
*A single network interface, preferably with an open CIDR subnet attached (e.g. 192.168.100.1/26)
*A single network interface, preferably with an open CIDR subnet attached (e.g. 192.168.100.1/26)
-
== Deployment Steps ==
+
== Deployment Steps ==
-
1. Install Ubuntu 12.04.1 x86_64 Server operating system
+
1. Install Ubuntu 12.04.1 x86_64 Server operating system  
-
*Follow the standard install process, selecting the defaults
+
*Follow the standard install process, selecting the defaults  
-
*Install at least OpenSSH-server
+
*Install at least OpenSSH-server  
*We have tested principally with the disk in LVM mode
*We have tested principally with the disk in LVM mode
-
2. Install additional prerequisite packages:
+
2. Install additional prerequisite packages:  
*puppet, git
*puppet, git
-
Become root
+
Become root  
-
<pre>$ sudo -H bash</pre>
+
<pre>$ sudo -H bash</pre>  
-
Install packages
+
Install packages  
-
<pre># apt-get update &amp;&amp; apt-get dist-upgrade -y &amp;&amp; apt-get install puppet git -y</pre>
+
<pre># apt-get update &amp;&amp; apt-get dist-upgrade -y &amp;&amp; apt-get install puppet git -y</pre>  
-
Now, clone the puppet baseline code that will help bring in the rest of the system.
+
Now, clone the puppet baseline code that will help bring in the rest of the system.  
<pre># git clone https://github.com/robertstarmer/folsom-manifests -b all-in-one all-in-one-manifests
<pre># git clone https://github.com/robertstarmer/folsom-manifests -b all-in-one all-in-one-manifests
# cp all-in-one-manifests/manifests/* /etc/puppet/manifests/
# cp all-in-one-manifests/manifests/* /etc/puppet/manifests/
-
</pre>
+
</pre>  
-
Now grab the rest of the puppet code:
+
Now grab the rest of the puppet code:  
-
<pre># cd /etc/puppet/manifests; ./puppet-modules.sh</pre>
+
<pre># cd /etc/puppet/manifests; ./puppet-modules.sh</pre>  
-
Next we need to resolve a few "glitches" in the current code:
+
Next we need to resolve a few "glitches" in the current code:  
-
<pre><span style="line-height: 1.5em;"># for n in nova quantum openstack horizon; do</span> # rm -rf /etc/puppet/modules/$n # git clone -b folsom https://github.com/robertstarmer/puppet-$n /etc/puppet/modules/$n<br></pre>
+
<pre>&lt;span style="line-height: 1.5em;"&gt;# for n in nova quantum openstack horizon; do&lt;/span&gt; # rm -rf /etc/puppet/modules/$n # git clone -b folsom https://github.com/robertstarmer/puppet-$n /etc/puppet/modules/$n&lt;br&gt;</pre>  
-
Now. &nbsp;You will need to edit the sample site.pp to meet your specific site. &nbsp;This should require changing only a very small number of parameters:
+
Now. &nbsp;You will need to edit the sample site.pp to meet your specific site. &nbsp;This should require changing only a very small number of parameters:  
-
*node hostname (recommend something with "aio" in the name)
+
*node hostname (recommend something with "aio" in the name)  
-
*public IP address
+
*public IP address  
*upstream ntp server
*upstream ntp server
-
<pre># cp /etc/puppet/manifests/site.pp{.example,}<u></u>
+
<pre># cp /etc/puppet/manifests/site.pp{.example,}&lt;u&gt;&lt;/u&gt;
# vi /etc/puppet/manifests/site.pp
# vi /etc/puppet/manifests/site.pp
 +
</pre>
 +
 +
== System Fixes ==
 +
With those steps completed, there are only a few small tweaks that still need to be made to the system before we can launch the puppet.
 +
1. Because we are going to set up Open Virtual Switch as a part of the deployment, and because we are going to only leverage a single interface, we will need to modify the network interfaces file. this may be resolved in a future deployment model, but today, this is a part of the basic setup:
 +
 +
<pre># vi /etc/network/interfaces
 +
</pre>
 +
 +
the simplest way to fix this file is to copy the two lines for your primary interface (often this is eth0), and paste them back in.
 +
 +
An example before:
 +
 +
</pre>auto eth0
 +
iface eth0 inet static
 +
  address 1.2.3.4
 +
  netmask 1.0.0.0
 +
  dns-...
 +
  etc.
 +
</pre>
 +
 +
An example after:
 +
 +
<pre>auto eth0
 +
iface eth0 inet static
 +
  address 0.0.0.0
 +
 +
auto br-ex
 +
iface br-ex inet static
 +
  address 1.2.3.4
 +
  netmask 1.0.0.0
 +
  dns-...
 +
  etc.
</pre>
</pre>

Revision as of 09:16, 21 February 2013

Contents

Deployment Overview

THIS DOCUMENT IS A WORK IN PROGRESS.

The All-in-One method of deploying OpenStack will give the user a functional OpenStack environment with the current general deployment components based on the Cisco Edition model.  Currently, this deployment model includes:

  • Nova
  • Glance
  • Keystone
  • Quantum
  • Nova-Volume
  • Horizon

It does not include:

  • Cinder
  • Swift
  • Other incubation Projects

It does include a subset of non incubated but still useful tools:

  • Nagios
  • Collectd/Monitd

Deployment Prerequisites

You should already have a single machine on which to build your openstack environment, and it should have access to the public internet (though it is not a requirement for the public internet to have access to the machine).  This machine can be a physical system, or a virtual instance. You should have ~30GB of Free disk space, and you will likley want at least 4GB of RAM, though more is almost always better.  It is also a requirement currently that you run Ubuntu 12.04.01 though 32 or 64 bit should not make a difference (we've tested exclusively on 64 bit OSs).  It may also be possible to leverage Ubuntu Server 12.10 or a RedHat variant (RHEL/RHEV 6.3, Fedora 17, Centos 6.3), but these have not been tested.  As this system will use a single interface, the upstream network is not particularly critical, though it is certainly easier to work with the system if there is a consistent CIRD subnet IPv4 address block availalble.  IPv6 _should_ also function, but has not been tested in the current system.

  • x86 class server or virtual machine with >=4GB RAM, >=30GB disk
  • Ubunt Server 12.04.1 installed with OpenSsh-server installed
  • A single network interface, preferably with an open CIDR subnet attached (e.g. 192.168.100.1/26)

Deployment Steps

1. Install Ubuntu 12.04.1 x86_64 Server operating system

  • Follow the standard install process, selecting the defaults
  • Install at least OpenSSH-server
  • We have tested principally with the disk in LVM mode

2. Install additional prerequisite packages:

  • puppet, git

Become root

$ sudo -H bash

Install packages

# apt-get update && apt-get dist-upgrade -y && apt-get install puppet git -y

Now, clone the puppet baseline code that will help bring in the rest of the system.

# git clone https://github.com/robertstarmer/folsom-manifests -b all-in-one all-in-one-manifests
# cp all-in-one-manifests/manifests/* /etc/puppet/manifests/

Now grab the rest of the puppet code:

# cd /etc/puppet/manifests; ./puppet-modules.sh

Next we need to resolve a few "glitches" in the current code:

<span style="line-height: 1.5em;"># for n in nova quantum openstack horizon; do</span> # rm -rf /etc/puppet/modules/$n # git clone -b folsom https://github.com/robertstarmer/puppet-$n /etc/puppet/modules/$n<br>

Now.  You will need to edit the sample site.pp to meet your specific site.  This should require changing only a very small number of parameters:

  • node hostname (recommend something with "aio" in the name)
  • public IP address
  • upstream ntp server
# cp /etc/puppet/manifests/site.pp{.example,}<u></u>
# vi /etc/puppet/manifests/site.pp

System Fixes

With those steps completed, there are only a few small tweaks that still need to be made to the system before we can launch the puppet. 1. Because we are going to set up Open Virtual Switch as a part of the deployment, and because we are going to only leverage a single interface, we will need to modify the network interfaces file. this may be resolved in a future deployment model, but today, this is a part of the basic setup:

# vi /etc/network/interfaces

the simplest way to fix this file is to copy the two lines for your primary interface (often this is eth0), and paste them back in.

An example before:

</pre>auto eth0 iface eth0 inet static

  address 1.2.3.4
  netmask 1.0.0.0
  dns-...
  etc.

</pre>

An example after:

auto eth0
iface eth0 inet static
   address 0.0.0.0

auto br-ex
iface br-ex inet static
   address 1.2.3.4
   netmask 1.0.0.0
   dns-...
   etc.

Rating: 5.0/5 (1 vote cast)

Personal tools