+++ date = "2015-10-03" draft = true weight = 15 title = "Lab 15 - All In One Lab" +++
This is a project you can do after class, on your own, to hone your OpenStack skills. If you are successful, we would like to hear from you! Notice below that you will need access to a fairly powerful machine. Most people want to create their own OpenStack lab inside of a virutal machine that shows off all the subsystems. We think the AIO (All In One) from https://github.com/openstack/openstack-ansible which is based on linux containers is a great choice for this environment. If you get this working, it will have far more utility than DevStack because the playbooks you will use are the sae ones you would edit to build a complete datacenter.
Here is a good reference: http://docs.openstack.org/developer/openstack-ansible/developer-docs/quickstart-aio.html?highlight=aio
Create an Ubuntu Server 14.04 LTS machine using my specifications if you want to exactly match the steps below:
- Using ESXI server 5.5, 6.0 may work even better, not tested (Yeah, we need an AWS version, but this is really cheap for me since I have this already)
- 16 GB RAM (This may not be enough)
- 200 Gig storage
- 8 CPUs
- Login: ender
- Password: endersgame
- Hostname: openstack
- openstack's IP Address: 10.20.30.40
- Using ESXI 5.5 (or 6.0)
- Virtual machine named: openstack
- Start step 1 with the ubuntu 14.04 VM installed but turned OFF
-
VM is turned off, right? SSH into your ESXI hypervisor
ssh root@xxxx # where xxx is the IP address of your ESXI server, assuming user is root
-
Edit the "openstack" vmx file, where xxxx is the name of the volume to enable nested virtualization.
vi /vmfs/volumes/xxxxxxx/openstack.vmx`
-
Add this line to the bottom of the vmx file
vhv.enable = "TRUE"
-
Save, log out of ESXI SSH session and reboot the VM.
-
Turn on the openstack VM
-
SSH back into your new openstack VM and continue...
screen sudo apt-get update sudo apt-get upgrade sudo apt-get install git ```
-
Add static IP address, see next step for the config
sudo vim /etc/network/interfaces
-
Here is a sample config for the above step
auto eth0 iface eth0 inet static address 192.168.xxx.xxx netmask 255.255.255.0 gateway 192.168.xxx.1 dns-search alta3.com dns-nameservers 192.168.yyy.zzz ```
-
sudo reboot
-
Gen keys
ssh-keygen -t rsa -C "ender@xxxx"
-
Containers DEMAND at least 3.13.0-34 kernel so go get it.
sudo apt-get install linux-image-3.13.0-34-generic
-
Reboot to start the new kernal
sudo reboot ```
-
SNAPSHOT TIME!! Shut the openstack VM down and take a snapshot. You will return to this step MANY times until you get this working.
-
Go get openstack/openstack-ansible
sudo apt-get install git sudo git clone https://github.com/stackforge/os-ansible-deployment /opt/os-ansible-deployment cd /opt/os-ansible-deployment sudo git checkout kilo screen ```
-
SNAPSHOT TIME again!! OK to take ANOTHER snapshot if you trust the previous step. This will shorten your testing cycle when you return to this point for the 50th time :(. Don't give up!
-
Create your all in one (AIO) system with a single line of code.
sudo ./scripts/run-aio-build.sh`
-
Fix all problems, and please let us know what you learn. We will add your fixes to this lab. We will post more bulletproof updates to this lab as we hone the steps. Return to the snaphot and try again. Don't give up, this journey will be tremediously educational.