Building OpenStack Icehouse in VirtualBox in 60 minutes using Mirantis Fuel


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 “” executable and run it.  
  • Now it’s time to have a cup of coffee 🙂  
$ ls actions functions iso
$ ls iso
MirantisOpenStack-5.0.img MirantisOpenStack-5.0.iso
$ ./

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.


 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:

Building OpenStack Environment using Fuel

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


  • 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

20 thoughts on “Building OpenStack Icehouse in VirtualBox in 60 minutes using Mirantis Fuel

  1. Pingback: Updating OpenStack using Mirantis Fuel |

  2. Pingback: Mirantis | Selat Penghubung Peradaban

  3. Pingback: Getting Your Hands Dirty with OpenStack | OpenStackforDummies

  4. Pingback: Getting Your Hands Dirty with OpenStack | stacktutor

  5. Hi Thanks for the process…i was able to setup openstack, do you know about the parameters that i will have to use for CLI instead of GUI console. The standard installation guide has something like this.
    export OS_PROJECT_DOMAIN_ID=default
    export OS_USER_DOMAIN_ID=default
    export OS_PROJECT_NAME=admin
    export OS_TENANT_NAME=admin
    export OS_USERNAME=admin
    export OS_AUTH_URL=http://controller:35357/v3


    • Hi,
      Sorry for my slow response.
      When you log into controller node you can find a openrc file already created it.
      You can just source it.

      root@node-1:~# cat /root/openrc
      export LC_ALL=C
      export OS_NO_CACHE=’true’
      export OS_TENANT_NAME=’admin’
      export OS_USERNAME=’admin’
      export OS_PASSWORD=’admin’
      export OS_AUTH_URL=’’
      export OS_AUTH_STRATEGY=’keystone’
      export OS_REGION_NAME=’RegionOne’
      export CINDER_ENDPOINT_TYPE=’publicURL’
      export GLANCE_ENDPOINT_TYPE=’publicURL’
      export KEYSTONE_ENDPOINT_TYPE=’publicURL’
      export NOVA_ENDPOINT_TYPE=’publicURL’
      export NEUTRON_ENDPOINT_TYPE=’publicURL’


    • Hi,

      Sorry for my slow response.
      You can ssh into fuel master and find IP address of slave nodes.
      Then you can ssh to controller node from fuel master (key is already stored).
      Once you source openrc file you can run openstack cli.

      Hope this helps.

      masas-Air:~ Masa$ ssh root@
      root@’s password:
      Last login: Sat Jun 6 18:24:33 2015 from
      [root@fuel ~]#
      [root@fuel ~]# fuel node list
      id | status | name | cluster | ip | mac | roles | pending_roles | online | group_id
      1 | ready | Untitled (cd:03) | 1 | | 16:88:97:88:5a:49 | controller | | True | 1
      2 | ready | Untitled (c5:d7) | 1 | | 6e:7c:d9:ba:f5:4e | compute | | True | 1
      3 | ready | Untitled (72:cc) | 1 | | 2a:5f:36:19:6b:4a | cinder | | True | 1
      [root@fuel ~]#
      [root@fuel ~]#
      [root@fuel ~]# ssh
      Warning: Permanently added ‘’ (RSA) to the list of known hosts.
      Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.13.0-40-generic x86_64)

      * Documentation:
      Last login: Sat Jun 6 20:29:40 2015 from
      root@node-1:~# source openrc
      root@node-1:~# nova list
      | ID | Name | Status | Task State | Power State | Networks |
      root@node-1:~# cinder list
      | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s