We are ecstatic to announce the release of: neutron-lib 1.0.0: Neutron shared routines and utilities
This release is part of the ocata 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.0.0 ^^^^^ New Features ************ * The ExtensionDescriptor class moved from neutron.api.extensions to neutron_lib.api.extensions. * Introduced neutron_lib.plugins.directory to get references for loaded plugins in a neutron server process. For example: from neutron_lib import constants from neutron_lib.plugins import directory core_plugin = directory.get_plugin() l3_plugin = directory.get_plugin(constants.L3) For more examples, see: https://review.openstack.org/#/c/386845/ * API reference for the trunk extension. Other Notes *********** * Provide API definition framework for Neutron Stadium APIs to be consolidated into neutron-lib. For more details see review https://review.openstack.org/#/c/353131/. Changes in neutron-lib 0.4.0..1.0.0 ----------------------------------- 6f944bf Updated from global requirements bbd71c4 Add ExtensionDescriptor to neutron-lib b95c1dd Add release note for plugin directory 763fe5e Introduce Plugin Directory for Neutron 08cefc5 Updated from global requirements 69443d6 Updated from global requirements 0e80e41 Initial seed for neutron-lib release notes 256411c Updated from global requirements e1bda4e Revise coverage guidelines 4fbf121 Add release notes target ff2bb74 api-ref: Fix api-ref for service-providers cd0802f Enable fatal exceptions during tests 4da1998 Introduce API definition for trunk/trunk_details extensions 645fd18 Updated from global requirements 87fbf52 [doc] Allow creating loadbalancer with network_id b065a28 Change wording around router:external 0c3959d Add segments to v2 API reference abeb5c4 Enhance valid_values to use __contains__ 6584de1 Add missing tenant_id/project_id request parameter 4c7a75c Add unit test for test_exceptions 5145ea4 [api-ref] Corrected the redirect URL to Openstack Identity Service 429e5c2 api-ref: Update to current state of Keystone V3 support 990a5d7 Rehome populate_project_info() from neutron 4b02ff4 api-ref: remove notion of supported xml format 3385108 Add unit test for test_helpers bb88c5a Simplify method convert_to_boolean with strutils.bool_from_string 2151fea Deprecate method ensure_dir 9ca5306 Trivial: Remove 'MANIFEST.in' 168b1d0 Config logABug feature for Neutron-lib api-ref 7026399 Fix typo: remove redundant 'the' 2b99fac Updated from global requirements c0cb29c Do not make project depends on Babel by default c4610ce Correct test_tenant_id_attribute 090dee5 Updated from global requirements 6cf9c87 Updated from global requirements b5454ed Add support for upper-constraints.txt for all tox targets 6a73e97 api-ref: Add Networking v2.0 API versions response parameters b06a428 Updated from global requirements 35bcd60 Add info about API method to get default quotas 0681c39 [api-ref] Remove temporary block 3d043c0 Fix regression in validate_uuid_list() 00439e9 Add docstrings for api.validators ecab656 Fix confusion between Neutron and FWaaS versions 6569169 Add eventlet hacking check UT efa0198 api-ref: added a note to lbaasv1 about its removal in N+ adef52e Move valuable API info from neutron-specs repo ba7dee0 api-ref: introduced a stub sub-page to cover general info 9a81fde Updated from global requirements bb397df Trivial DevRef Spelling corrections e1ef4a6 api-ref: Correcting parameters type Diffstat (except docs and test files) ------------------------------------- .gitignore | 3 + MANIFEST.in | 6 - api-ref/source/conf.py | 40 +- api-ref/source/v2/flavors.inc | 14 +- api-ref/source/v2/floatingips.inc | 22 +- api-ref/source/v2/fwaas.inc | 69 +- api-ref/source/v2/index.rst | 4 + api-ref/source/v2/intro.inc | 433 ++++++++++++ api-ref/source/v2/lbaas-v1.inc | 67 +- api-ref/source/v2/lbaas-v2.inc | 173 +++-- api-ref/source/v2/metering.inc | 15 +- api-ref/source/v2/network-ip-availability.inc | 6 +- api-ref/source/v2/network-provider.inc | 20 +- api-ref/source/v2/networks-multi-provider-ext.inc | 16 +- .../source/v2/networks-vlan-transparency-ext.inc | 12 +- api-ref/source/v2/networks.inc | 22 +- api-ref/source/v2/parameters.yaml | 749 +++++++++------------ api-ref/source/v2/port-binding.inc | 2 +- api-ref/source/v2/ports.inc | 28 +- api-ref/source/v2/qos.inc | 22 +- api-ref/source/v2/quotas.inc | 173 +++-- api-ref/source/v2/routers.inc | 21 +- .../firewalls/firewall-create-response.json | 1 + .../firewalls/firewall-policies-list-response.json | 1 + .../firewalls/firewall-policy-create-response.json | 1 + .../firewall-policy-insert-rule-response.json | 1 + .../firewall-policy-remove-rule-response.json | 1 + .../firewalls/firewall-policy-show-response.json | 1 + .../firewalls/firewall-policy-update-response.json | 1 + .../firewalls/firewall-rule-create-response.json | 1 + .../firewalls/firewall-rule-show-response.json | 1 + .../firewalls/firewall-rule-update-response.json | 1 + .../firewalls/firewall-rules-list-response.json | 1 + .../samples/firewalls/firewall-show-response.json | 1 + .../firewalls/firewall-update-response.json | 1 + .../samples/firewalls/firewalls-list-response.json | 1 + .../floatingips/floating-ips-list-response.json | 2 + .../floatingips/floatingip-create-response.json | 1 + .../floatingip-disassociate-response.json | 1 + .../floatingips/floatingip-show-response.json | 1 + .../floatingips/floatingip-update-response.json | 1 + .../lbaas/healthmonitor-create-response.json | 1 + .../samples/lbaas/healthmonitor-show-response.json | 1 + .../lbaas/healthmonitor-update-response.json | 1 + .../lbaas/healthmonitors-list-response.json | 1 + .../v2/samples/lbaas/listener-create-response.json | 1 + .../v2/samples/lbaas/listener-show-response.json | 1 + .../v2/samples/lbaas/listener-update-response.json | 1 + .../v2/samples/lbaas/listeners-list-response.json | 1 + .../samples/lbaas/loadbalancer-create-request.json | 1 + .../lbaas/loadbalancer-create-response.json | 1 + .../samples/lbaas/loadbalancer-show-response.json | 1 + .../lbaas/loadbalancer-update-response.json | 1 + .../samples/lbaas/loadbalancers-list-response.json | 1 + .../v2/samples/lbaas/member-create-response.json | 1 + .../v2/samples/lbaas/member-show-response.json | 1 + .../v2/samples/lbaas/member-update-response.json | 1 + .../v2/samples/lbaas/members-list-response.json | 1 + .../v2/samples/lbaas/pool-create-response.json | 1 + .../source/v2/samples/lbaas/pool-list-resp.json | 1 + .../samples/lbaas/pool-members-list-response.json | 1 + .../v2/samples/lbaas/pool-show-response.json | 1 + .../v2/samples/lbaas/pool-update-response.json | 1 + .../v2/samples/lbaas/pools-list-response.json | 1 + .../v2/samples/lbaas/pools-list-response2.json | 1 + .../v2/samples/lbaas/vip-create-response.json | 1 + .../source/v2/samples/lbaas/vip-show-response.json | 1 + .../v2/samples/lbaas/vip-update-response.json | 1 + .../v2/samples/lbaas/vips-list-response.json | 1 + .../metering/metering-label-create-response.json | 1 + .../metering/metering-label-show-response.json | 1 + .../metering/metering-labels-list-response.json | 2 + .../network-ip-availability-list.json | 2 + .../network-ip-availability-show.json | 1 + .../samples/networks/network-create-response.json | 1 + .../networks/network-multi-create-response.json | 1 + .../networks/network-provider-create-response.json | 1 + .../networks/network-provider-show-response.json | 1 + .../networks/network-provider-update-response.json | 1 + .../v2/samples/networks/network-show-response.json | 1 + .../samples/networks/network-update-response.json | 1 + .../network-vlan-transparent-create-response.json | 1 + .../network-vlan-transparent-show-response.json | 1 + .../networks/networks-bulk-create-response.json | 2 + .../samples/networks/networks-list-response.json | 2 + .../networks/networks-multi-list-response.json | 2 + .../networks/networks-multi-show-response.json | 1 + .../networks/networks-provider-list-response.json | 2 + .../networks-vlan-transparent-list-response.json | 2 + .../ports/port-bind-create-update-response.json | 1 + .../v2/samples/ports/port-bind-show-response.json | 1 + .../v2/samples/ports/port-create-response.json | 1 + .../v2/samples/ports/port-show-response.json | 1 + .../v2/samples/ports/port-update-response.json | 1 + .../v2/samples/ports/ports-bind-show-response.json | 2 + .../samples/ports/ports-bulk-create-response.json | 2 + .../v2/samples/ports/ports-list-response.json | 2 + .../v2/samples/qos/policies-list-response.json | 1 + .../v2/samples/qos/policy-create-response.json | 1 + .../v2/samples/qos/policy-show-response.json | 1 + .../v2/samples/qos/policy-update-response.json | 1 + .../quotas/quotas-list-for-project-response.json | 13 + .../quotas/quotas-list-for-tenant-response.json | 13 - .../v2/samples/quotas/quotas-list-response.json | 1 + .../routers/router-add-interface-response.json | 1 + .../v2/samples/routers/router-create-response.json | 1 + .../routers/router-remove-interface-response.json | 1 + .../v2/samples/routers/router-show-response.json | 1 + .../v2/samples/routers/router-update-response.json | 1 + .../v2/samples/routers/routers-list-response.json | 2 + .../security-group-create-response.json | 3 + .../security-group-rule-create-response.json | 1 + .../security-group-rule-show-response.json | 1 + .../security-group-rules-list-response.json | 4 + .../security-group-show-response.json | 5 + .../security-group-update-response.json | 1 + .../security-groups-list-response.json | 5 + .../samples/segments/segment-create-request.json | 8 + .../samples/segments/segment-create-response.json | 11 + .../v2/samples/segments/segment-show-response.json | 11 + .../samples/segments/segment-update-request.json | 6 + .../samples/segments/segment-update-response.json | 11 + .../samples/segments/segments-list-response.json | 22 + .../v2/samples/subnets/subnet-create-response.json | 2 + .../v2/samples/subnets/subnet-show-response.json | 2 + .../v2/samples/subnets/subnet-update-response.json | 2 + .../subnets/subnetpool-create-response.json | 1 + .../samples/subnets/subnetpool-show-response.json | 1 + .../subnets/subnetpool-update-response.json | 1 + .../samples/subnets/subnetpools-list-response.json | 2 + .../subnets/subnets-create-bulk-response.json | 4 + .../v2/samples/subnets/subnets-list-response.json | 4 + .../samples/trunks/trunk-add-subports-request.json | 9 + .../trunks/trunk-add-subports-response.json | 20 + .../v2/samples/trunks/trunk-create-request.json | 7 + .../trunks/trunk-details-show-response.json | 43 ++ .../trunks/trunk-list-subports-response.json | 9 + .../trunks/trunk-remove-subports-request.json | 7 + .../trunks/trunk-remove-subports-response.json | 14 + .../v2/samples/trunks/trunk-show-response.json | 22 + .../v2/samples/trunks/trunk-update-request.json | 6 + .../v2/samples/trunks/trunk-update-response.json | 22 + .../v2/samples/trunks/trunks-create-response.json | 16 + .../v2/samples/trunks/trunks-list-response.json | 18 + .../v2/samples/vpn/ikepolicies-list-response.json | 1 + .../v2/samples/vpn/ikepolicy-create-response.json | 1 + .../v2/samples/vpn/ikepolicy-show-response.json | 1 + .../v2/samples/vpn/ikepolicy-update-response.json | 1 + .../vpn/ipsec-site-connection-create-response.json | 1 + .../vpn/ipsec-site-connection-show-response.json | 1 + .../vpn/ipsec-site-connection-update-response.json | 1 + .../vpn/ipsec-site-connections-list-response.json | 1 + .../samples/vpn/ipsecpolicies-list-response.json | 1 + .../samples/vpn/ipsecpolicy-create-response.json | 1 + .../v2/samples/vpn/ipsecpolicy-show-response.json | 1 + .../samples/vpn/ipsecpolicy-update-response.json | 1 + .../vpn/vpn-endpoint-group-create-response.json | 1 + .../vpn/vpn-endpoint-group-show-response.json | 1 + .../vpn/vpn-endpoint-group-update-response.json | 1 + .../vpn/vpn-endpoint-groups-list-response.json | 2 + .../v2/samples/vpn/vpnservice-create-response.json | 1 + .../v2/samples/vpn/vpnservice-show-response.json | 1 + .../v2/samples/vpn/vpnservice-update-response.json | 1 + .../v2/samples/vpn/vpnservices-list-response.json | 1 + api-ref/source/v2/security-group-rules.inc | 12 +- api-ref/source/v2/security-groups.inc | 20 +- api-ref/source/v2/segments.inc | 209 ++++++ api-ref/source/v2/service-providers.inc | 20 +- api-ref/source/v2/subnetpools.inc | 26 +- api-ref/source/v2/subnets.inc | 22 +- api-ref/source/v2/trunk-details.inc | 43 ++ api-ref/source/v2/trunk.inc | 386 +++++++++++ api-ref/source/v2/versions.inc | 46 +- api-ref/source/v2/vpnaas.inc | 83 ++- neutron_lib/api/converters.py | 21 +- neutron_lib/api/definitions/__init__.py | 0 neutron_lib/api/definitions/base.py | 108 +++ neutron_lib/api/definitions/trunk.py | 97 +++ neutron_lib/api/definitions/trunk_details.py | 62 ++ neutron_lib/api/extensions.py | 144 ++++ neutron_lib/api/utils.py | 44 ++ neutron_lib/api/validators.py | 337 ++++++++- neutron_lib/constants.py | 10 + neutron_lib/plugins/__init__.py | 0 neutron_lib/plugins/directory.py | 92 +++ .../unit/api/definitions/test_trunk_details.py | 19 + neutron_lib/utils/file.py | 6 + releasenotes/notes/.placeholder | 0 .../api-definition-base-d2e9514c5ee2ef5b.yaml | 5 + .../extension_descriptor-04025e86249cc94c.yaml | 4 + .../notes/plugin-directory-55861f4098813ba6.yaml | 15 + releasenotes/notes/trunk-api-08bfdcdd80f7e666.yaml | 3 + releasenotes/source/README.rst | 10 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 281 ++++++++ releasenotes/source/index.rst | 9 + releasenotes/source/unreleased.rst | 5 + requirements.txt | 12 +- test-requirements.txt | 11 +- tools/tox_install.sh | 52 ++ tox.ini | 5 +- 217 files changed, 4237 insertions(+), 879 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index b1c9ac2..788adf8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +5,0 @@ pbr>=1.6 # Apache-2.0 -Babel>=2.3.4 # BSD @@ -10 +9,2 @@ debtcollector>=1.2.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 +oslo.concurrency>=3.8.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -12 +12 @@ oslo.context>=2.9.0 # Apache-2.0 -oslo.db>=4.10.0 # Apache-2.0 +oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 @@ -14 +14 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.log>=1.14.0 # Apache-2.0 +oslo.log>=3.11.0 # Apache-2.0 @@ -16 +16 @@ oslo.messaging>=5.2.0 # Apache-2.0 -oslo.policy>=1.9.0 # Apache-2.0 +oslo.policy>=1.15.0 # Apache-2.0 @@ -18 +18 @@ oslo.service>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 +oslo.utils>=3.17.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index cd83f9c..fbbf5ca 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +7 @@ hacking<0.12,>=0.11.0 # Apache-2.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -11,2 +11,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +oslosphinx>=4.7.0 # Apache-2.0 @@ -14,2 +14,3 @@ oslotest>=1.10.0 # Apache-2.0 -os-api-ref>=0.4.0 # Apache-2.0 -os-testr>=0.7.0 # Apache-2.0 +os-api-ref>=1.0.0 # Apache-2.0 +os-testr>=0.8.0 # Apache-2.0 +reno>=1.8.0 # Apache-2.0 __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev