Note de la release actuelle

28.0.0.0rc1-39

Notes dépréciées

  • The tenant_id key in API and plugin code has been deprecated. Users should start using the project_id key in all objects and calls, as support for tenant_id will be removed in a future release. For more information see this Neutron blueprint

Corrections de bugs

  • Fixed an issue where NetworkContext excluded dynamic segments from its network_segments list, causing mechanism drivers to fail when accessing dynamically allocated segments during hierarchical binding operations. The NetworkContext now includes dynamic segments by passing filter_dynamic=None to get_network_segments(), allowing the _expand_segment() method to successfully find dynamic segments in the in-memory cache. This fixes hierarchical binding cleanup scenarios where later drivers need to access segment information that was dynamically allocated by earlier drivers. [bug 2144501]

  • Fixed a memory leak in ExclusiveResourceProcessor where the _resource_timestamps class-level dictionary was never cleaned up when the primary processor exited. Over time, this caused stale entries to accumulate for every resource ID that was ever processed.

  • The ML2/OVN mechanism driver now validates that virtual MAC addresses in allowed address pairs conform to the RFC 5798 VRRP ranges (00:00:5e:00:01:XX for IPv4 or 00:00:5e:00:02:XX for IPv6). Previously, non-conforming virtual MACs were silently accepted by the Neutron API but discarded by ovn-controller, leading to confusing behavior. For more information see bug 2144371.

Autres notes

  • All service plugins should inherit from neutron_lib.services.base.ServicePluginBase. A warning message will be printed if the plugin doesn’t match this condition with a recommendation to file a Launchpad bug.