kayobe/releasenotes/notes/bootstrap-servers-user-8cb5114de1dd10ec.yaml
Mark Goddard 40e43e235d Run kolla-ansible bootstrap-servers as kolla user
Previously, Kayobe used Kolla Ansible's bootstrap-servers command to
create a user account and Python virtual environment for Kolla Ansible.
In order to do this it used the Kayobe Ansible user and Python
interpreter.

This causes problems for Ansible fact caching, which needs separate
caches for Kayobe and Kolla Ansible, since the different users and
Python interpreters used result in different facts. Bootstrapping
servers with the Kayobe user and interpreter resulted in the Kolla
Ansible fact cache being populated with Kayobe's user and interpreter.

This change disables user creation during Kolla Ansible's
bootstrap-servers command, instead creating the user and virtual
environment in Kayobe prior to running the command. This allows the
bootstrap-servers command to be executed using the normal Kolla Ansible
user and interpreter, which results in the correct facts being gathered.

The downside here is some duplication of code and configuration, but a
nice side effect is that we no longer need to dump configuration in the
CLI for host configure in order to fetch the Ansible user and
interpreter.

Change-Id: I85670be7242bc436f73c689f027670b0938ba031
Story: 2007492
Task: 39444
2020-04-16 20:44:34 +01:00

21 lines
1.2 KiB
YAML

---
upgrade:
- |
The ``kolla-ansible bootstrap-servers`` command is used by Kayobe during
the ``kayobe seed host configure`` and ``kayobe overcloud host configure``
tasks. In previous releases it was executed as the Kayobe Ansible user
(``kayobe_ansible_user``) and using the remote Kayobe Python interpreter
(``ansible_python_interpreter``) since it was responsible for creation of
the Kolla Ansible user account (``kolla_ansible_user``) and Python virtual
environment (``kolla_ansible_target_venv``). This mix of environments
causes problems for Ansible fact caching. To avoid this issue, Kayobe is
now responsible for creation of the Kolla Ansible user and Python virtual
environment, and ``kolla-ansible bootstrap-servers`` is run using the
normal Kolla Ansible user and remote Python interpreter.
Previously it was possible to avoid creation of the user account during
``kolla-ansible bootstrap-servers`` by setting ``create_kolla_user`` to
``false`` in ``${KAYOBE_CONFIG_PATH}/kolla/globals.yml``. The same may now
be achieved by setting ``kolla_ansible_create_user`` to ``false`` in
``${KAYOBE_CONFIG_PATH}/kolla.yml``.