Current Series Release Notes¶
20.0.0-109¶
New Features¶
Adds
ansible-pylibsshto Kayobe’s Python requirements. It is used bykayobe physical network configurefor switches using theansible.netcommon.network_cliconnection, as theparamikotransport fornetwork_cliis deprecated inansible.netcommon.
Adds support for configuring Cisco NX-OS switches with
kayobe physical network configure. Setswitch_typetocisco-nxosto use this support.
Adds support for configuring Dell Enterprise SONiC switches using
sonic-cli, via thedellemc.enterprise_sonicAnsible collection. This is integrated into thekayobe physical network configurecommand.
Adds support for QoS egress/ingress settings in systemd-networkd for Debian-family distributions. Use
ingress_qos_mapandegress_qos_mapvariables to configure QoS maps for incoming and outgoing packets respectively.
Adds the
--install-onlyand--no-installcommand line options tokayobe control host bootstrap. Ininstall-onlymode, only the dependencies are installed, but the rest of the host configuration is skipped. Inno-installmode, install is skipped, but the rest of the tasks are executed.
Adds support for configuration of AlliedWare Plus switches. This is integrated with the
kayobe physical network configurecommand.
Adds support for Cisco NX-OS switches in the Neutron
genericswitchML2 mechanism driver configuration generated fromkolla_neutron_ml2_generic_switch_hosts. Setswitch_typetocisco-nxosto use thenetmiko_cisco_nxosdevice type.
The nmstate network engine now supports Ansible check and diff modes. Running for example
kayobe overcloud host configure --check --diffreports whether network changes are required and shows the computed differences without modifying the host.
Adds support for configuring hostnames via Kayobe. This is disabled by default; it can be enabled by setting
kayobe_customize_hostnamestotrue. By default, Kayobe will use the Ansible inventory hostname. This can be overriden by settingkayobe_custom_hostname.
Adds support for updating cache during host package update on all supported systems.
Upgrade Notes¶
Switches using the
ansible.netcommon.network_cliconnection now uselibsshrather thanparamiko. Setansible_network_cli_ssh_typetoparamikoto keep the previous behaviour.
Deployments using Dell OS6, OS9 and OS10 switches are required to update their configuration according to Dell OS6, OS9, and OS10 documentation.
Updates the maximum supported version of Ansible from 13 (ansible-core 2.20) to 14 (ansible-core 2.21). The minimum supported version is updated from 12.x to 13.x. This is true for both Kayobe and Kolla Ansible.
docker_storage_driveris now unset by default, which defers to the Docker runtime default storage backend.On fresh installations of Docker Engine 29.0 and later, Docker uses the containerd image store by default. On existing installations upgraded from earlier Docker versions, Docker continues using the legacy graph drivers (including
overlay2) until the containerd image store is explicitly enabled. See the Docker containerd image store documentation for details.
Drops support for CentOS Stream 10. Rocky Linux 10 can be used in its place.
Removed the deprecated options
--kolla-tagsandkolla-limitfrom all commands.
Enables systemd-resolved on Ubuntu hosts.
Kayobe no longer sets
ANSIBLE_ALLOW_BROKEN_CONDITIONALS=truein the environment when executing Ansible playbooks. Custom playbooks that use conditionals which do not evaluate to a boolean value will now fail. These should be updated to use explicit boolean expressions, for examplewhen: my_list | length > 0rather thanwhen: my_list. As a temporary workaround,ANSIBLE_ALLOW_BROKEN_CONDITIONALS=truemay be set in the shell environment, orallow_broken_conditionals = Truemay be set in the[defaults]section of${KAYOBE_CONFIG_PATH}/ansible.cfg.
Removes the deprecated configuration variable
external_net_name. Users should useexternal_net_namesinstead.
Support for deploying Swift has been removed, following its removal from Kolla Ansible. This includes the
kayobe overcloud swift rings generatecommand, theswift-ringsandswift-block-devicesroles, and the associatedswiftinventory and configuration variables.
Bug Fixes¶
Fixes an error in the manage-containers role that occurred when running
kayobe overcloud service reconfigure. LP#2160941
Fixes an issue where seed service deployment could fail with a
DiscoveryFailureerror when an HTTP proxy is configured. The seed’s provisioning IP address is now included in the defaultno_proxylist, preventing the proxy from intercepting requests to seed services such as Ironic. LP#2154438
Fixes physical network configuration for Dell OS6, OS9 and OS10 switches. Note that users are required to update their configuration according to Dell OS6, OS9, and OS10 documentation. LP#2137705
Fixes displaying the error when a failure to retrieve an inspection rule occurs. LP#2162058
Resolves an issue that prevented Arista switch interface configuration from being applied. LP#2162130
Fixes Bifrost deployment by ensuring that extra kernel parameters are successfully parsed by Ironic. LP#2162755
Fixes Dell OS10 switch config. Also makes sure that VLAN interfaces are defined first as others might depend on them. LP#2168529
Fixes Dell switch configuration tasks always reporting as
changedwhen saving switch configuration was enabled. Switch configuration is now saved only when changes have been made. LP#2168538
Fixes regression causing DellOS10 switch config tasks to always change description strings if there are not whitespace characters. LP#2168557
Fixes Dell OS9 switch config. LP#2168744
Bumps the
stackhpc.openstackcollection to version 0.10.2. This fixes a broken conditional causing IPA and overcloud image build failures whenALLOW_BROKEN_CONDITIONALSis disabled. LP#2157021
Fixes Kayobe’s Ansible user setup in check mode by ensuring that the Python availability check runs. This allows the following task to correctly determine whether Python needs to be installed. LP#2165042
Fixes a race when configuring firewalld that could cause host configuration to fail with
INVALID_ZONEfor a zone that was created while firewalld was still starting up. The firewalld role now waits until the firewalld D-Bus interface is ready before creating zones, ensuring that they are applied to the running daemon rather than only to the on-disk configuration.
Fixes an issue where
kayobe configuration dumpwould fail with ansible-core 2.19 or later. Variables that referencehostvarsor undefined variables are now resolved correctly, and variables that cannot be resolved are included in the dump in their raw form. LP#2166964
Fixes paths to EPEL repositories on Rocky Linux. Previously, they were only using the major version
$releaseverwhich could point to an incompatible repository. They now use both major and minor versions, e.g.10.2instead of10. There is no change on CentOS Stream which uses only the major version. LP#2156407
Fixes a bug where
ansible/overcloud-etc-hosts-fixup.yml, run as part ofkayobe overcloud host upgrade, attempted to run on all overcloud hosts, including those that are not mapped through to the generated kolla-ansible inventory. It is now skipped on hosts that are not mapped through to kolla-ansible. LP#2167869
Fixes an issue with agent-based bare metal inspection, where the collectors were not being configured by Ironic. This was the case when using the managed inspection mode in Ironic.
Fixes the nmstate network engine when cloud-init creates a NetworkManager connection whose profile ID differs from the interface name (LP#2165006). Firewalld zone synchronisation now resolves the active profile from the interface before reading or updating its connection zone.
Fix all hostnames in a group being merged into a single line in the kolla overcloud hosts inventory file. LP#2158773
Fixes installation of Ansible roles and collections during
kayobe control host bootstrapto respect a customansible.cfgin the Kayobe configuration path. Previously theansible-galaxycommands were run withoutANSIBLE_CONFIGset, so configuration such as a custom Galaxy server list (server_list) was ignored and the default public Galaxy server was used instead.
Fixes installation of Kolla Ansible collection dependencies during
kayobe control host bootstrapto respect a customansible.cfgin the Kayobe configuration path. Previously theansible-galaxycommands run by thekolla-ansiblerole did not setANSIBLE_CONFIG, so configuration such as a custom Galaxy server list (server_list) was ignored and the default public Galaxy server was used instead.
Fixes a bug where the httpd image does not get built with
kayobe overcloud container image build. LP#2161615This image was introduced in Kolla from change 954707.
The httpd image will be built by default when any of following variables are set to true:
kolla_enable_ironic
kolla_enable_keystone
kolla_enable_letsencrypt
The nmstate network engine reported
changedon every run for hosts whose runtime state contains volatile data (for example Linux bridges, whose bridge ageing timers such asgc-timerchange over time), because it compared fulllibnmstate.show()snapshots taken before and after applying the state. Change detection now useslibnmstate.generate_differences(), which only compares the desired state against the runtime state. LP#2164642
The
ntprole now explicitly skips thecommandbased clock synchronisation tasks when running in check mode.
Optimize network connectivity check by mapping of network name to hosts on that network only once per play, instead of once per host.
Fixes a bug found when trying to assign a multi-word description to a Dell OS switch with
kayobe physical network configure. LP#2161899
Fixes deployment image updates failing when an Ironic node is missing deployment image IDs. LP#2165045