Building OpenStack Icehouse in VirtualBox in 60 minutes using Mirantis Fuel

Introduction

Those who have tried to deploy OpenStack by following Installation guide you figured that’s a bit complex and probably spent quite some time to make it work.  After went through manual deployment first few times, I started to look into tern-key solution for evaluation. (In my opinion, doing manual deployment is still good thing to do to understand how each OpenStack component works, understand dependencies etc..).  RDO is good to look into for RHEL based distribution.  Mirantis has simple OpenStack deployment tool called Fuel to build OpenStack cloud from bare metal with user’s choice from following deployment options:

  • OpenStack Release – Icehouse on CentOS 6.5 or Ubuntu 12.04.4 LTS
  • Compute – KVM, QEMU or vCenter
  • Network – Nova-network, Neutron with GRE or VLAN
  • Cinder – LVM or Ceph
  • Glance – Local storage (or Swift in HA environment) or Ceph
  • Optional

Mirantis provides VirtualBox automated script to build VMs to configure for starters.  In this blog post, I will walk through how to deploy OpenStack cloud using Fuel on VirtualBox.  

Requirement & Preparation

  • VirtualBox 4.2.16 (or later) along with the extension pack. (With Windows machine, you will need to use Cygwin to run installation script and manually build VM’s.  See detail on complete doc from Mirantis.)
  • 8GB+ RAM (16GB is better) 
  • Download Mirantis OpenStack iso and VirtualBox script from Mirantis download site

I used following in this environment

  • MacBook Air 13-inch, 8GB RAM, Mid-2012 model
  • Mirantis OpenStack 5.0
  • VirtualBox 4.3.14 r95030 with the extension pack

Installing Fuel using VirtualBox automated script

  • When you unzipped the VirtualBox script zip file, you can find following files and directory.
  • You will need to place the Mirantis OpenStack iso file into the iso directory.
  • Make “launch.sh” executable and run it.  
  • Now it’s time to have a cup of coffee 🙂  
$ ls
README.md actions  config.sh functions iso  launch.sh
$ ls iso
MirantisOpenStack-5.0.img MirantisOpenStack-5.0.iso README.md
$ ./launch.sh

The automated script will configure VirtualBox networking and build a VM and automatically install a Fuel Master node from the iso.

mirantis fuel installer

Once the Fuel Master node installation is completed the script will configure three more VM’s for slave nodes.  The Slave nodes will PXE boot from the Master node (same to bare metal installation).  After installation is done the VirtualBox looks like below.

VirtualBox

 At the end of the script, you will see below message and now It’s ready to build your OpenStack environment.

<..>
Slave nodes have been created. They will boot over PXE and get discovered by the master node. 
To access master node, please point your browser to:
http://10.20.0.2:8000/

Building OpenStack Environment using Fuel

  • Log into Fuel Master node.  On top right corner, there are three slave nodes discovered.
  • Click New OpenStack Environment.  

Fuel1 

  • Follow Manu to specify your deployment options.  I used below on my environment.
  • Make sure to use QEMU since this is a virtual host

fuel3 fuel4.2 fuel5 fuel6 fuel7 fuel8 fuel9

  • Once you created the OpenStack environment, you will need to add nodes into your environment
  • > Add Nodes

Screen Shot 2014-08-08 at 7.06.37 AM

  • Assign Role(s) to each node you add
  • > Apply Changes

Screen Shot 2014-08-09 at 6.00.52 PM

  • Configure 3 Slave nodes as Controller, Compute and Cinder
  • You can find how the Fuel configures Networking (Public, Management, Storage, Nova-network (Fixed, Floating)).  Leave it default.
  • > Deploy Changes
  • You will see progress of installing CentOS and OpenStack
  • Now it’s time to have another cup of coffee 🙂

Screen Shot 2014-08-08 at 7.08.01 AM

Screen Shot 2014-08-09 at 10.25.05 PM

  • OpenStack deployment is done!  

Screen Shot 2014-08-09 at 6.49.41 PM

  • Now you can log into OpenStack dashboard
  • Username: admin / Password: admin
  • Have fun!

Screen Shot 2014-08-09 at 7.57.17 PM Screen Shot 2014-08-09 at 7.58.55 PM