Skip to content

Install OpenStack on a Single Ubuntu 16.04.1 Xenial Xerus Server Using Conjure-up

Introduction

 

It’s been some time since I wrote Installing Ubuntu OpenStack on a Single Machine, Instead of 7.  Since then, there have been many updates to both OpenStack, and Ubuntu.

This tutorial will guide you through installing OpenStack on a single Ubuntu 16.04 Server.  I will be installing Ubuntu and OpenStack within a virtual machine hosted on a VMware ESXi Hypervisor, but any fresh installation of Ubuntu 16.04 should work fine, as long as it meets the minimum requirements below.  I will be using conjure-up to install the environment due to the fact that Ubuntu’s Openstack-install package doesn’t working on Ubuntu 16.04.1 at this time.

 

Note:  I have written an updated guide on Installing OpenStack on Ubuntu 16.04 LTS using devstack.  I suggest following that guide unless you have a specific reason for using the conjure-up method.  From my experience, the devstack method requires less resources, runs faster, and performs much better once deployed.

 

Minimum Requirements

 

To install the entire environment on a single physical server or virtual machine, you will need at least:

 

  • 8 CPU’s (vCPUs will work just fine)
  • 12GB of RAM (minimum needed to successfully start everything, more is better)
  • 100GB Disk Space (SSD Prefered, but rotating disk will work)
  • Ubuntu 16.04.1 Xenial Xerus x64 Server(only OpenSSH Server installed)

Getting Started

 

First, we need to add the PPAs for conjure and juju.

 

sudo apt-add-repository ppa:conjure-up/next
sudo apt-add-repository ppa:juju/devel

 

We need to update aptitude now that we have added the new PPA sources.  I had to reboot before I could successfully run an update.  So, go ahead and reboot your server and log back in.

After a quick reboot, let’s update Aptitude.

 

sudo apt update

 

Next, we need to initialize LXC before we can install conjure-up and OpenStack.  This step requires sudo (root), so it must be done before we can proceed.

 

sudo dpkg-reconfigure -p medium lxd

 

You will be prompted to answer some questions related to networking.  Select “Yes” to set up a network bridge.  Accept the default name.  You will also want to select “Yes” when asked if you want to configure NAT.  All other defaults can be accepted.  IPV6 support is optional.

 

lxc_bridge_configuration

 

Once you are back at a command line, make sure LXC is good to go.

 

lxc finger

 

Installing OpenStack With Conjure-Up

 

We will use the Aptitude Package Manager to install conjure-up.

 

sudo apt install conjure-up

 

Once the conjure-up installation is finished, we can use it to install and configure our single server OpenStack environment.

 

conjure-up

 

Now you will be presented with a menu.  Select OpenStack with NOVALXD (you might have to scroll down to see it) and hit enter.

This step is going to take a long time.  How long, depends on how much RAM your server has, as well as the type of disk in use.

First, conjure-up will download all needed Ubuntu Xenial images from cloud-images.ubuntu.com.  That step will look like this.

 

conjure-up_download_ububuntu_xenial_images

 

Once all images have downloading (nearly 100), it will start initializing the Juju controller.

 

conjure-up_juju_initialization

 

After this step, conjure-up will start deploying all containers needed for the OpenStack platform.  This can take a very long time.  If you see any errors about there not being enough units, just let it be and it will eventually continue.

 

insufficient_peer_units_bootstrap_cluster_conjure-up

 

Eventually, it will finish and you will find yourself at the last step!

 

conjure-up_glance_rsa_key

 

After you run the creation of RSA keys you’ll be ready to start working on your new OpenStack environment!

 

Conclusion

 

OpenStack can be a real pain to install.  But, with the help of packages like conjure-up, it can be manageable.  This type of deployment is great for development and getting familiar with the platform. In a production or lab environment, you will definitely want to consider adding more physical servers.

Thank you for reading.  If you get stuck, or have any questions, please feel free to ask for help in the comments below!