Ironic is now disabled by default in the overcloud. This brings Kayobe's
default set of services into line with Kolla Ansible. For environments
using Ironic in the overcloud, set kolla_enable_ironic to true in
kolla.yml.
Story: 2008207
Task: 40991
Change-Id: I33eb4fa534847e199a599350b525d4762a2beaac
Ironic has an issue where nodes will be switched to use the direct
deploy interface during upgrade, if it is enabled. This should be fixed
via https://review.opendev.org/755295, after which this patch should be
reverted.
Change-Id: I55af5d979bdbee9dd963845204c2f082fa7b27d7
When molecule runs, it installs ansible>2.8, which is version 2.10.0
since today. This now also installs the ansible-base package, currently
at version 2.10.1. Then it installs the version of ansible required by
kayobe, i.e. ansible>=2.8.0,<2.10.0 (currently 2.9.13).
We end up with a tox molecule venv containing:
ansible==2.9.13
ansible-base==2.10.1
This causes the following issue:
ERROR! Unexpected Exception, this is probably a bug: cannot import name 'AnsibleCollectionLoader' from 'ansible.utils.collection_loader' (/home/zuul/src/opendev.org/openstack/kayobe/.tox/molecule/lib/python3.8/site-packages/ansible/utils/collection_loader/__init__.py)
This commit adds requirements.txt to the molecule tox deps, which
ensures the correct version of ansible gets installed first.
Change-Id: I7ef890a2ae6fd67f53e1b8bca244a1c0d44fea53
Kayobe generates a host_vars file for each host in the Kolla Ansible
inventory. These contain network interfaces and other host-specific
things. Currently this is done by iterating over all hosts, which does
not scale well with a large number of hosts.
This change extracts the host vars generation into a separate role, and
executes it in a play targeted at all hosts, with delegate_to:
localhost. This ensures that host variable files are generated in
parallel.
Story: 2007993
Task: 40629
Change-Id: Iae75e17024adee9c2874c14d3ed36f4c87ba48d7
hacking 3.0.1 fix the pinning of flake8 to avoid bringing in a new
version with new checks.
bumping the min version for hacking so that any older hacking versions
which auto adopt the new checks are not used.
Change-Id: I3f4fca9a0df2f45241288fd876064433f4e2f737
Adds support for HTTP basic authentication with the Docker registry.
The kolla docker registry password is now written to passwords.yml.
Change-Id: Ie6e854a66a6660d4e02771fe2b5dd97af814194d
Story: 2007952
Task: 40429
requirements.txt is unnecessary when running `tox -e releasenotes` since
release notes requirements are in doc/requirements.txt. This PS removes
the requirements.txt from tox.ini and reuses [docs] deps.
Sync from kolla-ansible and kolla.
Change-Id: I9df2f98772c143a9662fd5c123cc9f6d5410c5e5
The variables in yum.yml and yum-cron.yml were deprecated in Ussuri.
This patch removes them, and updates the defaults in dnf.yml.
Story: 2008160
Task: 40906
Change-Id: I97cc98dd2ff726e5885fefcab17f17796d9fd453
The feature-flags.py script uses pathlib which is only supported in
Python 3. Update shebang to ensure it is run with the correct
interpreter.
Change-Id: I69ea0c90f68909399709626bddfc418e9df31acc
Currently we import the manage-lvm role with a condition that skips
tasks when no LVM groups are configured. At large scale this is
inefficient.
This change improves the performance for hosts where there are no LVM
groups configured, by using include_role rather than a static import.
Story: 2007993
Task: 40664
Change-Id: Ib51ac445cc787d7045d72a9ecec14434d432d9e7
Since kayobe is installing python3-pip in pip.yml - and dnf proxy is set
later, it fails on no-direct-internet systems.
Change-Id: I93f29ec4334829bfec107ba7aa6df05a47d2ab96
Story: 2008067
Task: 40750
Depends-On: https://review.opendev.org/748587
Depends-On: https://review.opendev.org/750804
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.
Ignore bashate failure on one-liner loops.
Add pcre devel packages to fix failing pep8 jobs.
Change-Id: I3442174b378cc6e361550fcb9b32a62f61fa7972
People often seem to miss this useful information. Let's make it the
first page of the docs, rather than being buried in the index.
This was agreed at the Kayobe docs review call.
Change-Id: If464e2dbaafaaeb69029c4f4d81717c72e91dd6c
Story: 2008079
Task: 40773
bash-completion is useful to tab-complete commands, especially docker container
names - this change adds it to default packages list for dev-tools role.
Change-Id: Ic630e0cfa059969046194b9761b9b5e07978f202
Currently we perform pip configuration for a list of users, including
pip_conf.yml in a loop for each user. It is slightly more efficient to
loop over each task, since individual tasks have a higher overhead than
loops.
This change refactors the code into multiple loops, with a single
include. We keep the include to allow skipping the tasks when pip
configuration is not required.
Change-Id: I698d38613f45bd03a2e51572f6e6fb69e934f614
Story: 2007993
Task: 40719
Setting pip's proxy variable, operator needs to set also pip_index_url,
even when one wants to use default value of index_url.
This patch sets pip's index_url only when pip_index_url is not empty.
Change-Id: If435e9025f3d78364b229bbe4458f5f1e1ab49aa
- Skip rule 106 which fails due to the hyphen in "kolla-openstack"
- Fix code failing "File permissions not mentioned" rule
Change-Id: I7ce8a591b4e1eeef749c439e1140ecfb74dcb40e
Ansible 2.9.12 changed default permissions of created files to 600 [1].
This breaks kayobe because kolla-ansible generates admin-openrc.sh owned
by root:root with mode 0600, which kayobe fails to read to generate
public-openrc.sh.
Block only Ansible 2.9.12 as the next release should include a revert of
this change.
[1] https://github.com/ansible/ansible/issues/71200
Depends-On: https://review.opendev.org/746220
Change-Id: I3de408d384141eee1a088d222dca7d583251a297
Story: 2008011
Task: 40661