Refactored the code to switch the distribution source of the roles
to new collections for the roles that have already been migrated into
collections.
Updated:
- requirements
- role invocations
- documentation
- release notes
- minor whitespace fixes
Change-Id: I8dbb88aa2061b3afcab07caeb30f45b3a5c939af
Switch all dependencies to use the OpenStack 2023.2 release.
This commit should be reverted on the master branch once the
Kayobe stable/2023.2 branch has been cut and RC1 released.
Change-Id: I749a1ac30fa15cf7faa456fcb90c4ddbbef77cc9
Updating requirements.yml with latest os-networks role
Following up:
Ia3550644e5fc3e83f792e46d42b4c35d5eec4705
Change-Id: I9cb1b4c5329dc9db8562cf317616101d35f13edb
This release includes the following fixes:
* Remove nmconnection files generated by cloud-init
* Remove ens3 also from NetworkManager config
Closes-Bug: #2039975
Change-Id: Id3e7913f4ba9d05cec332dab560fc42d44dd4130
The name of ``mrlesmithjr.manage_lvm`` was changed yesterday in release
v0.2.10 to use an underscore, instead of a hyphen. As this changes the
name of the role on Ansible Galaxy, it needs to be updated in
``requirements.yml``.
Closes-Bug: #2024163
Change-Id: I4ea8d8c3a822a7c217bcfcfd5027eecfd21beaed
Switch all dependencies to use the OpenStack 2023.1 release.
This commit should be reverted on the master branch once the
Kayobe stable/2023.1 branch has been cut and RC1 released.
Change-Id: Id5e946fd7b0526faea99536f4a055f0f5c2b8176
Switch all dependencies to use the OpenStack Zed release.
This commit should be reverted on the master branch once the
Kayobe stable/zed branch has been cut and RC1 released.
Change-Id: I1ea18a68bb2c1ea6a2a45f6cbd3c48fd30bb1c8a
CentOS Stream 8 support has been dropped. Migration path will be present
in Yoga release - as a followup change.
MichaelRigart.interfaces does not support custom routes for
NetworkManager yet. It has been disabled in CI for Rocky Linux 9
temporarily.
Non-voting CentOS Stream 9 CI overcloud job is using RL9 container
images (as kolla CI is not building CS9 images anymore).
Change-Id: Idf5ee822b03ba40179803c981500a6bad37594bf
overcloud-dib: added overcloud_dib_dib_upper_constraints_file
ipa: added ipa_build_dib_upper_constraints_file
added os_images_dib_upper_constraints_file to image build
playbooks
New variables were added to facilitate control over the DIB
upper constraints without changing them for other components.
They are empty by default in order to facilitate Rocky9
image builds.
Change-Id: Ib50dd61685f13c60ace67213ddd1e714a80dece3
Adds support for installing additional build host dependencies when
building IPA and overcloud host images via
'ipa_build_dib_host_packages_extra' and
'overcloud_dib_host_packages_extra'.
Support for installing additional host packages was added in
stackhpc.os-images v1.15.0 [1].
[1] https://github.com/stackhpc/ansible-role-os-images/pull/63
Change-Id: I1a05d448031cb415cec4cd601a030abdb8a5eba5
This new version fixes the evaluation of check_mode, which is causing
`kayobe overcloud bios raid configure` to fail.
Change-Id: I9c6e261dbac067ca3f9218e6ea81813ddc2f6520
Switch all dependencies to use the OpenStack Yoga release.
This commit should be reverted on the master branch once the
Kayobe stable/yoga branch has been cut and RC1 released.
Change-Id: Ib7495c1bf79de8b1ea67e4a8652345c22e9d1a3e
The contextfilter decorator was deprecated in jinja2 3.0.0, and has been
dropped in 3.1.0. This results in the following warning, and failed
attempts to use filters:
[WARNING]: Skipping plugin (networks.py) as it seems to be invalid:
module 'jinja2' has no attribute 'contextfilter'
This change switches to use the pass_context decorator. The minimum
version of Jinja2 is raised to 3 to ensure pass_context is present.
This change also includes some changes to address issues with image
builds in CI, caused by CentOS Scream.
1. disable IPA image builds in seed deploy jobs
IPA image builds will be split out into a separate job. For now, disable
them.
2. disable overcloud host image builds in seed deploy jobs
Overcloud host image builds will be split out into a separate job. For
now, disable them.
Depends-On: https://review.opendev.org/c/openstack/kayobe/+/835279
Change-Id: If657bf5b0117812d3c53942464cc41cf86cc8ad5
The update of MichaelRigart.interfaces to v1.13.0
introduced a regression due to
https://github.com/michaelrigart/ansible-role-interfaces/pull/118.
Configuration for active interfaces could be removed and not recreated,
if not present in the kayobe network interface configuration. This
affects the Kayobe development environment, in which the configuration
does not touch the host's real network interfaces. That would lead to
DHCP leases not being renewed, and consequent loss of access to the
host.
This change fixes the issue by bumping to v1.13.1, which reverts the
change.
Change-Id: I03da729e1d05783af2e290237485f6035d2ddcdc
This patch adds the openstack.kolla collection to the Galaxy
requirements. It is installed from the OpenDev git repository. The
collection is not yet used by Kayobe.
Zuul cross-project dependencies on the ansible-collection-kolla
repository are supported (and used in this commit).
Story: 2009854
Task: 44503
Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/820165/
Change-Id: I91cbac839f816a00ac54bc4a350f44b5ae457cc3
This is only supported on CentOS for now due to limitations of the
Ansible role used to configure tuned.
Change-Id: Ie07c5f467975f8da2f720e70c94cea6285981d72
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Story: 2007853
Task: 40155
The jriguera.configdrive role does not add VLAN=yes to the ifcfg script
of a VLAN interface on the seed VM, unless type=vlan is passed in the
network device list. This change passes this field for VLAN interfaces.
Depends on https://github.com/jriguera/ansible-role-configdrive/pull/11
Change-Id: I6946b578f23843dd3cbafcb185b8d8cfbb00c080
Story: 2008089
Task: 40790
This change adds support for installing Ansible collections via
requirements.yml in Kayobe or Kayobe config.
Story: 2008391
Task: 41315
Change-Id: I764ff019a18266b593add7ab80ee095d7d07a869
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 Kayobe
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
Story: 2007993
Task: 42464
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/791276
Change-Id: I14db53ed6e57d37bbd28dd5819e432e3fe6628b2
Some time ago in Kayobe we switched from using set_fact to override the
ansible_python_interpreter variable to using a task variable. However,
not all of the galaxy roles were updated to match. This can lead to an
issue where a fact set by the os_networks role overrides the task
variable set in Kayobe.
Note that we haven't seen this in CI since the code path requires the
use of a VLAN provisioning network, and CI uses a flat network.
Change-Id: I14289df5e248b5b47fb8e60c6eea1ac845f50fd3
Story: 2008284
Task: 41158
Some hosts in the kayobe inventory might not be in the kolla-ansible
inventory so it makes sense for kayobe to manage NTP.
Change-Id: Iacb579a46b0e9769a4c404a858d17968f74dd7e0
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/786040
Story: 2007872
Task: 40240
On systems without qemu-img installed, seed VM provisioning will fail
when creating qcow2 disk images. This is the case with some Ubuntu
images. This change updates the stackhpc.libvirt-vm role to v1.14.1,
which installs qemu-img.
Change-Id: I205b40c142adcbe0deb2ea6296c246533fd49def
Story: 2004960
Task: 42330
An initial version of the mrlesmithjr.mdadm role was released 2 days
ago. There are only minimal changes compared to the commit we were
using. This should avoid the following issue seen in CI:
[WARNING]: - mrlesmithjr.mdadm was NOT installed successfully: - the specified
version (5be3ee7d330aa17317897bd104dc87ff0df11915) of mrlesmithjr.mdadm was not
found in the list of available versions ([{'id': 152374, 'url': '', 'related':
{}, 'summary_fields': {}, 'created': '2021-04-24T02:51:30.453954Z', 'modified':
'2021-04-24T02:51:30.453980Z', 'name': 'v0.1.0', 'version': '0.1.0',
'commit_date': '2021-04-23T22:50:00-04:00', 'commit_sha':
'b8a9853b7eafa9afc62bbb7728f64fd5dc9f54de', 'download_url':
'https://github.com/mrlesmithjr/ansible-mdadm/archive/v0.1.0.tar.gz', 'active':
None}]).
ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
Change-Id: I3d85b341cf541cfb9b486021e66b316833fe9130
This change adds support for network configuration via systemd-networkd
on Ubuntu systems.
This is implemented via an Ansible Galaxy role,
stackhpc.systemd_networkd which was forked from
aruhier.systemd_networkd. Several improvements were made in
https://github.com/stackhpc/ansible-role-systemd-networkd/pull/1,
including:
* Add support for removing unexpected config files
* Use become where necessary
* Refactor config generation into a single task to improve performance
The systemd_networkd role does not add much abstraction on top of the
systemd-networkd configuration file format, which provides a lot of
flexibility at the expense of additional code in Kayobe. This code is
implemented as filter plugins, similarly to the existing
MichaelRigart.interfaces role.
This patch includes support for:
* Ethernet interfaces
* bridges
* bonds
* VLANs
* virtual Ethernet pairs (to connect Linux bridges and OVS bridges)
* static IP addresses
* static routes
* MTU
Some network attributes are currently not supported for
systemd-networkd:
* rules
* route options
* ethtool_opts
* zone
* allowed addresses
Story: 2004960
Task: 41881
Change-Id: I248b5bb9ce5a80a07a2a311cb3aca6daca920720
The stackhpc.libvirt-host 1.8.2 release includes support for modifying
the libvirt QEMU AppArmor template to include the path of directory
backed pools. This allows the 'kayobe seed vm provision' command to
succeed with AppArmor enabled.
Story: 2004960
Task: 42091
Change-Id: I20d8ee783cdf158bbb469e831518e36d3c8ed73f
Issues:
* bond configuration not working on Ubuntu - disabled in CI test
Story: 2004960
Task: 41560
Change-Id: Ib124dc6f313a2a13fa509b10702c6141f102f2f9
* Use source images
* Need to specify bash for &> syntax
Issues worked around:
* Manually configuring bridge via ip commands makes ifup fail to bring
up the link. Adds a kayobe-network-bootstrap Zuul CI role that adds
persistent configuration for the all-in-one network.
* bridge not active after interfaces role bounce. Added a pause, similar
to https://github.com/michaelrigart/ansible-role-interfaces/pull/31
* fails installing docker python module for kolla user. WARNING: The
repository located at mirror-int.ord.rax.opendev.org is not a trusted
or secure host and is being ignored ERROR: No matching distribution
found for docker===4.4.0 Adding trusted host for PyPI mirror.
* Tenks fails to create block devices - missing qemu-img (in qemu-utils)
* Tenks qemu emulator is different on Ubuntu
Remaining issues:
* Bare metal testing is unreliable on Ubuntu - some jobs see IPMI
failures such as the following:
ipmitool chassis bootdev pxe
Error setting Chassis Boot Parameter 5\nError setting Chassis Boot
Parameter 0\n
Bare metal testing is disabled on Ubuntu for now.
Depends-On: https://review.opendev.org/766984
Depends-On: https://review.opendev.org/766958
Story: 2004960
Task: 29393
Change-Id: I1985efae7c18f55c3ff7c27c17d6242523904f3e