Pike Series Release Notes¶
1.9.1¶
New Features¶
The
FAULT_MAP
dictionary fromneutron.api.v2.base
has been rehomed toneutron_lib.api.faults
with the same name.
1.9.0¶
New Features¶
A VIF type for Agilio OVS (
VIF_TYPE_AGILIO_OVS
) has been added to portbindings. This links the external Neutron plugin to the external OS-VIF plugin in Nova.
The
VNIC_VIRTIO_FORWARDER
VNIC type has been added to portbindings. This VNIC type is intended to request a low-latency virtio port inside the instance, likely backed by hardware acceleration. Currently the Agilio OVS external plugin provides support for this, with support from other vendors following soon.
The exception classes have migrated from neutron_fwaas to neutron_lib as mentioned below:
neutron_fwaas.extensions.firewall
->neutron_lib.exceptions.firewall_v1
neutron_fwaas.extensions.firewallrouterinsertion
->neutron_lib.exceptions.firewall_v1
neutron_fwaas.extensions.firewall_v2
->neutron_lib.exceptions.firewall_v2
API definition for the logging extension for
security_group
resource.
The
net-mtu
extension API definition has been added asneutron_lib.api.definitions.network_mtu
.
Added validator
range_or_none
.
The neutron
address-scope
extension’s API definition is now available asneutron_lib.api.definitions.address_scope
.
The neutron
agent
extension’s API definition is now available asneutron_lib.api.definitions.agent
.
The neutron
auto-allocated-topology
extension’s API definition is now available asneutron_lib.api.definitions.auto_allocated_topology
.
Contexts may now have transaction constraints set on them to be enforced by the revision plugin in Neutron for generalized compare-and-swap updates. Calling
set_transaction_constraint
on the context before performing a resource mutation will setup the constraint. This is also exposed to users via the HTTP API withif-match
headers and the API layer sets the constraint on the context.
Bug Fixes¶
Update hacking check
N536
. Current implementation recognizesself.assertEqual((None, None), A)
as invalid incorrectly while(None, None)
is notNone
.
1.8.0¶
New Features¶
A new
neutron_lib.validators
package is now available where the existing definitions from thevalidators
module are now inneutron_lib.validators.__init__
and subsequent per-component validators can be created in their own validators sub-module.
The
bgpvpn-routes-control
API extension is introduced to enrich the basebgpvpn
extension. It allows to control BGPVPN connectivity at the granularity of a port and the advertisement into a BGPVPN of routes corresponding to destination reachable via a given port (static routes, BGPVPN route leaking).
The
DNS Integration
extension API definition has been added asneutron_lib.api.definitions.dns
.
The
validate_dns_name
,validate_fip_dns_name
, andvalidate_dns_domain
are now available as neutron-lib validators.
The
dns-domain-ports
extension API definition has been added asneutron_lib.api.definitions.dns_domain_ports
.
API reference for the logging extension for
security_group
resource.
Constants from
neutron.common.constants
are now available in neutron-lib. Note that consumers usingROUTER_STATUS_ACTIVE
orROUTER_STATUS_ERROR
should now just useACTIVE
andERROR
fromneutron_lib.constants
.
The public APIs from
neutron.plugins.ml2.driver_api
are now inneutron_lib.plugins.ml2.api
.
The neutron versioned object exceptions from
neutron.objects.exceptions
are now available inneutron_lib.objects.exceptions
.
The
DriverBase
class fromneutron.services.qos.drivers.base
is now available in theneutron_lib.services.qos.base
module.
The constants defined in
neutron.services.qos.qos_consts
are now available inneutron_lib.services.qos.constants
.
The
load_class_by_alias_or_classname
function fromneutron.common.utils
is now available inneutron_lib.utils.runtime
.
The
synchronized
decorator fromneutron.common.utils
is now available inneutron_lib.utils.runtime
.
Other Notes¶
The deprecated
N523
hacking check that ensures proper oslo namespace imports has been removed.
1.7.0¶
New Features¶
The constants
VALID_BLANK_EXTRA_DHCP_OPTS
andDHCP_OPT_VALUE_MAX_LEN
are now public in theneutron_lib.api.definitions.extra_dhcp_opt
API definition module.
1.6.0¶
New Features¶
A bulk of the
neutron.api.v2.attributes
functionality is now available inneutron_lib.api.attributes
. A newAttributeInfo
class is available in that acts as a wrapper for an API resource’s attribute dict and allows consumers to perform operations with the underlying attribute dict. Thepopulate_project_info
function is now available. The global attribute mapRESOURCES
is now available and will take the place of neutron’s globalRESOURCE_ATTRIBUTE_MAP
.
The
neutron_lib.fixture.APIDefinitionFixture
has been updated to handle backing-up and restoring the globalRESOURCES
dict. By default the constructor now also uses all API definitions if none are passed to it’s constructor. This is the default behavior almost all consumers need and is thus a convenience change.
1.5.0¶
New Features¶
The
ACTION_STATUS
is added to API definitions for neutron extension has specificaction_status
.
A new converter is added to facilitate converting IPv6 CIDRs to canonical format. This way IPv6 CIDRs can be specified in multiple formats but would be handled in their canonical format.
New
N537
hacking check is introduced that enforces no logging message translations, in any logging level. The check is enabled by default. Also, theN533
hacking check is now removed because it is covered byN537
.
The
network
,port
,subnet
andsubnetpool
API definitions are now available inneutron_lib.api.definitions
.
The
extra_dhcp_opt
API extension definition fromneutron.extensions
has been rehomed toneutron_lib.api.definitions
with the same name.
A new validator
validate_any_key_specs_or_none
has been added for the corresponding validation typetype:list_of_any_key_specs_or_none
. This validator can be used to check that a list of dicts match at least 1 key spec allowing consumers the ability to define multiple formats for their validated data.
The
neutron.common.utils
functionis_port_trusted
is now available inneutron_lib.utils.net
.
Upgrade Notes¶
FWaaS has renamed the
public
attribute toshared
to be in-sync with Openstack nomenclature based on the functionality theshared
attribute provides.
Library consumers may need to adopt their code to new requirements of
N537
hacking check, removing translation markers from all logging messages. If for some reason it doesn’t fit the project, consumers can disable the new hacking check usingignore
statement inflake8
section of theirtox.ini
file, or by other means.
1.4.0¶
New Features¶
A new fixture for testing with neutron-lib API definitions has been added as
neutron_lib.fixtures.APIDefinitionFixture
. This fixture can be used anytime extension plugins are being tested that modify resource attribute maps and ensures the single global API definition attribute map is copied and restored.
The
neutron_lib.api.extensions.APIExtensionDescriptor
class now defines update_attributes_map that uses the API definitions attribute map if none is given. This is the default behavior in most all extensions today and thus is collapsed into the base class for convenience.
Many of the constants from
neutron.plugins.common.constants
are now available inneutron_lib.plugins.constants
andneutron_lib.constants
.
The
NeutronWorker
class from theneutron.worker
module is now available asBaseWorker
inneutron_lib.worker
.
Bug Fixes¶
The oslo.db context manager returned by
db.api.get_context_manager()
will be configured with flush_on_subtransaction=True to more closely match the behavior of the previous session.begin(subtransactions=True) pattern we used everywhere before. See bug 1664643 for more details.
1.3.0¶
New Features¶
API reference for the
networking-bgpvpn
extension.
The
APIExtensionDescriptor
was added toneutron_lib.api.extensions
and can be used with extensions that have an API definition in neutron-lib to minimize the boilplate code needed in the extension definition class. For more details, see the dev-ref.
API definition and reference documentation for the port data plane status extension.
The
neutron_lib.api.extensions.ExtensionDescriptor
class’sget_plugin_interface
method now formally only supportsneutron_lib.services.base.ServicePluginBase
. This change reflects the existing usage by consumers as almost all are returning instances ofServicePluginBase
already.
The class
WorkerBase
is now available and provides the same functionality that’s provided byneutron.worker.WorkerSupportServiceMixin
.
The ML2
MechanismDriver
class fromneutron.plugins.ml2.driver_api
is now available inneutron_lib.plugins.ml2.api
.
The
port security
extension API definition has been rehomed fromneutron
toneutron_lib.api.definitions.port_security
. The related exceptions can be found in theneutron_lib.exceptions.port_security
module.
Other Notes¶
The hacking check factory function
neutron_lib.hacking.checks.incubating_factory
has been removed. All consumers should useneutron_lib.hacking.checks.factory
as per theusage
dev-ref.
1.2.0¶
New Features¶
A new
neutron_lib.exceptions
package is now available where the existing definitions from theexceptions
module are now inneutron_lib.exceptions.__init__
and subsequent per-component exceptions can be created in their own exceptions sub-module.
Rehome the validation for checking if an extension is supported by the plugin. The method
is_extension_supported
will now be part ofneutron_lib.api.extensions
.
API definition for the
networking-bgpvpn
extension.
Adds new validator
validate_list_of_regex_or_none
.
neutron_lib.db
has a public moduleapi
that provides accessor functions for transactional context manager services.
neutron_lib.fixture
has a newSqlFixture
available.
API reference and definition for networking-midonet’s
fip64
extension.
Added hacking check
N536
. This hacking check is added to the incubating checks.
The exception classes from
neutron.extensions.l3
have been rehomed intoneutron_lib.exceptions.l3
.
API reference and definition for networking-midonet’s
logging-resource
extension.
API reference and definition for networking-midonet’s
router-interface-fip
extension.