OpenStack:Folsom-All-in-One
From DocWiki
| 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. 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. 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 && apt-get dist-upgrade -y && apt-get install puppet git -y</pre> | + | <pre># apt-get update && apt-get dist-upgrade -y && 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> | + | <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> |
| - | 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: | + | 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) | + | *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,} | + | <pre># cp /etc/puppet/manifests/site.pp{.example,}<u></u> |
# 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.