Current Series Release Notes

3.25.0-3

Upgrade Notes

  • In version 3.16.0 of neutron-lib, in the 2025.1 release cycle, the tenant_id argument in the ContextBase class was marked deprecated, and a warning was printed if it was used. That argument is now removed, callers should be using project_id instead when accessing the contents of a context object, for example context.project_id.

3.25.0

New Features

  • Added the l3-agent-scheduler-ha-chassis-priority API extension definition. This extension adds an ha_chassis_priority attribute to the agent resource in the L3 Agent Scheduler API, exposing the OVN HA_Chassis priority that determines gateway failover ordering. The attribute is readable (GET), optionally settable when scheduling a router to a chassis (POST), and updatable for an existing chassis assignment (PUT).

  • New extension pvlan: Adds support for Private VLANs (PVLANs), enabling a new way of port isolation within a shared VLAN. With PVLAN, users can define networks that allow selective communication between ports using modes such as promiscuous, isolated, and community. The extension introduces new port and network attributes: pvlan_type, pvlan_community, and pvlan.

Upgrade Notes

  • Now all service plugins, inheriting from ServicePluginBase class, will have the extension “filter-validation” enabled by default. That enforces the API filter validation in the queries, returning a HTTPBadRequest in case of using an invalid attribute. This extension can be enabled or disabled using the Neutron configuration variable [DEFAULT]filter_validation.

Deprecation Notes

  • A new method was added to the TypeDriver and ML2TypeDriver API classes called allocate_project_segment. It take the same arguments as allocate_tenant_segment just uses a different name. By default, it calls the allocate_tenant_segment method to avoid any compatibility issues, but callers are expected to change to the new method, after which allocate_tenant_segment will be deprecated.

Bug Fixes

  • Fixed API reference documentation for port binding activation and deletion endpoints. The host parameter is now correctly documented as a path parameter instead of a body parameter for the following endpoints:

    • PUT /v2.0/ports/{port_id}/bindings/{host}/activate

    • DELETE /v2.0/ports/{port_id}/bindings/{host}

    This fixes the issue where clients (like openstacksdk) were incorrectly sending the host parameter in both the path and the body, causing a TypeError. For more information see bug 2146294

Other Notes

  • API policy rules SERVICE, ADMIN, PROJECT_MANAGER, PROJECT_MEMBER, PROJECT_READER, ADMIN_OR_SERVICE, ADMIN_OR_PROJECT_MANAGER, ADMIN_OR_PROJECT_MEMBER, ADMIN_OR_PROJECT_READER, RULE_PARENT_OWNER, PARENT_OWNER_MANAGER, PARENT_OWNER_MEMBER, PARENT_OWNER_READER, ADMIN_OR_PARENT_OWNER_MANAGER, ADMIN_OR_PARENT_OWNER_MEMBER, ADMIN_OR_PARENT_OWNER_READER are moved from neutron.conf.policy.base module to neutron_lib and are now available in neutron_lib.policy.rules module.