* 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
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>
While OVS was used initially due to availability of a
networking-generic-switch driver for it, Linux bridge can be useful for
environments where OVS is not available.
This is configured via bridge_type variable. It defaults to
'openvswitch', but may be set to 'linuxbridge'.
Change-Id: I750a73cebc743edcbcd8c23c67e4920d0058bead
Open vSwitch packages are no longer present in the default, or EPEL
repoistories. This means there is no clean way to install Open vSwitch
on CentOS. Instead, we should leave it up the user to decide how to
install it.
Change-Id: Ie56296230c9840e542ac70d96dc68c285d198ad6
Ansible lint has become more fussy about its nit picking, blocking CI.
This change makes it happy again.
Change-Id: Ifb86c5e071697acda014bb543cab7ebf2b648dc9
The service is called openvswitch-switch on Debian/Ubuntu derivatives -
this starts ovsdb-server.service and ovs-vswitchd.service as
dependencies.
TrivialFix
Change-Id: I0cb06a387cfeadadb3b978afb4d17a88e9935d17
This is need for Debian/Ubuntu support. This was missed from the
initial ubuntu support patch as it is only installed if
the ovs-vsctl command is missing.
TrivialFix
Change-Id: I36c2e71234dd8b446deb382d705ac74add6a3bdf
This is with the view that tenks should support multiple
GNU/Linux distributions. The package module abstracts
over the differences between package managers.
Instead of overwriting the physnet mappings specified in the Tenks
configuration, create a separate dict that maps physnet names to their
indices. Like physnet_mappings, this will be present for each
hypervisor.
Instead of just an allocations file, Tenks now uses a 'state' file. This
contains the node allocations, as well as physical network mappings and
indices. Clusters can also now be re-deployed with different specs to
update the state.
Much of the logic in the existing 'deploy' playbooks could be reused for
a teardown command, so it didn't make sense to duplicate this. Instead,
rename/restructure playbooks such that they refer to an area of
responsibility, rather than an action.
Also, make some changes to allow a new 'teardown' action.