Revision history [back]

click to hide/show revision 1
initial version

kolla-ansible AIO ubuntu 16.04.3 QuickStart Install fails

I have been following the QuickStart Guide with bare metal machines (and tried with some VM's) but despite many attempts I end up failing with the prechecks stage with

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: load_config() got an unexpected keyword argument 'config_dict'

It always occurs with the "Get container facts" step and usually TASK haproxy (Although it will fail on others later with the same error if you disable haproxy in globals.yml)

I have seen google references to compatibility issues with a variety of python libs recently (eg docker-py) but despite trying many of the possible fix attempts by downgrading the libraries I have not found a cure.

I have tried with/without a virtualenv and also tried both pike and source code variants.

I have also tried recipes at inkubate and at Karim's Blog.

I can make a little progress by downgrading docker-py from 3.1.0 to 2.7 for the prechecks which then pass but then deploy fails with unless I re-upgrade at which point I fall over during the pull stage with

AttributeError: 'module' object has no attribute 'get_config_header'

I can make progress on that if I pip uninstall docker-py and docker and then reinstall docker.

The deploy the falls over with errors with tasks failing with exit code=1 errors. If I repeat I can get progresiveluy further until eventually I become consistently stuck on

TASK [nova : Waiting for nova-compute service up] **************************************************
FAILED - RETRYING: Waiting for nova-compute service up (20 retries left).
FAILED - RETRYING: Waiting for nova-compute service up (1 retries left).
fatal: [localhost -> localhost]: FAILED! => {"attempts": 20, "changed": false, "cmd": ["docker", "exec", "kolla_toolbox", "openstack", "--os-interface", "internal", "--os-auth-url", "", "--os-identity-api-version", "3", "--os-project-domain-name", "default", "--os-tenant-name", "admin", "--os-username", "admin", "--os-password", "CoBPkDubdad0pRnUousJ1WNqtoQC2uIcDv8h3wt6", "--os-user-domain-name", "default", "compute", "service", "list", "-f", "json", "--service", "nova-compute"], "delta": "0:00:01.710048", "end": "2018-03-01 23:30:10.155493", "rc": 0, "start": "2018-03-01 23:30:08.445445", "stderr": "", "stderr_lines": [], "stdout": "[]", "stdout_lines": ["[]"]}

NO MORE HOSTS LEFT *********************************************************************************
        to retry, use: --limit @/usr/local/share/kolla-ansible/ansible/site.retry

In passing I also get earlier failures in the bootstrap-serves phase due to assumptions on the environment that are not true (requiring things like libvirtd installed and apparmor uninstalled) to pass that earlier step. Addressing those problems is relatively easy but makes me feel nervous that something isn't quite right with the environment dependencies even though it is a bare metal ubuntu server 16.04.3 install.

It looks like

  1. What is installed on ubuntu 16.04.3 has changed from 16.04
  2. docker-py has broken kolla-ansible when it moved to 3.x (API change?)
  3. docker-py tangles with docker itself (is docker-py now incorporated in docker?)

Please can someone define precisely what versions of the various tools DO work or can advise if there are errors in the documents or something that needs downgrading? Alternatively are there any other instructions that are guaranteed to work. I am clearly missing something or the environment has recently changed (library updates or changes to what Ubuntu 16.04.3 LTS ships with) that has broken the guide.

I have currently spent over a man week on this and am rapidly losing credibility. As a devop architect I want to move the large company I work for to OpenStack. I have spent 20 years (and made a career out of) extolling the benefits of Open Source so its important I can demonstrate something working soon. I have around 20 servers (running VMWare, KVM, HyperV and Docker) just waiting to be controlled properly after I have played with the AIO version!!!