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
If ironic-python-agent is not installed in the IPA image using
upper-constraints, the ironic-lib selected by pip for installation may
be newer than ipa.
Use upper-constraints for the same version as ironic-python-agent when
installing it, by passing the DIB_REPOREF_requirements environment
variable to ironic-python-agent-builder.
Closes-Bug: #2089263
Change-Id: I6e33f9897dc7efc57987872ffccdfbe0fc78cc52
The Zed release which introduced support for Rocky Linux 9 is now
unmaintained, let's remove this upgrade note.
Change-Id: I19263f7c1b8ed130fd41a78aab6574fb629f4cb7
When kolla_base_arch and ansible_facts.architecture differs
we need to run multiarch/qemu-user-static image - see [1].
[1]: https://github.com/multiarch/qemu-user-static
Co-Authored-By: Bartosz Bezak <bartosz@stackhpc.com>
Change-Id: If149418f509c687c3e5d1072cc39a80af33dec5a
Some network devices may use SSH key exchange algorithms that are no
longer supported by the Ansible control host. This will cause
ssh-keyscan to fail, preventing Kayobe from configuring the devices.
This change makes it possible to work around the issue by setting
switch_skip_keyscan to true for the affected devices. The SSH known
hosts file on the Ansible control host will need to be populated
manually.
Change-Id: I4e3394cff1fd86eb5c1a4be55d6fd7fd080b2944
eos_config does not support provider, nor connection: local from at
least 2022 [1] - since ansible>=7 (ansible-core 2.14).
[1]: 588d94b2ed
Closes-Bug: #2058365
Change-Id: Ief37b7bee758e34dddb881a9e68728013861c0ec
Previously Kolla Ansible hard-coded Neutron physical networks starting
at physnet1 up to physnetN, matching the number of interfaces in
neutron_external_interface and bridges in neutron_bridge_name.
Sometimes we may want to customise the physical network names used.
This may be to allow for not all hosts having access to all physical
networks, or to use more descriptive names.
For example, in an environment with a separate physical network for
Ironic provisioning, controllers might have access to two physical
networks, while compute nodes have access to one.
This change extends the 'physical_network' network attribute to make it
possible to customise the Neutron physical network names used for the
OVS, OVN, Linux bridge and OVS DPDK plugins. The default behaviour is
unchanged.
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/922320
Change-Id: I214444c60653f484fcda6275cc725879d14f9e7a
Added initial support for systemd-networkd link configuration, now
you can configure and rename the name of a network interface if you
know the MAC address of the interface.
Also added unit tests and fixed issues in the test_overcloud_host_configure.py:
* Added unit test for networkd.
* Fixed pep8 issues.
* Removed unused import.
* Fixed 'not in' issue in assert.
Change-Id: I8321183dbc747ef521aa0d2660ebeef8b0342c6a
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
Currently Kayobe sets ipv4_interface_mac to pxe interface
MAC address.
In cases where provisioning network interface and admin
network interface are different - this feature can be used
to get MAC address from Ironic introspection data.
Change-Id: Ie3c9248f0b3e47e3645e1886c0492265d52969c9
Follow-up on I43a9c2a57fcfe2c9d84f39903aac7c258f9a897f. As discussed
before we set slightly more accurate name for the manage containers
role since using 'deploy-containers' role with action 'destroy' can
be a little confusing.
Change-Id: I6d4a3479d492e0fe86ce3de7414fa47c584577ea
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
This commit changes seed-images jobs to build seed and overcloud
container images, each with a customisable regex.
The rocky9 job continues to build only the base image, although for both
overcloud and seed instead of seed only.
The other seed-images jobs (centos9s and ubuntu-jammy) now build all
default overcloud images. This takes longer and can fail for various
reasons unrelated to Kayobe, but this is fine since the jobs are marked
as experimental.
This is to attempt to catch bugs in the image build code, such as the
ones fixed by [1].
Note that the ubuntu-jammy job does not build the bifrost-deploy seed
image because the build is currently timing out. The centos9s job builds
it successfully.
Also update release documentation to remind developers to run
experimental jobs.
[1] https://review.opendev.org/c/openstack/kayobe/+/921012
Change-Id: Idf705d9cf41766a897444898ac31c4635b70ec16
This can be useful when using a seed VM that is not deployed by kayobe,
and can therefore not use ``kayobe seed deprovision``, especially when
iterating on kayobe-config during the inital stages of a deployment, or
for development, where you want to re-run the playbooks from a clean-ish
state.
Change-Id: I43a9c2a57fcfe2c9d84f39903aac7c258f9a897f
This allows us to continue execution until a certain proportion of hosts
fail. This can be useful at scale, where failures are common, and
restarting a deployment is time-consuming.
The default max failure percentage is 100, keeping the default
behaviour. A global max failure percentage may be set via
kayobe_max_fail_percentage, and individual playbooks may define a max
failure percentage via <playbook>_max_fail_percentage.
Related Kolla Ansible patch:
https://review.opendev.org/c/openstack/kolla-ansible/+/805598
Change-Id: Ib81c72b63be5765cca664c38141ffc769640cf07
This is useful to ensure logs are persisted across reboots.
Change-Id: Ie5ff7536b160196dc57448c3ed982d15826b2cbe
Closes-Bug: #2055299
Co-Authored-By: Piotr Parczewski <piotr@stackhpc.com>
This patch adds experimental functionallity to enroll baremetal nodes
into Ironic using Kayobe via a new playbook 'baremetal-compute-register.yml'
and adds 'kayobe baremetal compute register' into the Kayobe CLI.
Depends-On: I719fc8042742fe8b3b0312658aec39317a1bc358
Change-Id: I988b082b539acfc2710d42e89bcac5b7a1eb526a
This support is now available in the MichaelRigart.interfaces role.
The host configuration CI test has been updated to test policy-based
routing routes and rules on CentOS Stream and Rocky Linux. It also now
tests both the string and dict rule formats on CentOS and Rocky.
Change-Id: Ie77530c38ab426dcbaa442776bcf048d7bbc0f01