Pike Series Release Notes¶
1.9.1¶
New Features¶
The
FAULT_MAPdictionary fromneutron.api.v2.basehas been rehomed toneutron_lib.api.faultswith 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_FORWARDERVNIC 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_v1neutron_fwaas.extensions.firewallrouterinsertion->neutron_lib.exceptions.firewall_v1neutron_fwaas.extensions.firewall_v2->neutron_lib.exceptions.firewall_v2
API definition for the logging extension for
security_groupresource.
The
net-mtuextension API definition has been added asneutron_lib.api.definitions.network_mtu.
Added validator
range_or_none.
The neutron
address-scopeextension’s API definition is now available asneutron_lib.api.definitions.address_scope.
The neutron
agentextension’s API definition is now available asneutron_lib.api.definitions.agent.
The neutron
auto-allocated-topologyextension’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_constrainton the context before performing a resource mutation will setup the constraint. This is also exposed to users via the HTTP API withif-matchheaders 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.validatorspackage is now available where the existing definitions from thevalidatorsmodule are now inneutron_lib.validators.__init__and subsequent per-component validators can be created in their own validators sub-module.
The
bgpvpn-routes-controlAPI extension is introduced to enrich the basebgpvpnextension. 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 Integrationextension API definition has been added asneutron_lib.api.definitions.dns.
The
validate_dns_name,validate_fip_dns_name, andvalidate_dns_domainare now available as neutron-lib validators.
The
dns-domain-portsextension API definition has been added asneutron_lib.api.definitions.dns_domain_ports.
API reference for the logging extension for
security_groupresource.
Constants from
neutron.common.constantsare now available in neutron-lib. Note that consumers usingROUTER_STATUS_ACTIVEorROUTER_STATUS_ERRORshould now just useACTIVEandERRORfromneutron_lib.constants.
The public APIs from
neutron.plugins.ml2.driver_apiare now inneutron_lib.plugins.ml2.api.
The neutron versioned object exceptions from
neutron.objects.exceptionsare now available inneutron_lib.objects.exceptions.
The
DriverBaseclass fromneutron.services.qos.drivers.baseis now available in theneutron_lib.services.qos.basemodule.
The constants defined in
neutron.services.qos.qos_constsare now available inneutron_lib.services.qos.constants.
The
load_class_by_alias_or_classnamefunction fromneutron.common.utilsis now available inneutron_lib.utils.runtime.
The
synchronizeddecorator fromneutron.common.utilsis now available inneutron_lib.utils.runtime.
Other Notes¶
The deprecated
N523hacking check that ensures proper oslo namespace imports has been removed.
1.7.0¶
New Features¶
The constants
VALID_BLANK_EXTRA_DHCP_OPTSandDHCP_OPT_VALUE_MAX_LENare now public in theneutron_lib.api.definitions.extra_dhcp_optAPI definition module.
1.6.0¶
New Features¶
A bulk of the
neutron.api.v2.attributesfunctionality is now available inneutron_lib.api.attributes. A newAttributeInfoclass 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_infofunction is now available. The global attribute mapRESOURCESis now available and will take the place of neutron’s globalRESOURCE_ATTRIBUTE_MAP.
The
neutron_lib.fixture.APIDefinitionFixturehas been updated to handle backing-up and restoring the globalRESOURCESdict. 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_STATUSis 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
N537hacking check is introduced that enforces no logging message translations, in any logging level. The check is enabled by default. Also, theN533hacking check is now removed because it is covered byN537.
The
network,port,subnetandsubnetpoolAPI definitions are now available inneutron_lib.api.definitions.
The
extra_dhcp_optAPI extension definition fromneutron.extensionshas been rehomed toneutron_lib.api.definitionswith the same name.
A new validator
validate_any_key_specs_or_nonehas 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.utilsfunctionis_port_trustedis now available inneutron_lib.utils.net.
Upgrade Notes¶
FWaaS has renamed the
publicattribute tosharedto be in-sync with Openstack nomenclature based on the functionality thesharedattribute provides.
Library consumers may need to adopt their code to new requirements of
N537hacking 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 usingignorestatement inflake8section of theirtox.inifile, 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.APIExtensionDescriptorclass 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.constantsare now available inneutron_lib.plugins.constantsandneutron_lib.constants.
The
NeutronWorkerclass from theneutron.workermodule is now available asBaseWorkerinneutron_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-bgpvpnextension.
The
APIExtensionDescriptorwas added toneutron_lib.api.extensionsand 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.ExtensionDescriptorclass’sget_plugin_interfacemethod now formally only supportsneutron_lib.services.base.ServicePluginBase. This change reflects the existing usage by consumers as almost all are returning instances ofServicePluginBasealready.
The class
WorkerBaseis now available and provides the same functionality that’s provided byneutron.worker.WorkerSupportServiceMixin.
The ML2
MechanismDriverclass fromneutron.plugins.ml2.driver_apiis now available inneutron_lib.plugins.ml2.api.
The
port securityextension API definition has been rehomed fromneutrontoneutron_lib.api.definitions.port_security. The related exceptions can be found in theneutron_lib.exceptions.port_securitymodule.
Other Notes¶
The hacking check factory function
neutron_lib.hacking.checks.incubating_factoryhas been removed. All consumers should useneutron_lib.hacking.checks.factoryas per theusagedev-ref.
1.2.0¶
New Features¶
A new
neutron_lib.exceptionspackage is now available where the existing definitions from theexceptionsmodule 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_supportedwill now be part ofneutron_lib.api.extensions.
API definition for the
networking-bgpvpnextension.
Adds new validator
validate_list_of_regex_or_none.
neutron_lib.dbhas a public moduleapithat provides accessor functions for transactional context manager services.
neutron_lib.fixturehas a newSqlFixtureavailable.
API reference and definition for networking-midonet’s
fip64extension.
Added hacking check
N536. This hacking check is added to the incubating checks.
The exception classes from
neutron.extensions.l3have been rehomed intoneutron_lib.exceptions.l3.
API reference and definition for networking-midonet’s
logging-resourceextension.
API reference and definition for networking-midonet’s
router-interface-fipextension.