networking-baremetal 8.0.0 (hibiscus)
We are satisfied to announce the release of: networking-baremetal 8.0.0 This release is part of the hibiscus release series. The source is available from: https://opendev.org/openstack/networking-baremetal Download the package from: https://pypi.org/project/networking-baremetal Please report issues through: https://bugs.launchpad.net/networking-baremetal/+bugs For more details, please see below. 8.0.0 ^^^^^ New Features ************ * L2VNI trunk subports now include the Neutron VLAN segment UUID in "binding:profile['segment_id']". This enables ML2 mechanism drivers like networking-generic-switch to use segment-based cleanup logic instead of parsing switch port configurations, allowing static trunk port configurations on physical switches. See bug 2144875 (https://bugs.launchpad.net/networking-generic-switch/+bug/2144875). Upgrade Notes ************* * The following deprecated options in the "[ironic]" section have been removed. * "auth_strategy" * "ironic_url" * "os_region" * "max_retries" * "retry_interval" * Support for Python 3.10 has been removed. Now Python 3.11 is the minimum version supported. * Deployments that have been running the ironic-neutron-agent with quorum queues ("rabbit_quorum_queue = True") may have stale RabbitMQ queues named "ironic-neutron-agent-member-manager.<hostname>.ironic- neutron-agent-member-manager-pool-<uuid>". These queues can be safely deleted manually after upgrading. Bug Fixes ********* * Fixed AttributeError in L2VNI trunk manager when accessing "ha_chassis_group" on logical router ports. The code was incorrectly treating "ha_chassis_group" as a single object when it is actually a list (with 0 or 1 element) in the OVN IDL schema. The fix now properly accesses "ha_chassis_group[0]" to get the HA_Chassis_Group object before iterating over its chassis members, matching the pattern used throughout the upstream Neutron codebase. See bug 2145014 (https://bugs.launchpad.net/networking- baremetal/+bug/2145014). * Fixed an issue in the router HA binding manager ("enable_router_ha_binding", default enabled) where router interface ports ("Logical_Router_Port") on networks with **no** external (baremetal/SR-IOV) ports were still being bound to that network's "HA_Chassis_Group". This pinned the router's east-west traffic to a single chassis, breaking basic default-gateway reachability and Distributed Floating IP traffic for regular VMs hosted on any chassis other than the one referenced by the "HA_Chassis_Group", in Neutron OVN deployments using "enable_distributed_floating_ip". Router interface ports are now only bound to a network's "HA_Chassis_Group" when that network actually contains at least one external port. See bug 2160270 (https://bugs.launchpad.net /networking-baremetal/+bug/2160270). * Fixes an issue where the driver attempted to set "requested- chassis" on localnet ports, which is not a valid option for this port type. See bug 2145148 (https://bugs.launchpad.net/networking- baremetal/+bug/2145148). * Fixed L2VNI trunk subport creation to avoid ML2 ERROR log spam. Previously, setting "binding:host_id" on subports before adding them to trunks caused unnecessary binding attempts that would fail. See bug 2148720 (https://bugs.launchpad.net/networking- baremetal/+bug/2148720). * The ironic-neutron-agent notification listener pool name now uses the agent hostname instead of a per-process UUID. Previously, each agent restart created a new permanent RabbitMQ queue named after the UUID, leaving behind stale queues with unconsumed messages when running with quorum queues ("rabbit_quorum_queue = True"). With quorum queues, "auto_delete" is not supported, so old UUID-named queues were never removed. Using the hostname as the pool name ensures the same queue is reused across restarts on the same host. Changes in networking-baremetal 7.2.0..8.0.0 -------------------------------------------- 305dfda Remove Python 3.10 support 24e09ee Clean up deprecated [ironic] options c682b64 Hide password option from logs fd22046 Drop unnecessary import/register error handling 3e59314 Restrict range of the port option 36422c5 Replace BaseEvent 421b515 use agent hostname for notification listener pool name f78f689 router_ha_binding: Skip networks without external ports 26a4705 docs: fix docs build 200e90a Clean up example local.conf fd52b22 Disable ovn-metadata-agent 6ee6023 Guard rabbit config access in _get_notification_transport_url f327f91 Remove binding:host_id setting for L2VNI subports 4e2df5a Remove invalid requested-chassis opt for localnet ports 7da1ef6 Remove redundant IDL table existence checks 33356f8 Optimize L2VNI trunk manager with caching and DRY f013387 Fix ha_chassis_group list access in trunk manager 7f12733 Use get_chassis_and_physnets from ovn_client ad3c982 Optimize router HA binding with chunked queries 90b06d2 Simplify conditional logging for link information 13df8a9 Refactor to use guard clauses and early returns c1dd686 Add segment_id to subport binding profiles 89b218e Update master for stable/2026.1 Diffstat (except docs and test files) ------------------------------------- networking_baremetal/agent/ironic_neutron_agent.py | 35 +- networking_baremetal/agent/l2vni_trunk_manager.py | 572 +++++++++++---------- networking_baremetal/agent/ovn_events.py | 11 +- networking_baremetal/agent/router_ha_binding.py | 135 ++++- networking_baremetal/drivers/netconf/openconfig.py | 9 +- networking_baremetal/ironic_client.py | 34 +- .../plugins/ml2/baremetal_l2vni_mapping.py | 179 +------ .../unit/plugins/ml2/test_baremetal_l2vni_mech.py | 58 +-- pyproject.toml | 4 +- ...o-subport-binding-profile-e70ed6b17c88760a.yaml | 9 + ...up-list-access-bug2145014-8976351990f2bbb0.yaml | 11 + ...binding-no-external-ports-c1c7d911b50a840e.yaml | 15 + ...ve-deprecated-ironic-opts-d17b4775af479804.yaml | 11 + ...ocalnet-requested-chassis-122cdaa8244cfc79.yaml | 6 + .../notes/remove-py310-9e5bb1241918e49c.yaml | 5 + ...inding-host-id-bug2148720-aa4c59bafb997540.yaml | 7 + .../switch_to_agent_host-18bd49692e02ffeb.yaml | 18 + releasenotes/source/2026.1.rst | 6 + releasenotes/source/index.rst | 1 + zuul.d/networking-baremetal-jobs.yaml | 1 - 27 files changed, 1297 insertions(+), 753 deletions(-)
participants (1)
-
no-reply@openstack.org