* 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
Change-Id: Ic607ccccc866da65c100053bfa15ee141a98679e
1.
ansible-lint verbosity is only really required for debugging which
is best done locally, on-demand.
2.
There are almost a hundred violations of fqcn-builtins which
makes it hard to navigate ansible-lint warnings.
3.
command-instead-of-shell and 106 are no longer violated.
There are only 6 warnings now.
Change-Id: I98fb0e587373f85d78a58e84fa8051cbc18f2d8b
virtualenv is not a part of the core python installation, but
venv is. Let's use it to be slimmer and avoid issues with
virtualenv installation.
At the same time, remove some existing hacks around selinux,
systemd, PyYAML and libvirt.
Change-Id: Icd60aca084323cede944ee261d2cf5941b320e4b
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>.
Change-Id: I9b1c1702983594202d0040065a80a77d540d211c
CI and docs updated - openstack-tox-py310 and Jammy tenks jobs.
libzmq5 added as a dependency of vbmc/zmq
Change-Id: Ibf0ca87bc86152953650e7ef8384e5c839d7a8bc
Requirements upper constraints bumped python-novaclient to version
18.0.0 [1], which requires Python 3.8 [2]. 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.
[1] https://review.opendev.org/c/openstack/requirements/+/842808
[2] https://review.opendev.org/c/openstack/python-novaclient/+/838944
Change-Id: I802b206199b06cfa1983f6f07f195660dd7d86ad
Jinja2 3.0.0 deprecated contextfilter in favour of pass_context. 3.1.0
dropped contextfilter.
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.
Change-Id: I97b25551eb26da2c9100120bcd646c88fdb33ba6
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 [0] that can be set to False to prevent this
injection of facts. In this case, facts should be referenced via
ansible_facts.<fact>.
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
performance improvement.
This change disables fact variable injection in the ansible
configuration used in CI, to catch any attempts to use the injected
variables.
[0] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars
Change-Id: I4831769909c341c72bb178daf8df3309773a56ad
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Certain files need not trigger extra jobs.
Also ensure special chars are properly escaped (regexp syntax).
Change-Id: I32cb7f4fcf0cabba49adc3d73cbe42d9db9d0150
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
mode.
Change-Id: I0c1e0cc50119cc2f9ba3e0b0a3548baeca9dca2e
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.
Change-Id: I1e9bbc75703f94acda0bddf0a2e43e835eb80cf0