Current Series Release Notes¶
32.0.0.0rc1-142¶
Prelude¶
Added possibility for deployments on AlmaLinux 10
Group definitions for OpenStack-Ansible were changed by replacing dashes with underscores. Please check the Upgrade section for more detatails on how this affects you.
Magnum Cluster API drivers support have been promoted from the OPS repository to the os_magnum role. Please reffer to the upgrade guide <https://docs.openstack.org/openstack-ansible/2026.1/admin/upgrades/major-upgrades.html> and os_magnum documentation for more details on required steps for migration.
New Features¶
Variables
_oslomsg_rpc_vhostand_oslomsg_notify_vhostfor mq_setup role are now a list of mappings, which means you can manage multiple vhosts within same role include. You can provide state and name keys for vhosts. For backwards compatability variables stil can be supplied as a string but this behaviour is deprecated and will be removed in the future.
Usage of AlmaLinux 10 is now possible both on deploy and target nodes.
Ansible Core version was switched to 2.19 series.
Ceph-ansible branch was switched to stable-9.0.
Intorduced new variable
nova_console_type_mappingwhich defines default console types per architecture. This variable is used to define the default value ofnova_console_typeas well as generate availablenova_console_proxy_types.
Added coordination support to the Ceilometer service. In case zookeeper is present in deployment, service will be configured to use it for coordination. Operators are able to supply arbitrary coordination url via
ceilometer_coordination_urlvariable.
With deprecation and removal of
ANSIBLE_GATHER_SUBSET, a new Ansible variableosa_gather_subsetwas implemented to replace it.ANSIBLE_GATHER_SUBSETis still respected and is used as a fallback in caseosa_gather_subsetis not defined.
Implemented variable
glusterfs_clear_peerswhich can be used to clean-up stale peers along with their bricks. It is useful during OS upgrades or re-installs on the peers, when glusterfs metadata is not preserved.
The
hashi_vaultbackend was added to PKI role.
Added series of CAPI driver-specific variables to the
os_magnumrole in order to allow driver version selection for deployment.
Introduced variable
magnum_k8s_driver, with possible options:heat - current default, removed in 2026.2
- azimuth - CAPI HELM driver, relying heavily on HELM charts
which are maintained by Azimuth Cloud.
vexxhost - Magnum CAPI driver maintained by Vexxhost.
Introduced variable
venv_build_requirementswhich contains the list of tools required to build packages, such assetuptools,wheels,pbr, etc.
Introduced variable
venv_default_pip_build_argswhich contains default arguments expected by the role which are passed topip wheel.
Added new configuration option
horizon_keystone_prefer_domain_tokenthat defaults totrue. When multidomain support is enabled and user has any roles in a domain, Horizon will mostly attempt to use domain scope for calls to Keystone. This behavior does not work properly with some policy combinations.
Introduced variable
neutron_ovn_log_parametersto control the log destination and verbosity for OVN service. By default logging is performed only to the journald.
Introduced variable
pacemaker_corosync_installwhich allows to skip pacemaker/corosync deployment in case some other mechanism is used for masakari monitors.
Added support of the Direct References <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references> for python packages defined as part of
venv_pip_packages.
A variable
post_metal_configuration_hookis introduced, which can be used to define a hookable playbook which will execute right after configuration of metal host in perfromed inside ofopenstack_hostsrole. This might be a handy for downstream customizations to happen, as networkd, mounts, services and kernel modules are already configured at this point, but LXC containers are not yet created.
Support is added for the ‘reference_group’ provider_networks parameter when identifying which net_names and VLAN ranges can be accessed by specific hosts. This targets deployments which make use of external routed provider networks.
Added variable
security_rhel7_enable_auditdthat can be used to disable auditd configuration.
Added variable
service_update_passwordthat will control whether password should be updated, which defaults to False. This changes previous behaviour when service passwords were always updated in the keystone on role run. Please use this variable whenever you need to update a password for the service.
Now you can supply
roleas list of mappings inside_service_users, where you can supply name and state keys. State absent will result in revoking role assignment from the user.
Added new configuration option
horizon_swift_panel_full_listingthat defaults tofalse. To prevent Horizon from doing full listing of containers and objects in the Swift panel that can cause high resource consumption in Horizon.
Added a new variable
trove_guest_swift_endpoint_typewhich is set topublicby default. This intends to replace thetrove_guest_swift_urlvariable by fetching endpoint URL from keystone, rather then have it defined inside of guests config.
Introduced variable
galera_transaction_isolationwhich is effective only for MariaDB >= 11.1. Defaults toREAD-COMMITTED.
Updates OVN to version 26.03 for RHEL.
RabbitMQ was upgraded to version 4.2.7.
Known Issues¶
Octavia coordination and jobboard are disabled due to ZooKeeper instability (ConnectionLoss and session expiration issues) until the problem is resolved. Redis can be used as an alternative backend if coordination is required.
A known issue exists in Horizon where user sessions may be unexpectedly invalidated due to internal memoization and cache handling behavior.
As a temporary mitigation, operators may configure Horizon to use the cookie-based session backend by setting the horizon_session_engine option to django.contrib.sessions.backends.signed_cookies instead of a memcached session storage backend.
Upgrade Notes¶
os_cinderrole uses an upstream version ofresource_filters.json, and local template is no longer part of the role. All overrides defined throughcinder_resource_filters_overridesare applied on top of the upstream version.
In order to configure SPICE frontend/backend on the loadbalancer use
nova_console_type_mappinginstead ofnova_console_type.For example:
nova_console_type_mapping: x86_64: spice ppc64le: novnc aarch64: serialconsole
Variable
nova_console_typeis compute-specific and is not used to calculate configuration for the Load Balancer.
The legacy
service:wrapper inhaproxy_service_configsis no longer supported. Only the flat service definition format is accepted. Ensure all service entries are updated before upgrading.
OVN version for EL-based distros is upgraded to 25.09
Due to OVN packaging specifics on EL-based distros, in order to perform the upgrade of packages, OVN needs to be uninstalled first. This process may lead to connectivity issues on workloads, so needs to be performed with caution.
In order to ensure consistent behavior for connection towards LXC hosts, a new variable
physical_host_addrhas been added toopenstack_inventory.jsonfor all LXC containers. This variable points to theansible_hostaddress of parent LXC host, and will be used by connection plugin.
Group
metering-group_containerhas been renamed toceilometer_compute_containerfor general consistency across group naming logic
All OpenStack-Ansible groups, conf.d and openstack_user_config.yml definitions were renamed by replacing all existing dashes with underscores. This change was made in order to comply with Ansible groups naming convention, which has been introduced back in Ansible 2.8. While old definitions should work after the upgrade, it is still recommended to replace group names with underscores inside of the
openstack_user_config.ymland conf.d files, as well as theopenstack_inventory.json, as the dynamic_inventory will not perform the conversion. Please note, that old group names can be also referenced inopenstack_user_config.ymlinside of the``provider_networks`` ->group_binds. So please ensure, that network bindings are also updated and contain group names only with underscores in their names. Ansible will issue a warning in case invalid group names are present in theopenstack_inventory.json, but will proceed with the replacement of dashes with underscores. You can ignore these warning messages and return the previous behavior by addingANSIBLE_TRANSFORM_INVALID_GROUP_CHARS=ignoreto/etc/openstack_deploy/user.rcor silence warnings and accept conversion to the new group names by addingANSIBLE_TRANSFORM_INVALID_GROUP_CHARS=silentlyto the/etc/openstack_deploy/user.rc. Change of the value for ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS may affect environments, where deploy hosts are also used actively to run 3rd party Ansible roles and playbooks. You can read more about the variable and it’s effect on Ansible Community Documentation
In case you was already using Magnum CAPI functionality prior to this release, you will need to take several extra steps in order to migrate from standalone OPS repository to the integrated way of deploying supporting k8s cluster and CAPI drivers. Please reffer to the upgrade guide and
os_magnumrole documentation for more details.
The new default value for
manila_service_typewas set to ‘shared-file-system’, to align with official manila service type.
The new default value for
manila_enable_v2_apiwas set tofalsedue to the removal of v1 API.manila_service_*variables are referring to v2 API now. It means that ‘sharev2’ endpoint will disappear after the upgrade. Setmanila_enable_v2_apitotrueto keep it present in service catalog.
MariaDB version is upgraded to 11.8.8.
Group names for Octavia were changed by replacing dashes with underscores in order to align with all other services. Following changes in group names were made:
octavia-api -> octavia_api
octavia-worker -> octavia_worker
octavia-housekeeping -> octavia_housekeeping
octavia-health-manager -> octavia_health_manager
Variables
_oslomsg_configure_rpcand_oslomsg_configure_notifyrenamed to_oslomsg_rpc_configureand_oslomsg_notify_configurecorresponsively to align variables naming convention in the role.Old variable names are not used or respected anymore.
It is recommended to replace all packages containing
#eggfragemnt with Direct References <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references> during the upgrade.
Note that ‘reference_group’ in provider_networks now impacts Neutron agent configuration. If net_names or VLAN ranges are defined alongside a ‘reference_group’, these will only be applied to hosts which exist in the ‘reference_group’. If ‘reference_group’ was not used previously then the behaviour will be unchanged. This only applies to ‘flat’ or ‘vlan’ network types.
Variable
glance_digest_algorithmhas been removed and has no effect anymore.
Support for Glance API v1 has been removed.
Variable
nova_oslomsg_heartbeat_in_pthreadhas been removed and has no effect anymore.
Variable
cinder_oslomsg_heartbeat_in_pthreadhas been removed and has no effect anymore.
Variable
neutron_oslomsg_heartbeat_in_pthreadhas been removed and has no effect anymore.
Support for
novajoin-tempest-pluginhas been removed.
Glance
scrub_timeparameter has been removed.
Support for
zaqar-tempest-pluginhas been removed.
Glance API can now be run only with uWSGI mode. In case you currently run Glance in eventlet mode, it will be switched to uWSGI during the upgrade.
Format of the
trove_guest_ssh_security_group_extra_ruleshas changed. Now, according to it’s name, the variable expects to recieve a list of rules, which will be added to the Trove management security group.
From now own
trove_guest_swift_urldefault value is an empty string. Is this case,swift_urlwill be ommited from guest agent config, and replaced with aswift_endpoint_typevalue instead, which is defined viatrove_guest_swift_endpoint_type.
During upgrade of RabbitMQ to 4.2 series, a migration from mnesia to khepri database is going to be perofromed through enabling
khepri_dbfeature flag. You can learn more details about the migration in RabbitMQ Documentation
Deprecation Notes¶
Definition of variables
_oslomsg_rpc_vhostand_oslomsg_notify_vhostas a string is deprecated in favor of list of mappings.
Magnum Heat driver has been deprecated by the community in 2025.1 and is removed early in 2026.2 release. Current release (2026.1) is the last release where Heat driver is available, and operators should consider migration to one of the CAPI drivers available.
Due to the removal of v1 API,
manila_service_*variables are referring to v2 API now.manila_service_v2_*variables are not needed anymore and they are considered as deprecated:manila_enable_v2_api
manila_service_v2_name
manila_service_v2_port
manila_service_v2_proto
manila_service_v2_type
manila_service_v2_description
manila_service_v2_publicuri
manila_service_v2_publicurl
manila_service_v2_adminuri
manila_service_v2_adminurl
manila_service_v2_internaluri
manila_service_v2_internalurl
Variables
_oslomsg_configure_rpcand_oslomsg_configure_notifyare deprecated in favor of_oslomsg_rpc_configureand_oslomsg_notify_configure.
Using
#egg=fragments as part of the path forvenv_pip_packagesis deprecated and will be removed in the future.
Variable
glance_use_uwsgiwas removed and has no effect anymore.
Variable
rabbitmq_gpg_keyswas removed and does not have any effect anymore. GPG keys defenition are part ofrabbitmq_repoandrabbitmq_erlang_repofor both Debian and RedHat.
The configuration option
swift_allow_versionsis deprecated and removed.
Swift role, configuration option
expiring_objects_account_nameare deprecated and removed.
Bug Fixes¶
Fixed creation of
OS::Cinder::Volumewith constrainedcinder.vtypeusing Heat through update ofresource_filters.jsonfor Cinder.
Logic of defining and configuration of all available console types has been revamped and improved, to ensure that consoles will be configured based of available compute architectures in the deployment.
Fixed Horizon returning HTTP 500 when a memcached node becomes unreachable. Horizon session cache now bypasses dead nodes instead of raising a connection error, keeping the dashboard operational.
Usage of custom
zookeeper_cluster_address_hostvars_keyhas been fixed for thezookeeperrole. Previously it still attempted to useansible_hostvariable in multiple places.
Fixes regression, where connection to LXC hosts was attempted through the management network while targetting LXC containers. This was affecting deployments with split SSH and Management networks, and deploy host did not have access to the Management network.
SPICE console deployment is fixed for Nova. See LP: #2142716
Templating of Swift’s PYPY_GC_MIN and PYPY_GC_MIN defenition in systemd services has been fixed, and now these environment variables are respected
uWSGI is now listening
cert installedtrigger and gets restarted on TLS certificate update.
Skyline deployment logic for YARN builds in multinode environments has been fixed. Though, it still relies on wheels build, and may mis-behave in case of running with
-e venv_wheel_build_enable=false
OpenStack-Ansible and venv version detection is fixed for environments which were upgraded from pre-Flamingo releases.
Fixed an issue in Horizon where user sessions could be unexpectedly invalidated due to memoization and cache handling when using memcached-backed session storage.
Behavior of
nova_console_user_ssl_cert,nova_console_user_ssl_ca_certandnova_console_user_ssl_keywas fixed.
OVN is now properly logging to journald instead separate log files. This fixes issue with OVN log files not being managed and rotated, which leads to excessive disk consumption.
GPG key URLs for RabbitMQ and Erlang were updated to relevant ones for RPM-based distributions. This fixes RabbitMQ/Erlang installation for CentOS and Rocky Linux.
Fixed behavior of
trove_guest_ssh_security_group_extra_rules, as it used to expect list of extra security groups to be defined, instead of extending management security group with user rules.
Different race conditions in services are fixed when keystone password is forcefully reseted. Closes Bug: #2023370
For MariaDB 11.1 and higher, a parameter
transaction_isolationis defined explicitly and set toREAD-COMMITTEDin order to avoid race conditions when multiple instances of a service are trying to read at the same time.
Other Notes¶
Default value of
httpd_custom_log_formathas changed to include%{X-Forwarded-For}iby default. When header is not present, it will be logged as an extra"-".
Updated default value of
keystone_apache_custom_log_formatto contain the X-Forwarded-For header logging when present.
The
python_venv_buildrole is not using build isolation provided by PIP for the installed packages and built wheels. The--no-build-isolationis passed to bothpip installandpip wheelcommand. Please, ensure all required tools are present invenv_build_requirementsfor successfull installation.
32.0.0.0rc1¶
New Features¶
Added support for
conditionkey forceph_extra_componentsmapping, which could be used to define a more narrow conditions when component should be having ceph mappings.
Introduced variable
ceph_cinder_backup_enabledwhich can be manually overriden to enable provisionment of Ceph client tocinder-backupservice. Previously logic for this has been hardcoded and not easily overridable.
Added coordination support to the Aodh service. In case zookeeper is present in deployment, service will be configured to use it for coordination. Operators are able to supply arbitrary coordination url via
aodh_coordination_urlvariable.
Erlang version was updated to 27.3.x series.
RabbitMQ version was upgraded to version 4.1.4
Added variable
venv_install_toolwhich has default value ofpip. You can define it touvto leverage package installation inside of the venv usinguvtool instead ofpip. Wheels build and venv creation is still managed viapipandvenvrespectively.
Upgrade Notes¶
Variable
networking_ovn_bgp_install_branchhas been renamed tonetworking_ovn_bgp_git_install_branchin order to match existing naming convention.
With removal of eventlet mode for
neutron-serverin Neutron, the only supported mode for the service is uWSGI. All deployments using eventlet will be migrated to uWSGI mode forneutron-server. With that multiple extra mandatory services will be started together withneutron-server, likeneutron-rpc-server,neutron-periodic-workersandneutron-ovn-maintenance-workerfor OVN-based deployments.
Deprecation Notes¶
Variable
neutron_use_uwsgihas been removed and has no effect, since eventlet mode forneutron-serverhas been dropped in 2025.2 (Flamingo). uWSGI is the only supported mode at the moment.
Variable
octavia_legacy_policywas removed and has no effect anymore. In case you was using the variable and it was set toTrue, you can incorporate policy changes this variable was implementing to youroctavia_policy_overrides. You may find rules controlled by this variable via the link
Remove
SHOW_KEYSTONE_V2_RCconfig option, which was deprecated since the Stein release. It is now safe to remove this option.
Bug Fixes¶
Fixes SHA pinning and installation of
ovn-bgp-agent, as SHA pinning and role were using different variable names.
URI to Shibboleth mirror has been fixed for EL-based distributions.
Other Notes¶
Debian/Ubuntu Repository for RabbitMQ has changed from ppa1.rabbitmq.com to deb1.rabbitmq.com and deb2.rabbitmq.com.