Rocky Series Release Notes¶
1.18.0¶
New Features¶
Add API extension
sort-key-validation. This extension indicates if the server supports validation on sorting.
Add API extension
filter-validation. This extension indicates if the server supports validation on filter parameters of the list requests.
Introduced
expose-port-forwarding-in-fipAPI extension for exposingport_forwardingsfield inFloatingIPAPI response. This extension requires therouterandport_forwardingservice plugins.
The
neutron.common.rpcmodule is now available asneutron_lib.rpcand automatically exposes all exception modules fromneutron_lib.exceptionsfor RPC usage.
Exceptions from
neutron.common.exceptionsare now available in theneutron_lib.exceptionspackage whereupon exceptions are now in their respective module (e.g. L3 exceptions are inneutron_lib.exceptions.l3, etc.).
The
neutron.tests.fake_notifieris now available asneutron_lib.tests.unit.fake_notifier.
The
neutron_lib.utils.runtime.list_package_modulesfunction is now available for listing all modules in a said package.
The
RPCFixtureis now available inneutron_lib.fixturesfor setting up RPC based unit tests.
The
get_port_binding_by_status_and_hostfunction is now available inneutron_lib.plugins.utils.
Adds api-extension
segments-peer-subnet-host-routes. Adds host routes to subnets on a routed network (segments). RFE: 1766380.
Other Notes¶
API extension
sort-key-validationrelies on theis_sort_keykeyword in theRESOURCE_ATTRIBUTE_MAPto judge if an attribute can be used as sort key. Neutron plugins which want to support sort key validation needs to setis_sort_keytoTruefor each attribute in their resource attribute map.
API extension
filter-validationrelies on theis_filterkeyword in theRESOURCE_ATTRIBUTE_MAPto judge if an attribute can be used as filter. Neutron plugins which want to support filter validation needs to setis_filtertoTruefor each attribute in their resource attribute map.
The
convert_list_toanddefaultparameters of external_fixed_ips have been removed from l3 and l3_ext_gw_mode API definitions.
1.17.0¶
New Features¶
Add
floatingip-poolsAPI extension. This extension provides API endpoint for listing floatingip pools.
Adds api extension
port-mac-address-regenerate. Also adds converterconvert_to_mac_if_noneused by api extenstionport-mac-address-regenerate. When passing'null'(None) as themac_addresson port update the converter will generate a new mac address that will be assigned to the port. RFE: #1768690.
The API defintion for the
port-security-groups-filteringextension is now available inneutron_lib.api.definitions.security_groups_port_filtering.
Upgrade Notes¶
The
COREandL3service type name constants have been removed fromneutron_lib.constants. These constants are duplicates of those inneutron_lib.plugin.constantsand consumers should use the latter.
Other Notes¶
Add a shim extension
availability_zone_filterto indicate ifavailability_zoneresource supports filter parameters.
1.16.0¶
New Features¶
Add an API extension
uplink-status-propagationto indicate if the server support propagating uplink status. This extension adds an attributepropagate_uplink_statusto port. This attribute can be implemented for VF port. If it is set toTrue, the VF link state can follow that of PF. The default isFalsewhich is the current behavior.
Other Notes¶
Add a shim extension
standard-attr-segmentto indicate if segment resource contains standard attributes.
1.15.0¶
New Features¶
Add
empty-string-filteringAPI extension. This extension indicates if the server supports filtering attributes with empty value.
New
PORT_BINDING,ACTIVATEandDEACTIVATEdefinitions have been added toneutron_lib.agent.topics, to enable plug-ins to notify agents when a port binding has been activated or de-activated.
The
portforwardingAPI definition forFloatingIP``is introduced, which allows a ``FloatingIP:Portto forward packets back to a VM’sInternal IP:Port.
Add the definitions for the
sfcandflowclassifierAPI extensions of the networking-sfc project.
Add a
convert_uppercase_ipconverter, convenient to easily accept for instanceIpv4,IPv4andipv4independently of the case of the first two letters.
And add a
convert_prefix_forced_caseconverter, to allow forcing the case of a string prefix
Add a
uuid_list_non_emptyvalidator, that will validate that the value is a non-empty list of UUIDs
Add API extensions to advertise the support of standard attributes with BGPVPN resources:
standard-attr-bgpvpn,standard-attr-bgpvpn-network-association,standard-attr-bgpvpn-router-associationandstandard-attr-bgpvpn-port-association.
Bug Fixes¶
For Infiniband support, Ironic needs to send the
client-idDHCP option as a number in order for IP address assignment to work. This is now supported in Neutron, and can be specified as option number 61 as defined in RFC 4776. For more information see bug 1770932
1.14.0¶
Prelude¶
Change create_inventory in placement client to update_resource_provider_inventories and update_inventory to update_resource_provider_inventory
New Features¶
Add a new keyword
is_filterto attribute maps. This keyword indicates that the attribute can be used for filtering result on list requests.
Add a new keyword
is_sort_keyto attribute maps. This keyword indicates that the attribute can be used as a sort key for sorting list result.
The
neutron_lib.utils.runtime.NamespacedPluginsclass is now available and wraps a stevedore namespace of plugins.
The
neutron_lib.objects.registrymodule is now available for loading neutron versioned object classes registered as entry points with theNEUTRON_OBJECT_NAMESPACEnamespace therein. This global registry can be used by consumers to access references to neutron versioned object classes and instances so there’s no need to importneutron.objects.
Add
fip-port-detailsAPI extension. This extension addport_detailsattribute to the Floating IP resource.
Introduced priority to callback subscription. An integer value can be associated with each callback so that callbacks can be executed in specified order for same resources and events. Every callback will have priority value by default. To execute callbacks in specified order, priorities should be defined explicitly, lower priority value would be executed first.
A new flag can be used in API definition:
default_overrides_none. When enabled, the default value for the attribute will be used, including if the attribute was explicitly defined asnull.
Added
list_resource_providersfunction to the Placement API client, which allows to retrieve a list of Resource Providers filtering by UUID or parent UUID. It requires at least version1.3of placement API for listing resource providers that are members of any of the list of aggregates provided. It requires at least version1.14of placement API for listing nested resource providers.
Added
get_resource_providerfunction to the Placement API client, which allows to retrieve an specific Resource Provider by its UUID.
Added
PlacementAPIVersionIncorrectexception class which can be raised when requested placement API version is incorect and doesn’t support requested API feature.
A new
dict_populate_defaultsflag can be used in API definition for a dictionary attribute, which will results in default values for the keys to be filled in. This can also be used on values of a dictionary attribute if they are dictionaries as well.
The public APIs from
neutron.db.apiare now available in theneutron_lib.db.apimodule.
The
CONTEXT_READERandCONTEXT_WRITERglobal database contexts are available inneutron_lib.db.apifor convenient access as decorators.
The
DBRetryErrorsFixtureandDBAPIContextManagerFixturetest fixtures are now available inneutron_lib.fixtureallowing consumers to patch out retry error values and the gobal context manager.
The public functions of
neutron.db._model_queryare now available inneutron_lib.db.model_querywith the same name. While these modules can be used, forward looking projects should start moving to versioned objects and after which point we can remove this module.
A new fixture named
DBQueryHooksFixtureis provided for testing purposes allowing consumers to patch-out the model_query filter hooks.
The
make_weak_refandresolve_reffunctions from neutron are now available inneutron_lib.utils.helpers.
The
TenantIdProjectIdFilterConflictexception is now available inneutron_lib.exceptions.
The
neutron.objects.utilsmodule is now available inneutron_lib.objects.utils.
The database utility functions
get_marker_obj,filter_non_model_columns,model_query_scope_is_projectandresource_fieldsare now available inneutron_lib.db.utils.
The
dhcp_agent_schedulerextension’s API defintion is now available inneutron_lib.api.definitions.dhcpagentschedulerand the corresponding exceptions inneutron_lib.exceptions.dhcpagentscheduler.
The
neutron.plugins.common.utils.get_deployment_physnet_mtufunction is now available inneutron_lib.plugins.utilswith the same name.
The
create_network,create_subnetandcreate_portfunctions fromneutron.plugins.common.utilsare now available inneutron_lib.plugins.utils.
The
qos-bw-limit-directionextension’s API definition is now available inneutron_lib.api.definitions.qos_bw_limit_direction.
The
unstable_testdecorator fromneutron.tests.baseis now available in neutron-lib inneutron_lib.utils.test.
Make
segment_idof subnet resource writable. Enables the possibility to migrate a non-routed network to a routed network.
Adds
neutron-vpnaasAPI definitions to neutron-lib, includingvpnaas,vpn-endpoint-groupsandvpn-flavors.
Migrate user facing exceptions into neutron-lib along with the API definitions.
A new validator for type
type:list_of_subnets_or_noneto validate data is a list of subnet dicts orNoneis added too.
Known Issues¶
Placement API has no POST method for creating resource provider inventories but instead has PUT to update the inventories of a resource provider.
Placement API has method to update the inventory for a given resource_provider.
Upgrade Notes¶
Consumers using the global
context_managerfromneutron.db.apishould now use theget_context_manager()function in theneutron_lib.db.apimodule or the globalCONTEXT_READERandCONTEXT_WRITERif needed.
The deprecated
neutron_libutils.file.ensure_dirfunction is removed. Consumers can useensure_tree(path, 0o755)fromoslo_utils.fileutilsinstead.
The
neutron_lib.api.utilsmodule has been removed. The singlepopulate_project_infofunction therein is available inneutron_lib.api.attributesand has been marked as a moved function in theutilsmodule for some time now.
Bug Fixes¶
Change the method name create_inventory in clients/placement.py to update_resource_provider_inventories as that represents what is on the placement side.
Change the POST call to /resource_providers/{uuid}/inventories to PUT.
Change the method name update_inventory in clients/placement.py to update_resource_provider_inventory as that represents that the method updates the inventory of a resource_provider.
Other Notes¶
The
LABELvariable, which was uselessly duplicatingALIAS, has been removed from API definition modules.