Train Series Release Notes


Bug Fixes

  • Enforce policy for ‘qos_policy_id’ attribute of port, network and fip so only authorized users can set/unset it. For more info see bug LP#1957175.


New Features

  • The extraroute-atomic api-def’s ACTION_MAP is changed so we add the new member actions (add_extraroutes and remove_extraroutes) while we also keep the router extension’s member actions (add_router_interface and remove_router_interface).


New Features

  • Router API is modified through a regime API extension to neutron-lib that enforces the admin state of a router be DOWN (admin_state_up=False) prior to modifying the distributed attribute of the router.

  • A new API validation type type:ethertype has been added and validates ethertypes either as a valid two byte octet or as ‘IPv4’ and ‘IPv6’ based on the sg_filter_ethertypes configuration setting.

  • New API definition: extraroute-atomic.

Bug Fixes

  • Fixes an issue in the l3-conntrack-helper API definition. The validation for the helper field passed a string validation method instead of the maximum length of the string. This caused a TypeError when running under python3.


New Features

  • A new exception named NetworkAddressScopeAffinityError has been added in neutron_lib/exceptions/ This is to be raised by consumers when network / address scope affinity constraints are violated on subnet creation and subnet pool updates.

  • Added two new parameters in portbindings.port.vif_details:

    • connectivity: a string informing about the back-end connectivity level (l2, l3 or not specified).

    • bound_drivers: a dictionary mapping the binding level to the driver name.

  • The SqlFixture and StaticSqlFixture are now available in neutron_lib.fixtures.

  • The subnet-dns-publish-fixed-ip API extension is added. It adds the dns_publish_fixed_ip attribute to subnets, indicating whether to publish DNS records for fixed IPs from this subnet in an external DNS service. For details see [bug 1784879].

  • Add ETHERTYPE_RARP constant which represents RARP protocol to support live-migration.

Bug Fixes

  • Static route validator should verify that routed CIDR isn’t a loopback. Loopback addresses should not be routable. Bug: 1834012

Other Notes

  • Parent resource mapping was added to EXT_PARENT_RESOURCE_MAPPING in for the l3-conntrack-helper extension.


New Features

  • A new method retrieve_valid_sort_keys was added to neutron_lib.api.attributes. This method can help retrieve valid sort keys from a given resource attribute map.

  • The l3-conntrack-helper API definition for Router is introduced, which allows conntrack helper target rules to be set for a Router.

  • Introduced expose-l3-conntrack-helper API extension for exposing conntrack_helpers field in Router API response. This extension requires the router and conntrack_helper service plugins.

Other Notes

  • Since commit, an AssociationProxy proxy instance is an AssociationProxyInstance derivative object. In order to import versions SQLAlchemy>=1.3.x, we need to handle both implementations.


New Features

  • Introduce the ML2 type driver abstract methods initialize_network_segment_range_support and update_network_segment_range_allocations for the network segment range support when the extension is loaded.

  • The WarningsFixture is now available in neutron_lib.fixture and its constructor accepts additional module’s to use with filterwarnings.

  • The model_query function is now available in neutron_lib.db.utils.

  • The neutron.objects.common_types module is now available in neutron_lib.objects.common_types.

  • The get_random_EUI and get_random_ip_network functions are now available in

  • The AuthenticIPNetwork and AuthenticEUI classes are now available in

  • The neutron.objects.logapi.events_types module is now available as neutron_lib.objects.logapi.events_types.

  • The module is now available as

  • The neutron.objects.extensions.standardattributes module is now available as neutron_lib.objects.extensions.standardattributes.

  • The function provider_network_attribute_updates_supported is now available in neutron_lib.plugins.ml2.api.MechanismDriver.

  • The neutron_lib.db.standard_attr module is now available for use.

  • The subnet-service-types extension is now available in neutron_lib.api.definitions.subnet_service_types.

  • The InvalidSubnetServiceType and InvalidInputSubnetServiceType exceptions are now available in neutron_lib.exceptions.

  • The validation type list_of_subnet_service_types is now available.

  • The OpenFixture class is now available in neutron_lib.fixtures.

  • The reset_random_seed function is now available in

Other Notes


  • IP and HOPOPT keywords were added to neutron_lib.constants.IP_PROTOCOL_MAP. This allows the use of these keywords to be used when creating security group rules to describe either all IP protocols (for IPv4), or Hop-by-Hop Options (for IPv6), instead of having to use the number zero (0) for this purpose.

  • Add NoAuthClient for placement.client to enable fullstack testing of placement reporting service plugin.