We enthusiastically announce the release of:
neutron-lib 1.9.0: Neutron shared routines and utilities
This release is part of the pike release series.
The source is available from:
http://git.openstack.org/cgit/openstack/neutron-lib
Download the package from:
https://pypi.python.org/pypi/neutron-lib
Please report issues through launchpad:
http://bugs.launchpad.net/neutron
For more details, please see below.
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.
* Add new vif type "VIF_TYPE_OVS_ACCELERATION" to portbindings.
* 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 as "neutron_lib.api.definitions.network_mtu".
* Added validator "range_or_none".
* The neutron "address-scope" extension's API definition is now available as "neutron_lib.api.definitions.address_scope".
* The neutron "agent" extension's API definition is now available as "neutron_lib.api.definitions.agent".
* The neutron "auto-allocated-topology" extension's API definition is now available as "neutron_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 with "if- match" headers and the API layer sets the constraint on the context.
Bug Fixes *********
* Update hacking check "N536". Current implementation recognizes "self.assertEqual((None, None), A)" as invalid incorrectly while "(None, None)" is not "None".
Changes in neutron-lib 1.8.0..1.9.0 -----------------------------------
a9b662c Add backward compatible alias b8bd6ad Change comment to match new constant name 45452c5 rehome neutron's auto-allocated-topology extension API definition 6c7b3d2 rehome neutron's address-scope extension API definition f642cda Updated from global requirements 9488b97 rectify the definition of API timestamp for trunk_details 6a2040f Add interface to add a constraint to context 01316ed Add Agilio OVS VIF and virtio-forwarder VNIC type 69e2a3c Fix N536 - Use assertIsNone regex 489d26d Updated api-ref with more details on net-mtu extension 28ab651 Moved net-mtu extension definition 7d45c70 rehome neutron's agent extension API definition 13f3ea6 Remove unnecessary variables in UT 7180158 Add headers for QoS sections in api-ref 38fa5a0 Add info about direction in QoS bandwidth limit rule 5732e95 Withdraw doc for bgpvpn-routes-control API extension 26de187 Move Firewall Exceptions to neutron-lib 0f4733d bgpvpn_routes_control: API definition fixes f39c1a1 hardware offload support for openvswitch f9b06e8 Enable module reference b9f62ba rearrange content to fit the new standard layout c3fa726 Introduce logging api extension ee0fc48 api-ref: RBAC policies api reference 710c4f1 Add missing LOG.debug to hacking rule
Diffstat (except docs and test files) -------------------------------------
.gitignore | 1 + CONTRIBUTING.rst | 9 +- api-ref/source/v2/bgpvpn-bgpvpns.inc | 13 +- api-ref/source/v2/bgpvpn-overview.inc | 30 -- api-ref/source/v2/bgpvpn-port_associations.inc | 248 --------- api-ref/source/v2/bgpvpn-router_associations.inc | 65 --- api-ref/source/v2/index.rst | 2 +- api-ref/source/v2/networks.inc | 7 + api-ref/source/v2/parameters.yaml | 205 +++----- api-ref/source/v2/qos.inc | 32 +- api-ref/source/v2/rbac-policy.inc | 206 ++++++++ .../bgpvpn/bgpvpns/bgpvpn-create-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpn-show-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpn-update-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpns-list-response.json | 3 +- .../port_association-create-request.json | 11 - .../port_association-create-response.json | 14 - .../port_association-list-response.json | 16 - .../port_association-show-response.json | 14 - .../port_association-update-request.json | 13 - .../port_association-update-response.json | 15 - .../router_association-create-response.json | 3 +- .../router_association-list-response.json | 3 +- .../router_association-show-response.json | 11 +- .../router_association-update-request.json | 6 - .../router_association-update-response.json | 8 - .../samples/networks/network-create-response.json | 2 +- .../networks/network-multi-show-response.json | 2 +- .../networks/network-provider-create-response.json | 2 +- .../networks/network-provider-show-response.json | 2 +- .../v2/samples/networks/network-show-response.json | 2 +- .../samples/networks/network-update-response.json | 2 +- .../networks/networks-bulk-create-response.json | 4 +- .../samples/networks/networks-list-response.json | 4 +- .../networks/networks-provider-list-response.json | 8 +- .../qos/bandwidth_limit_rule-create-response.json | 3 +- .../qos/bandwidth_limit_rule-show-response.json | 3 +- .../qos/bandwidth_limit_rule-update-response.json | 3 +- .../qos/bandwidth_limit_rules-list-response.json | 3 +- .../rbac_policy/rbac-policies-list-response.json | 13 + .../rbac_policy/rbac-policy-create-request.json | 8 + .../rbac_policy/rbac-policy-create-response.json | 11 + .../rbac_policy/rbac-policy-show-response.json | 11 + .../rbac_policy/rbac-policy-update-request.json | 5 + .../rbac_policy/rbac-policy-update-response.json | 11 + neutron_lib/api/attributes.py | 26 +- neutron_lib/api/converters.py | 35 +- neutron_lib/api/definitions/__init__.py | 10 + neutron_lib/api/definitions/address_scope.py | 85 +++ neutron_lib/api/definitions/agent.py | 66 +++ .../api/definitions/auto_allocated_topology.py | 55 ++ neutron_lib/api/definitions/base.py | 1 + .../api/definitions/bgpvpn_routes_control.py | 6 +- neutron_lib/api/definitions/constants.py | 3 + neutron_lib/api/definitions/logging.py | 109 ++++ neutron_lib/api/definitions/network_mtu.py | 78 +++ neutron_lib/api/definitions/portbindings.py | 13 +- neutron_lib/api/definitions/trunk_details.py | 7 +- neutron_lib/api/validators/__init__.py | 139 ++--- neutron_lib/api/validators/dns.py | 6 +- neutron_lib/callbacks/events.py | 4 +- neutron_lib/callbacks/exceptions.py | 4 +- neutron_lib/callbacks/manager.py | 12 +- neutron_lib/context.py | 26 + neutron_lib/db/utils.py | 4 +- neutron_lib/exceptions/__init__.py | 14 +- neutron_lib/exceptions/address_scope.py | 31 ++ neutron_lib/exceptions/agent.py | 30 ++ neutron_lib/exceptions/firewall_v1.py | 140 +++++ neutron_lib/exceptions/firewall_v2.py | 177 +++++++ neutron_lib/hacking/checks.py | 36 +- neutron_lib/hacking/translation_checks.py | 15 +- neutron_lib/plugins/ml2/api.py | 44 +- .../unit/api/definitions/test_address_scope.py | 24 + .../definitions/test_auto_allocated_topology.py | 22 + .../unit/api/definitions/test_dns_domain_ports.py | 2 - .../unit/api/definitions/test_port_security.py | 1 - neutron_lib/utils/file.py | 2 +- neutron_lib/utils/helpers.py | 8 +- neutron_lib/utils/host.py | 2 +- neutron_lib/utils/net.py | 2 +- neutron_lib/utils/runtime.py | 2 +- neutron_lib/worker.py | 3 + .../add-vif-type-agilio-ovs-6bee5b2557aca10e.yaml | 5 + ...tio-forwarder-portbinding-f7f87dfbef456ed1.yaml | 7 + ...vif_type_ovs_acceleration-0f983fa70c6d7519.yaml | 3 + .../notes/fwaas-exceptions-e580766205b466d4.yaml | 9 + .../introduce-logging-api-031d00eb84d5d061.yaml | 3 + .../moved-netmtu-extension-5999348000adcfaf.yaml | 4 + ...w-validator-range-or-none-dc8d557ec1f2622a.yaml | 3 + ...home-address-scope-apidef-f4e8bb74be61729a.yaml | 4 + .../rehome-agent-apidef-7a2dde6a9810f55c.yaml | 4 + ...ehome-autotopology-apidef-4a77e8ba0c783f7e.yaml | 4 + .../transaction_constraint-d3f93c2ced4a74c6.yaml | 9 + ...update-hacking-check-n536-2f63898bea693125.yaml | 5 + requirements.txt | 2 +- setup.cfg | 10 + 131 files changed, 3137 insertions(+), 2244 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index 037d2b8..0335bf3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +13 @@ oslo.context>=2.14.0 # Apache-2.0 -oslo.db>=4.23.0 # Apache-2.0 +oslo.db>=4.24.0 # Apache-2.0