Current Series Release Notes¶
28.0.0.0rc1-58¶
Deprecation Notes¶
The
tenant_idkey in API and plugin code has been deprecated. Users should start using theproject_idkey in all objects and calls, as support fortenant_idwill be removed in a future release. For more information see this Neutron blueprint
Bug Fixes¶
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
ExclusiveResourceProcessorwhere the_resource_timestampsclass-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:XXfor IPv4 or00:00:5e:00:02:XXfor 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.
Other Notes¶
ML2/OVN virtual ports no longer store the host information in the port binding
hostfield. Instead, the host where the virtual port is active is now reported in the VIF details under theparent_hostnamekey.
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.