59aaac0cb5
This change introduces a set of functions for dynamically populating the lxc_hosts function on each inventory run. Any previous membership is overwritten each time. The output is written to the openstack_inventory.json still in order to provide parity with the values provided to the ansible executable on stdout. Previous code was fairly naive, inserting hosts into lxc_hosts when they were marked as `is_metal`. This would add hosts, such as Ceph, that were on metal but had no LXC containers. A previous attempt at fixing this changed the _build_container_hosts function to provide more information about the container build process, then used that data in the _append_host_containers function to populate the lxc_hosts group. However, this approach failed due to limited information in each pass of the loop - if a node was an AIO, it might be erroneously removed from the lxc_hosts group because a container wasn't built on a given pass, and due to ordering, that pass may be the last one of the loop. To get around such problems, this code instead processes the inventory in whole, after all containers have been made. Population into the group is determined according to whether or not a given host's `physical_host` hostvar matches the host name. Change-Id: I9f3336f77cd0ef05fe1c7edeaf7defc6d93c3111 Closes-Bug: #1660996 |
||
---|---|---|
deploy-guide/source | ||
doc | ||
etc | ||
lib | ||
playbooks | ||
releasenotes | ||
scripts | ||
tests | ||
.gitignore | ||
.gitreview | ||
ansible-role-requirements.yml | ||
ansible-role-requirements.yml.example | ||
bindep.txt | ||
global-requirement-pins.txt | ||
LICENSE.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
OpenStack-Ansible
OpenStack-Ansible is an official OpenStack project which aims to deploy production environments from source in a way that makes it scalable while also being simple to operate, upgrade, and grow.
For an overview of the mission, repositories and related Wiki home page, please see the formal Home Page for the project.
For those looking to test OpenStack-Ansible using an All-In-One (AIO) build, please see the Quick Start guide.
For more detailed Installation and Operator documentation, please see the Deployment Guide.
If OpenStack-Ansible is missing something you'd like to see included, then we encourage you to see the Developer Documentation for more details on how you can get involved.
Developers wishing to work on the OpenStack-Ansible project should always base their work on the latest code, available from the master GIT repository at Source.
If you have some questions, or would like some assistance with
achieving your goals, then please feel free to reach out to us on the OpenStack Mailing Lists
(particularly openstack-operators or openstack-dev) or on IRC in
#openstack-ansible
on the freenode network.
OpenStack-Ansible Roles
OpenStack-Ansible offers separate role repositories for each individual role that OpenStack-Ansible supports. For individual role documentation see the Role Documentation in the OpenStack-Ansible documentation.
An individual role's source code can be found at: http://git.openstack.org/cgit/openstack/openstack-ansible-<ROLENAME>.