DEV Community

G.L Solaria
G.L Solaria

Posted on • Updated on

Installing OpenStack on Bionic Beaver and Failing

For a bit of fun, I tried to get a workstation install of Open Stack running on a brand new install of Ubuntu 18.04. I just wanted to play so I thought a localhost install would be simple enough.

It wasn't straight forward unfortunately because I followed the wrong instructions.

tldr; Follow these instructions if you want to install OpenStack workstation on Ubuntu 18.04:

Instead I dutifully followed these instructions: Install OpenStack on Ubuntu

It wasn't until I was part way through the conjure-up step that it suggested that I check the output of the command:

Unable to parse JSON output from LXD, does /snap/bin/lxc query - wait -X GET /1.0 return info about the LXD server?

Running the command sudo worked fine. After much searching I found I needed to run the following:

$ sudo usermod -a -G lxd $USER

Then I needed to log off and log back in again for the change to take effect although there are smarter ways to do this. (Note I also sent off a ticket to Canonical in the hope they fix the instructions).

When I ran conjure-up again I got another error:

waiting for 6 kube-system pods to start

It sat like this for over an hour so I got cranky and quit. I thought I would conjure-down and start again. I decided I would also to do a lxd init. It is very hard to find out how to do this but this article is of great help: How to initialize LXD again

So back to trying to run lxd init. Note that depending on how much your conjure-up conjured up, you may not have to run all these steps:

$ conjure-down # This command will likely fail
$ lxc list 
# Delete all containers created by juju …
$ lxc list | grep juju | cut -f2 -d"|" | while read ii; do lxc stop $ii; lxc delete $ii; done
$ lxc network delete lxdbr0
$ lxc profile list | grep juju | cut -f2 -d"|" | while read ii; do printf 'config: {}\ndevices: {}' | sudo lxc profile edit $ii; done
# Note you may have to run the above command on other created profiles.
$ lxc storage delete default
$ sudo juju list-controllers
$ sudo juju destroy-controller name-of-the-controller-to-destroy
# You may want to take a copy of the following directory before running the rm command …
$ rm -rf ~/.local/share/juju

This had me back on track again. I had initially selected "zfs" for the storage back-end and "auto" for IPv6 during lxd init. But after finding Install Single-server OpenStack with conjure-up, I realised I should have set the pool storage to "dir" and the IPv6 CIDR to "none".

So I ran conjure-up again and ... it failed again complaining that it could not connect to 10.x.x.x address.

I read somewhere about it not liking the "auto" IPv4 CIDR so I picked an address with a width of 24 instead and ... it failed again

Some applications failed to start successfully.

So which ones and why is the next logical step. I look at ~/.cache/conjure-up/conjure-up.log and find one lonely line:

ERROR:root:neutron-gateway/0 failed: workload status is error

I am down but not defeated. I think I need a break and I will come back to it later.

Discussion (0)