• Home
  • Blog
  • OpenStack
  • Creating a sandbox Compute server with VirtualBox and Vagrant - OpenStack

Creating a sandbox Compute server with VirtualBox and Vagrant - OpenStack

VirtualBox enables everyone to spin up virtual computers and networks without interfering with the rest of the workplace setting. It is accessible for free on Windows, Mac OS X, and Linux. By establishing a sandbox environment with VirtualBox and Vagrant, we can learn about and experiment with OpenStack.

Create a Sandbox Compute Server

Creating a sandbox server for running the OpenStack Compute services is very easy using VirtualBox and Vagrant. It allows us to discover and experiment with the OpenStack services.

VirtualBox gives us the ability to spin up virtual machines and networks without affecting the rest of our working environment and is freely available for Windows, Mac OSX, and Linux. Vagrant allows us to automate this task, meaning we can spend less time creating our test environments and more time using OpenStack. A Vagrant is installable using Ubuntu’s package management. This test environment is being used for the rest of this section.

It is assumed that the computer you will be using to run your test environment in has enough processing power that includes hardware virtualization support (modern AMDs and Intel IX processors) with at least 8 GB RAM. Remember, we’re creating a virtual machine that itself will be used to spin up other virtual machines, so the more RAM you have, the better it would be.

Learn how to use OpenStack, from beginner basics to advanced techniques, with online video tutorials taught by industry experts. Enroll for Free OpenStack Training Demo!

Getting started

To begin with, ensure that VirtualBox and Vagrant are installed and networking is set up as described in Previous Post, Keystone OpenStack Identity Service.

How to achieve it…

To create our sandbox server for running OpenStack Compute within VirtualBox, we will use Vagrant to define a second virtual machine that allows us to run OpenStack Cloud instances. This virtual machine, that we will refer to as the OpenStack Compute node, will be configured with at least 3 GB RAM, 2 CPUs, and 20 GB of hard drive space, and has three network interfaces. The first will be a NAT interface that allows our virtual machine to connect to the network outside of VirtualBox to download packages, the second interface which is the public interface of our OpenStack Compute host, and the third interface will be in our private network that OpenStack Compute uses for internal communication between different OpenStack Compute hosts.

MindMajix Youtube Channel

Carry out the following steps to create the virtual machine with Vagrant that will be used to run OpenStack Compute services:

1. Execute the steps mentioned in the ‘Creating a sandbox environment’ with a VirtualBox recipe of Previous Post, Keystone OpenStack Identity Service.

2. We are now editing the Vagrant file we have been working with, it looks like the following to add in our compute node:

-*- mode: ruby -*-

vi: set ft=ruby :

nodes = {                   => [1, 200],  


‘compute’  =>                   [1, 201],  


Vagrant.configure(“2”) do |config| config.vm.box = “precise64” config.vm.box_url


nodes.each do |prefix, (count, ip_start)| count.times do |i|

hostname = “%s” % [prefix, (i+1)]

config.vm.define “#{hostname}” do |box| box.vm.hostname = “#{hostname}.book” box.vm.network :private_network, ip:

“172.16.0.#{ip_start+i}”, :netmask => “”

box.vm.network :private_network, ip: “10.10.0.#{ip_start+i}”, :netmask =>


# If using VirtualBox

box.vm.provider :virtualbox do |vbox| vbox.customize [“modifyvm”, :id,

“–memory”, 1024]

if prefix == “compute”

vbox.customize [“modifyvm”, :id, “–memory”, 3172]

vbox.customize [“modifyvm”, :id, “–cpus”, 2]







3. We are now ready to power on our compute node. We do this by simply running the following command:

vagrant up compute


Congratulations! We have successfully created the VirtualBox virtual machine running Ubuntu 12.04, which is able to run OpenStack Compute.

How it works…

What we have done here is created a virtual machine within VirtualBox by defining it in Vagrant. Vagrant then configures this virtual machine, based on the settings given in the Vagrant file in the directory where we want to store and run our VirtualBox virtual machines from. This file is based on Ruby syntax, but the lines are relatively self-explanatory. We have specified the following:

The hostname is called to compute

The VM is based on Precise64, an alias for Ubuntu 12.04 LTS 64-Bit. We have specified 3GB Ram and two CPUs.

We then launch this VirtualBox VM using Vagrant with the help of the following simple command:

vagrant up compute

Still more…

There are a number of virtualization products available that are suitable for trying OpenStack, for example, VMware Server, VMware Player, and VMware Fusion etc.

Explore OpenStack Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now!

Course Schedule
OpenStack TrainingMay 28 to Jun 12View Details
OpenStack TrainingJun 01 to Jun 16View Details
OpenStack TrainingJun 04 to Jun 19View Details
OpenStack TrainingJun 08 to Jun 23View Details
Last updated: 03 Apr 2023
About Author

Ravindra Savaram is a Technical Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.

read less
  1. Share:
OpenStack Articles