* new ansible-lint complaints
* clamp ansible-lint to <7
* tox 4 support
* switch to CentOS NFV Open vSwitch repository for OVS - rocky 9 RDO install was failing
* switch from Kayobe CentOS stream 8 to Rocky Linux 9 and Ubuntu Jammy
jobs - these are the current supported distros in Kayobe master
ansible-lint verbosity is only really required for debugging which
is best done locally, on-demand.
There are almost a hundred violations of fqcn-builtins which
makes it hard to navigate ansible-lint warnings.
command-instead-of-shell and 106 are no longer violated.
There are only 6 warnings now.
virtualenv is not a part of the core python installation, but
venv is. Let's use it to be slimmer and avoid issues with
At the same time, remove some existing hacks around selinux,
systemd, PyYAML and libvirt.
UPPER_CONSTRAINTS_FILE is old name and deprecated
This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.
Requirements upper constraints bumped python-novaclient to version
18.0.0 , which requires Python 3.8 . This results in failures when
installing python-openstackclient on CentOS and Rocky with Python 3.6.
ERROR: Cannot install python-openstackclient==5.8.0 because these package versions have conflicting dependencies.
The conflict is caused by:
python-openstackclient 5.8.0 depends on python-novaclient>=17.0.0
The user requested (constraint) python-novaclient===18.0.0
Work around this issue by using yoga upper constraints until we upgrade
to CentOS Stream 9 and Rocky Linux 9.
Jinja2 3.0.0 deprecated contextfilter in favour of pass_context. 3.1.0
Fall back to contextfilter for Jinja2 2.x.
This change also fixes some issues caused by Ansible lint 6.0. Issues
found by the yaml plugin are fixed, while the FQCN for builtin actions
plugin is skipped.
By default, Ansible injects a variable for every fact, prefixed with
ansible_. This can result in a large number of variables for each host,
which at scale can incur a performance penalty. Ansible provides a
configuration option  that can be set to False to prevent this
injection of facts. In this case, facts should be referenced via
This change updates all references to Ansible facts within Tenks
from using individual fact variables to using the items in the
ansible_facts dictionary. This allows users to disable fact variable
injection in their Ansible configuration, which may provide some
This change disables fact variable injection in the ansible
configuration used in CI, to catch any attempts to use the injected
Co-Authored-By: Radosław Piliszek <firstname.lastname@example.org>
Since we currently only support legacy BIOS boot mode, set it explicitly
in node capabilities. This is especially important since Ironic changed
the default boot mode to UEFI in Yoga. If the capabilities field is
provided, the boot_mode should be set explicitly.
This change should be followed by one that adds support for UEFI boot
As tenks is branchless which means same
master code is run on stable branches too, let's test it
with all the python version supported in those stable branches.
For that, we need to explicitly add the python jobs instead of using
the release specific job template. This way, we will explicitly know
that we are testing all supported python versions and do not remove the
older py version testing when the new release template bumps the min python
version like done in Yoga.
In Yoga testing, we are making py3.9 job to run as voting, so
adding py3.9 job as voting.