Adds support for Podman as an alternative container engine. This builds
on the support added in kolla-ansible in the 2023.2 cycle.
Change-Id: I2c6befbdda7e684228065103feea7250a0ea3826
These action plugins will be useful for generating configuration files
on the Ansible control host.
Change-Id: I172c8e81936c93c8d6ce4e53c83083a44aa52e6b
When generating host variable files for Kolla Ansible, we have some
heavy usage of set_fact to set variables for network interfaces, in a
play targeted at all hosts. There are also tasks using the fail action
plugin to perform verification.
At scale this has a significant impact, due to the number of tasks
executed against all hosts. These tasks are executed at the beginning of
many commands, so the scope is broad. There is also some tricky logic
involved, which is difficult to express in Ansible/Jinja.
This change replaces the use of set_fact with a custom Ansible action
plugin. The plugin executes locally on the Ansible controller, and
returns a dict of Ansible facts to set for each host. The plugin is
executed once for each overcloud host, and returns all relevant facts.
The plugin also performs verification. Extraction into a Python module
allows for unit testing.
This has been shown to have a significant improvement on execution time,
particularly as the number of hosts reaches 100 or more.
Story: 2007993
Task: 40641
Change-Id: I443da1ae05fcca2d7d8dff7db563eeda37e9f502