I am trying to install Openstack on 4 Dell r610 servers and am having great difficulty. The rough specs of these servers are 24 cores, 32 gigs of ram, and ~1.2 tb of harddrive space each.
I am following the exact directions found at: https://ubuntu.com/openstack/install with no deviations of any sort. (I am going the Novakvm path at the moment as Novalxd will not let me choose maas)
I have been able to successfully follow all directions up to the point of #11. All three of my Machine nodes, get to the ready state, and the deploy screen hangs on "waiting for machine". No status for any service changes, and it says waiting for machine indefinitely.
If I exit out of the install, and then try to come back and continue the install, it fails. The following is a typical error.
2019-09-23 17:39:19,268 [ERROR] conjure-up/openstack-base - common.py:60 - Error bootstrapping controller: ['Creating Juju controller "conjure-up-cloud-maas-001-5c9" on cloud-maas-001', 'Looking for packaged Juju agent version 2.6.5 for amd64', 'Launching controller instance(s) on cloud-maas-001...', 'ERROR failed to bootstrap model: cannot start bootstrap instance in availability zone "default": failed to acquire node: No available machine matches constraints: [(\'mem\', [\'3584\']), (\'agent_name\', [\'4837edeb-2b50-4b85-8d66-d3edf8ecd1eb\']), (\'zone\', [\'default\'])] (resolved to "mem=3584.0 zone=default")']
By this point, all of the nodes' status is "Ubuntu 18.04".
Note: MAAS is installed on ubuntu 16, and when the nodes reach "Ready" status they are Ubuntu 16 as well, however when deploy is done with NovaKVM Ubuntu 18 is installed. I have no idea if this is relevant information.
What on earth do I need to do to get this to work?
Edit: I have now gotten to the point where some of the services actually installed, however, it became blocked by ceph-mon which reported "Insufficient peer units to bootstrap cluster(require 3)."
I tried reinstalling everything reducing all of the "3" values to "2" and now I'm getting:
juju.errors.JujuError: ['too many units specified in unit placement for application "ceph-osd"', 'too many units specified in unit placement for application "nova-compute"', 'too many units specified in unit placement for application "ceph-mon"'] 2019-09-23 20:24:38,704 [DEBUG] conjure-up/openstack-base - init.py:27 - Showing dialog for exception: ['too many units specified in unit placement for application "ceph-osd"', 'too many units specified in unit placement for application "nova-compute"', 'too many units specified in unit placement for application "ceph-mon"']
I was having the same problem, trying to install openstack using 5 servers.
It looks like a minimum of 6 servers are required to perform the installation (1 for MAAS, 1 for Juju, and 4 for the openstack cluster). You'll also need dedicated block devices on nodes meant to host Ceph storage. I've got this explanation from here.
I find this setup to be suboptimal because two of my servers are "wasted" running MAAS and Juju (instead of running business workload under Openstack). My small setup doesn't require to dedicate two full servers for this.
I managed to make additional progress by manually moving unallocated juju units onto additional LXD containers manually created on the existing servers. For this I used commands such as these (on the MAAS server) :
Repeat the above for other unallocated units. This worked, but my setup was blocked on missing additional block devices for Ceph.
I ended up doing the following, for openstack deployment to succeed :
Probably a bit late. "exact directions found at: https://ubuntu.com/openstack/install" are a pointer but no cigar.
I setup 1 rack, 1 subnet with switch. Patched in 7 hosts. 1 for MAAS.
The MAAS part goes well for most part after you figure out iLO and get Power Configuration for registered hosts working.
The "exact directions" do not clearly say to only commission to 'Ready' state. On my first attempt I deployed the remaining 6 with 18.04 LTS only to find that was not required.
I also commissioned the hosts to use LVM layout and add sdb in vg0. Then I realised that I should just leave the sdb out the picture.
Hope this helps