This document outlines the process of implementing OpenStack on 4 machines each with Intel Core processors, 8GB RAM and Ubuntu 14.04. It discusses OpenStack components like Nova, Glance, Swift etc. Devstack was used to deploy OpenStack which pulls code from git repositories. Procedures included installing components without clustering, LVM, MAAS and Trove. Issues faced included TFTP booting, Wake on LAN, image importing and accessing instances. In conclusion, the team was able to understand OpenStack functionality which was the goal of the project.
3. Machine Configuration
Machine ID pc1
Processor Intel Core i5-3470T CPU @ 2.90GHz x 4
Operating System Ubuntu 14.04 LTS
Operating System Type 64-bit
Disk Size 500 GB
Memory 8 GB
CD / DVD Drive Yes
IP Address Dynamic Allocation
Number of Machines 4
4. Introduction to Cloud Computing
Built on existing technologies such as virtualization and
clustering
A common resource pool
Efficient use of hardware
Three basic service models:
SaaS, software as a service
PaaS, platform as a service
IaaS, infrastructure as a service
5. Introduction to OpenStack
Cloud software stack designed to run on hardware
No proprietary hardware or software requirements
Apache License 2.0
Components of OpenStack are as follows:
Object Store / Swift
Image / Glance
Compute / Nova
Dashboard / Horizon
Identity / Keystone
Network / Quantum
Block Storage / Cinder
7. Devstack
Shell script to build complete OpenStack development environments
Devstack will pull code from the upstream OpenStack git repositories and deploy it on
your host or virtual machine
Who uses Devstack?
Developers to test changes and verify they work in a running OpenStack
deployment
Devstack will run on Fedora 16/17/18 or Ubuntu 11.10 and above and run equally well
either directly on physical hardware or in a virtual machine
Reference - http://devstack.org/
8. Procedures Adopted
Installing all components without clustering
Installing LVM
MAAS
Trove
9. Installing LVM
Logical Volume Management
Includes allocating disks, striping, mirroring and resizing logical volumes
Installation Step
Install lvm2
Set up hard drive partitions
verify the newly created physical volumes
Create Volume Group
Create Logical Volume
Format and Mount the logical volume
Reference - https://help.ubuntu.com/community/UbuntuDesktopLVM
http://www.unixarena.com/2013/08/how-to-install-lvm-on-linux-and-disk.html
10. MAAS (Metal As A Service)
Developed by Canonical.
Used to manage large number of system
Enables easy clustering of the machines
Provides abstraction to overcome Hardware incompatibilities
Deploys services using JuJu
Reference - http://www.ubuntu.com/cloud/tools/maas
11. MAAS (Metal As A Service)
It turns bare metal into an elastic cloud-like resource
Ideal where flexibility of the cloud is required
A system that makes it quick and easy to set up the physical
hardware on which to deploy complex scalable services
Tell MAAS about the machines you want it to manage and it will
boot them
Reference - http://www.ubuntu.com/cloud/tools/maas
13. MAAS (Metal As A Service)
The following were the problems faced during MAAS:
TFTP booting
Wake on LAN
Import of image – Limited bandwidth usage
No GUI on MAAS server
Reference - http://askubuntu.com/questions/481947/maas-unable-to-start-commisioned-nodes
http://maas.ubuntu.com/docs/install.html
http://www.ubuntu.com/support
14. Trove (Redstack)
Trove Installation:
Create a separate user for implementing trove on Ubuntu
Use git command to clone the source files of trove
#git clone https://github.com/openstack/trove.git
Install required python packages
Go to the folder name ‘scripts’ inside trove folder
Execute the command
#./redstack install
We will be provided with a unique password
Reference - https://wiki.openstack.org/wiki/Trove/dev-env
15. Trove (Redstack)
Problems Faced
Errors during redstack installation
Images not getting downloaded properly
No Console available after creating the instance
Unable to ssh Ubuntu and Fedora images
Reference - http://docs.openstack.org/developer/trove/dev/install.html
16. Trove (Redstack)
Launching an instance (Cirros)
Accessing an instance
17. Conclusion
The main concern was with the installation of Open Stack cloud
components which is successfully installed, up and running. At the
end of the project we have been able to understand the functioning
of Open Stack properly which was the primary goal of the project.
18. References
http://www.serverworld.info/en/note?os=Ubuntu_14.04&p=openstack_icehouse
http://askubuntu.com/questions/481947/maas-unable-to-start-commisioned-nodes
http://askubuntu.com/questions/474140/how-do-i-add-nodes-to-my-maas-cluster
http://fuel-docs.readthedocs.org/en/latest/pages/0050-installation-instructions.html
http://networkstatic.net/openstack-multi-node-devstack-nova-network-tutorial/
https://access.redhat.com/documentation/en-
US/Red_Hat_Enterprise_Linux_OpenStack_Platform/4/html/Getting_Started_Guide/part-
Deploying_OpenStack_using_PackStack.html
http://maas.ubuntu.com/docs/install.html
Deploying Workload with JUJU and MAAS in Ubuntu, A Dell Technical White Paper