OpenStack

From OSSCOM
Revision as of 08:59, 21 March 2017 by Aabukhalil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

The workshop sessions are devoted to introduce the OpenStack cloud management system. Hands-on tasks based on an OpenStack testbed deployed as a virtual machine are proposed. This document includes a set of recommended prerequisites in order to be able to perform those tasks.

Testbed deployment

The recommended testbed consists of a virtual machine (VM) configured as a controller node for OpenStack. This testbed is automatically deployed by means of the Vagrant orchestration tool, and requires the VirtualBox hypervisor. A DevStack (http://docs.openstack.org/developer/devstack/) system is automatically configured on the controller VM. Optionally, a second VM can be deployed as a worker node. This second VM is optional because the controller is also configured as worker, i.e., it can host VMs launched through OpenStack.

In order to deploy this testbed, VirtualBox (https://www.virtualbox.org/) and Vagrant (https://www.vagrantup.com/) should be previously installed. The testbed has been successfully deployed on the Linux Ubuntu 14.04 LTS operating system. This deployment can also be run on a MacOS with some adjustments. The necessary files can be downloaded from https://www.dropbox.com/s/60by5ju4a1tsw6e/vagrant-openstack-master.zip?dl=0. It is recommended that they are copied into a “vagrant_folder” directory. The contents of that directory should be: • README file: it contains instructions to set up the environment. • Vagrantfile file: it contains instructions so that Vagrant configures the VMs and installs DevStack. In particular, the Vagrantfile should be edited to tune memory and vCPUs allocated to the VMs: vb.memory = "4096" vb.cpus = 2 • config_files directory: it contains a set of configuration files for the deployment. In particular, files local.conf.Controller and local.conf.Worker contain configuration details for Controller and Worker nodes, respectively. It is interesting to take a look at their contents. In particular, administration password for OpenStack can be found there, together with the IP addresses allocated to the VMs. In order to set up the environment, just type vagrant up controller (or vagrant up, if you want to deploy also the 2nd VM) from the vagrant_folder. The first time this command is run it will take a while, since it will deploy the VM and will automatically download and configure all the DevStack packages. Once the VM has been provisioned, you can log in it by typing vagrant ssh controller (or alternatively vagrant ssh worker). Once you are logged into the Controller VM (based on a CentOS/7 operating system), just do the following: cd devstack . openrc admin admin And play


Hardware requirements

The deployment with two VMs runs smoothly with 16GB of RAM. The system might be deployed with less memory but working may be quite difficult.


Alternatives

Other alternatives to this testbed are listed below. Please note that the hands-on tasks raised throughout the workshop have not been tested on these environments and there will be differences. Nevertheless, they should also suffice to get a glimpse of OpenStack.

• Install your own DevStack deployment. Different deployments are detailed in http://docs.openstack.org/developer/devstack/

• Get an account at trystack.org (http://www.trystack.org/). Trystack is a free OpenStack platform where you can test your developments. In order to get access, you should request joining their Facebook group. Facebook credentials are then used to log in into OpenStack.


Acknowledgement

The testbed based on Vagrant and VirtualBox has been developed by Dr. Luis Tomás, from University of Umeå (Sweden).


Course Materials

Slides