Filling The Gaps: Installing Canonical Distro of Ubuntu OpenStack with MAAS

ubuntu_stepsBefore I start filling in the gaps, I’d like to invite a free flow of feedback, correction, and tips to do all of this better/right. My native tongue is Windows with a decent second language of mainstream Linux, but these MAAS and OpenStack dialects with their assuming and sparse documentation leaves me feeling very foreign.

The reference point the steps below is:

Step 1: I see “requires” followed by “seven machines”, “two disks”, and two machines with “two NICs”, but little explanation why, nor what the two-NIC machines are for (especially the second one). Terminology for “machines” and “instances” regarding the IP ranges is also a little ambiguous.

Step 2: These four commands are simple, except that they assume you’ve installed the python packages necessary for “add-apt-repository”. I found help on this at to fill the gap with:

sudo apt-get install python-software-properties
sudo apt-get install software-properties-common

It also seems that they left out installing Juju, which is necessary for bootstrapping in Step 4:

sudo apt-get install juju

Step 3: This step has a number of general statements that appear to lack detailed documentation to back them up. The first set of bullets is mostly straightforward, but it mentions “networks that were auto-created for each NIC”. I deployed two NICs like it instructed, but the second NIC hasn’t been requisitioned by any service/function yet.

The MAAS cluster steps seem fine as long as you take them at face value and don’t try to solve for that second NIC. The IP ranges are, again, a bit nebulous, so I provisioned liberally with 10 static IPs and 30 each of dynamic and floating.

Enlisting is the part that took me a few hours to unearth. My test environment is based on VMware (vSphere 5.5) VMs with vCenter. I might have missed it, but scouring Google rendered no helpful details or posts about the “VMware” power type and parameters. As such, I learned these things which were true for my environment:

  • VM Name (if UUID unknown): If I put anything in this field, even with a UUID set as well, the power check failed. Sad.
  • VM UUID (if known): Pretty straightforward. I pulled mine from vSphere Client, but lots of PowerCLI scripts exist to pull them as well.
  • VMware hostname: Simple FQDN of the vCenter server (i.e.
  • VMware username: I used the UPN format of an Active Directory account (i.e. [email protected])
  • VMware password: Password of above account
  • VMware API port (optional): Not optional. Configure to “443”
  • VMware API protocol (optional): Not optional: Configure to “https”


Since the “VM Name” field appears to break the lookup/link, I renamed each node with the name of the VM (i.e. ubuntu09).


Step 4: I really thought this one would be the easiest, but it bombed completely. It seems that the install presumes the prior install of Juju for bootstrapping and craters utterly without it.

From ~/.cloud-install/commands.log:

Problem during bootstrap: '{'output': 'sudo: juju: command not found\n', 'status': 1}'

Then openstack-install becomes completely useless:

  • sudo openstack-status: clears the screen with no output
  • sudo openstack-install: returns:
    Previous installation detected. Did you mean to run openstack-status instead?
    If attempting to re-install please run $ sudo openstack-install -u
  • sudo openstack-install -u: can’t find the environment to uninstall:
    Restoring system to last known state.
    Ubuntu Openstack Installer Uninstalling ...Landscape OpenStack Autopilot environment
    ERROR cannot read environment info: environment "maas" not found

This last one seems to be a known bug and the reporting user offered up a workaround to start over (adapted from

sudo rm -rf ~/.cloud-install

At this point, starting over with the install works (sudo openstack-install).

Being a novice in Linux shell installers, the first time I tried the openstack-install, I manually typed the MAAS API Key, because I couldn’t figure out how to paste it in the installer prompt (PuTTY is normally easy, but the installer doesn’t behave like the shell). Thankfully I found a page that offered up SHIFT + INSERT as a solution (CTRL + SHIFT + V didn’t work for me).

Next up: Deploying Landscape failed.


The commands.log doesn’t give me much to work with this time, so I’ll share it here (landscape_error)and post in case others are attempting the same and have crossed this hurdle. More to come if/as I make more progress…


  1. Arvydas Burgis said:

    Hi Chris,

    Have you manages to get past “Deploying Landscape”? I’m stuck at the same place :(

    December 1, 2015
    • Chris said:

      Unfortunately other projects pushed this experiment out of the way, so I wasn’t able to figure out Landscape.

      December 1, 2015
  2. rhys said:

    I was wondering if you had had a chance to try this again.

    September 1, 2016
    • Chris said:

      I’ve changed jobs in the meantime, so I don’t have access to a lab environment where I can test this. If you try it, definitely let us know! :)

      September 2, 2016

Leave a Reply