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-fip
API extension for exposingport_forwardings
field inFloatingIP
API response. This extension requires therouter
andport_forwarding
service plugins.
The
neutron.common.rpc
module is now available asneutron_lib.rpc
and automatically exposes all exception modules fromneutron_lib.exceptions
for RPC usage.
Exceptions from
neutron.common.exceptions
are now available in theneutron_lib.exceptions
package whereupon exceptions are now in their respective module (e.g. L3 exceptions are inneutron_lib.exceptions.l3
, etc.).
The
neutron.tests.fake_notifier
is now available asneutron_lib.tests.unit.fake_notifier
.
The
neutron_lib.utils.runtime.list_package_modules
function is now available for listing all modules in a said package.
The
RPCFixture
is now available inneutron_lib.fixtures
for setting up RPC based unit tests.
The
get_port_binding_by_status_and_host
function 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-validation
relies on theis_sort_key
keyword in theRESOURCE_ATTRIBUTE_MAP
to judge if an attribute can be used as sort key. Neutron plugins which want to support sort key validation needs to setis_sort_key
toTrue
for each attribute in their resource attribute map.
API extension
filter-validation
relies on theis_filter
keyword in theRESOURCE_ATTRIBUTE_MAP
to judge if an attribute can be used as filter. Neutron plugins which want to support filter validation needs to setis_filter
toTrue
for each attribute in their resource attribute map.
The
convert_list_to
anddefault
parameters of external_fixed_ips have been removed from l3 and l3_ext_gw_mode API definitions.
1.17.0¶
New Features¶
Add
floatingip-pools
API extension. This extension provides API endpoint for listing floatingip pools.
Adds api extension
port-mac-address-regenerate
. Also adds converterconvert_to_mac_if_none
used by api extenstionport-mac-address-regenerate
. When passing'null'
(None
) as themac_address
on 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-filtering
extension is now available inneutron_lib.api.definitions.security_groups_port_filtering
.
Upgrade Notes¶
The
CORE
andL3
service type name constants have been removed fromneutron_lib.constants
. These constants are duplicates of those inneutron_lib.plugin.constants
and consumers should use the latter.
Other Notes¶
Add a shim extension
availability_zone_filter
to indicate ifavailability_zone
resource supports filter parameters.
1.16.0¶
New Features¶
Add an API extension
uplink-status-propagation
to indicate if the server support propagating uplink status. This extension adds an attributepropagate_uplink_status
to 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 isFalse
which is the current behavior.
Other Notes¶
Add a shim extension
standard-attr-segment
to indicate if segment resource contains standard attributes.
1.15.0¶
New Features¶
Add
empty-string-filtering
API extension. This extension indicates if the server supports filtering attributes with empty value.
New
PORT_BINDING
,ACTIVATE
andDEACTIVATE
definitions 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
portforwarding
API definition forFloatingIP``is introduced, which allows a ``FloatingIP:Port
to forward packets back to a VM’sInternal IP:Port
.
Add the definitions for the
sfc
andflowclassifier
API extensions of the networking-sfc project.
Add a
convert_uppercase_ip
converter, convenient to easily accept for instanceIpv4
,IPv4
andipv4
independently of the case of the first two letters.
And add a
convert_prefix_forced_case
converter, to allow forcing the case of a string prefix
Add a
uuid_list_non_empty
validator, 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-association
andstandard-attr-bgpvpn-port-association
.
Bug Fixes¶
For Infiniband support, Ironic needs to send the
client-id
DHCP 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_filter
to attribute maps. This keyword indicates that the attribute can be used for filtering result on list requests.
Add a new keyword
is_sort_key
to attribute maps. This keyword indicates that the attribute can be used as a sort key for sorting list result.
The
neutron_lib.utils.runtime.NamespacedPlugins
class is now available and wraps a stevedore namespace of plugins.
The
neutron_lib.objects.registry
module is now available for loading neutron versioned object classes registered as entry points with theNEUTRON_OBJECT_NAMESPACE
namespace 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-details
API extension. This extension addport_details
attribute 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_providers
function 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.3
of placement API for listing resource providers that are members of any of the list of aggregates provided. It requires at least version1.14
of placement API for listing nested resource providers.
Added
get_resource_provider
function to the Placement API client, which allows to retrieve an specific Resource Provider by its UUID.
Added
PlacementAPIVersionIncorrect
exception class which can be raised when requested placement API version is incorect and doesn’t support requested API feature.
A new
dict_populate_defaults
flag 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.api
are now available in theneutron_lib.db.api
module.
The
CONTEXT_READER
andCONTEXT_WRITER
global database contexts are available inneutron_lib.db.api
for convenient access as decorators.
The
DBRetryErrorsFixture
andDBAPIContextManagerFixture
test fixtures are now available inneutron_lib.fixture
allowing consumers to patch out retry error values and the gobal context manager.
The public functions of
neutron.db._model_query
are now available inneutron_lib.db.model_query
with 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
DBQueryHooksFixture
is provided for testing purposes allowing consumers to patch-out the model_query filter hooks.
The
make_weak_ref
andresolve_ref
functions from neutron are now available inneutron_lib.utils.helpers
.
The
TenantIdProjectIdFilterConflict
exception is now available inneutron_lib.exceptions
.
The
neutron.objects.utils
module is now available inneutron_lib.objects.utils
.
The database utility functions
get_marker_obj
,filter_non_model_columns
,model_query_scope_is_project
andresource_fields
are now available inneutron_lib.db.utils
.
The
dhcp_agent_scheduler
extension’s API defintion is now available inneutron_lib.api.definitions.dhcpagentscheduler
and the corresponding exceptions inneutron_lib.exceptions.dhcpagentscheduler
.
The
neutron.plugins.common.utils.get_deployment_physnet_mtu
function is now available inneutron_lib.plugins.utils
with the same name.
The
create_network
,create_subnet
andcreate_port
functions fromneutron.plugins.common.utils
are now available inneutron_lib.plugins.utils
.
The
qos-bw-limit-direction
extension’s API definition is now available inneutron_lib.api.definitions.qos_bw_limit_direction
.
The
unstable_test
decorator fromneutron.tests.base
is now available in neutron-lib inneutron_lib.utils.test
.
Make
segment_id
of subnet resource writable. Enables the possibility to migrate a non-routed network to a routed network.
Adds
neutron-vpnaas
API definitions to neutron-lib, includingvpnaas
,vpn-endpoint-groups
andvpn-flavors
.
Migrate user facing exceptions into neutron-lib along with the API definitions.
A new validator for type
type:list_of_subnets_or_none
to validate data is a list of subnet dicts orNone
is 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_manager
fromneutron.db.api
should now use theget_context_manager()
function in theneutron_lib.db.api
module or the globalCONTEXT_READER
andCONTEXT_WRITER
if needed.
The deprecated
neutron_libutils.file.ensure_dir
function is removed. Consumers can useensure_tree(path, 0o755)
fromoslo_utils.fileutils
instead.
The
neutron_lib.api.utils
module has been removed. The singlepopulate_project_info
function therein is available inneutron_lib.api.attributes
and has been marked as a moved function in theutils
module 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
LABEL
variable, which was uselessly duplicatingALIAS
, has been removed from API definition modules.