Current Series Release Notes

7.0.0-17

New Features

  • Adds a new L2VNI (Layer 2 Virtual Network Identifier) mechanism driver that enables baremetal servers to connect to VXLAN and Geneve overlay networks. The driver automatically allocates dynamic VLAN segments on physical networks and creates OVN localnet ports to bridge overlay traffic to baremetal nodes.

    To enable the driver, add baremetal_l2vni to the mechanism_drivers list in ml2_conf.ini:

    [ml2]
    mechanism_drivers = ovn,baremetal_l2vni
    
    [baremetal_l2vni]
    create_localnet_ports = True
    default_physical_network = physnet1
    

    See the L2VNI mechanism driver documentation for complete configuration and deployment details.

  • Adds support for filtering ports by conductor groups. When [conductor_groups]conductor_groups is configured, the agent will only query ports associated with nodes in the specified list of conductor groups.

  • Added HA chassis group alignment reconciliation to ironic-neutron-agent to address connectivity issues for baremetal nodes in OVN deployments (Launchpad bug #1995078).

    When router gateway ports and baremetal external ports have mismatched HA chassis group priorities, baremetal nodes can experience intermittent external connectivity failures. This occurs when different chassis are active for the router vs. the baremetal port, causing inconsistent routing.

    The ironic-neutron-agent now includes a periodic reconciliation loop that ensures router ports use the same ha_chassis_group as baremetal external ports on the same network. This eliminates priority mismatches and prevents connectivity failures.

    Key features:

    • Automatic alignment of HA chassis groups between router and baremetal ports

    • Distributed across multiple agents via hash ring for scalability

    • Time-windowed reconciliation to minimize API load (only checks recently created/updated resources by default)

    • Configurable reconciliation interval (default: 10 minutes)

    • Enabled by default

    Configuration options in the [baremetal_agent] section:

    • enable_ha_chassis_group_alignment - Enable/disable the feature (default: True)

    • ha_chassis_group_alignment_interval - Reconciliation interval in seconds (default: 600, minimum: 60)

    • limit_ha_chassis_group_alignment_to_recent_changes_only - Only check recently updated resources (default: True)

    • ha_chassis_group_alignment_window - Time window for recent resources in seconds (default: 1200)

    See the HA Chassis Group Alignment documentation for detailed configuration guidance and troubleshooting information.

  • Added an experimental L2VNI trunk reconciliation pattern to ironic-neutron-agent. This feature automatically manages trunk ports on network nodes for bridging OVN overlay networks to physical infrastructure based on ha_chassis_group membership.

    The feature is enabled by default. Disable it by setting enable_l2vni_trunk_reconciliation = False in the [l2vni] section of neutron.conf. See the L2VNI Trunk Reconciliation documentation for configuration options and deployment guidance.

Bug Fixes

  • Fixes an issue where Neutron would reject baremetal port binding to VXLAN and Geneve overlay networks with error “Host is not connected to any segments on routed provider network” when the segments service plugin was enabled. The baremetal-l2vni mechanism driver now reports support for overlay network types (vxlan, geneve) to enable hierarchical port binding. The base baremetal mechanism driver continues to handle only flat and vlan networks. This allows baremetal nodes to successfully bind to tenant overlay networks using the L2VNI hierarchical binding model without being incorrectly treated as routed provider networks.

  • Fixes an issue in the baremetal-l2vni mechanism driver where OVN localnet ports could become orphaned with stale VLAN tags when dynamic segments were released and reallocated. This could result in VLAN tag mismatches causing traffic to be tagged with incorrect VLAN IDs.

    The driver now validates that existing localnet ports have the correct VLAN tag matching the current dynamic segment allocation. If a mismatch is detected (for example, the localnet port has VLAN 107 but the current segment uses VLAN 135), the stale port is automatically deleted and recreated with the correct tag.

    Additionally, the driver now implements proper cleanup in delete_port_postcommit() to remove localnet ports and release dynamic segments when the last baremetal port using a segment is deleted. This prevents orphaned localnet ports and ensures VLAN IDs can be safely reused without configuration conflicts.

  • Fixes an issue in the baremetal-l2vni mechanism driver where _ensure_router_gateway_chassis() was incorrectly setting gateway_chassis on all router ports connected to L2VNI networks, including internal router ports. This caused OVN to treat them as distributed gateway ports, which prevented NAT flows from being created when multiple such ports existed. The function has been removed and replaced with a requested-chassis option on localnet ports to ensure they remain pinned to the correct chassis.

  • Fixes intermittent external connectivity failures for baremetal nodes in OVN deployments caused by mismatched HA chassis group priorities between router gateway ports and baremetal external ports (Launchpad bug #1995078). The ironic-neutron-agent now automatically aligns HA chassis group configuration to ensure consistent routing behavior.

7.0.0

Other Notes

  • Explicit usage and monkey-patching with eventlet have been removed. Since this is a Neutron plugin, Neutron may still load eventlet modules, but networking-baremetal no longer explicitly uses it. Operators should be sensitive to potential performance changes, although none are expected.