We are pleased to announce the release of: python-neutronclient 4.1.0: CLI and Client Library for OpenStack Networking This release is part of the mitaka release series. With source available at: http://git.openstack.org/cgit/openstack/python-neutronclient With package available at: https://pypi.python.org/pypi/python-neutronclient Please report issues through launchpad: http://bugs.launchpad.net/python-neutronclient For more details, please see below. 4.1.0 ^^^^^ New Features ************ * CLI support for the "get-me-a-network" feature, which simplifies the process for launching an instance with basic network connectivity. * The "auto-allocated-topology-show" command provides the network of the automatically allocated topology for a tenant. * CLI support for Layer 7 content policies and rules. * L7 policies can be defined for listeners along with the ability to set L7 policy order. * Multiple rules can be created for an L7 policy. * CLI support for load balancer status tree. * The "lbaas-loadbalancer-status" command provides the status tree of a specific load balancer. * New command 'neutron purge <tenant_id>' will delete all supported resources owned by the given tenant, provided that the user has sufficient authorization and the resources in question are not shared, in use, or otherwise undeletable. Supported resources are: * Networks * Subnets * Routers * Ports * Floating IPs * Security Groups * CLI support for QoS policy RBAC. * The "rbac-create" command include a --type qos-policy option. * The "rbac-list" command output includes a new 'type' column. * CLI support for Neutron-LBaaS v2 shared pools added. * Pools can be created independently from listeners. * Listeners can share the same default_pool. * Makes Layer 7 switching support much more useful. * CLI support for tag. * The "tag-add" command sets a tag on the network resource. It also includes "--resource-type", "--resource" and "--tag" options. * The "tag-replace" command replaces tags on the network resource. It also includes "--resource-type", "--resource" and "--tag" options. More than one "--tag" options can be set. * The "tag-remove" command removes tags on the network resource. It also includes "--resource-type", "--resource", "--tag" and "-- all" options. The "--all" option allow to remove all tags on the network resource. * The "net-list" command includes "--tags", "--tags-any", "--not- tags" and "--not-tags-any" options. * CLI support for the BGP dynamic routing functionality will help advertising neutron fixed-ips and dvr host routes via BGP. * CLI support for default subnetpools. * The "subnetpool-list" and "subnetpool-show" command output includes the "is_default" field. * The "subnetpool-create" and "subnetpool-update" commands include a "--is-default" option. * CLI support for network IP availability * The "net-ip-availability-list" command provides a list of IP usage statistics for all networks. * The "net-ip-availability-show" command provides IP usage stats for a specific network. * Neutron client returns 'x-openstack-request-id'. Bug Fixes ********* * Fix bug 1450414 (https://bugs.launchpad.net/python- neutronclient/+bug/1450414) that authentication with via "--os- token" and "--os-url" options (or corresponding environment variables) does not work after keystone v3 API support. Changes in python-neutronclient 4.0.0..4.1.0 -------------------------------------------- 3208826 Update relnote on fix of bug 1450414 d3f13f4 Support dry-run option for auto-allocated-topology 0740766 fix: can't get authentication with os-token and os-url 724d4b5 refactor: Merge all debug logging at the beginning of take_action 6f2963d refactor: Avoid overriding run() in cliff command f67f4af Add tags support 8910471 Add commands for Network IP Availability 88fbd38 Support cleanup of tenant resources with a single API call a64aad2 Reflecting L7 content rules capability in LBaaS c422c26 LBaaS updates to reflect shared pools feature a147631 Misleading output when network is not found b667b32 add rbac support for qos-policies 585a4ff Devref Update: Transition to OpenStack Client 65118c0 Add wrapper classes for return-request-id-to-caller 3c26455 BGP Dynamic Routing: neutronclient changes e0667e9 Add use_default_subnetpool to subnet create requests af1a55b Ensure to use exception per status code for all cases 0dd54a0 Use instanceof instead of type 8d4c0e4 Add DNS integration support to the client ed17ae6 Improve str2dict key validation to avoid wrong keys 44da935 Updated from global requirements 3e3baba Fix the exception when ID/Name not found 9c3ad54 Fix typo in the help of net-list 53195f7 Fix typos in the docstrings 6810d96 Updated from global requirements 92b5fe9 Provide argument filtering in neutron *-list da57c86 Client bindings for Get-me-a-network 4ac0d80 "neutron help firewall-rule-update" info updated eafefad Show all updatable options in (fw/fw-policy)-update CLI d356439 Allow UPPER case in protocol/action for FW Rule 809af6c Make metavar usage consistent 9f792d0 Update translation setup 6581284 Fix code-block for python code in doc 11d9cc8 Updated from global requirements b6a3c4a Trivial Update on ReleaseNotes c2545f8 Remove inconsistency from vpn help text 0259e03 Remove argparse from requirements a97f28f Add code for load balancer status tree 047bbd9 Add support for default subnetpools API b12d19d Updated from global requirements 2f08273 Fix typo in docstrings 131160e refactor: Get rid of usage of get_data in favor of take_action 2eb5b71 refactor: Drop meaningless 'api' attribute from NeutronCommand class f903ad9 refactor: Remove usage of useless command.command.OpenStackCommand 7451488 Convert remaining use of neutronclient.i18n to _i18n aac9356 Updated from global requirements 0903017 Remove 'u' displayed before subnetpool-list's prefixes 538c23a Add support for ip_version on AddressScope create 3a4d49d Enhance the help info of "neutron router-gateway-set" 5286df8 Adding a lowercase converter in utils.py 918a21a Drop unused TableFormater code 597800f Support pagination listing in client extension 83d6156 Delete python bytecode before every test run 96eff78 Add help information of 'firewall-rule-create' aa2dad3 Setup for translation Diffstat (except docs and test files) ------------------------------------- babel.cfg | 2 + neutronclient/common/command.py | 35 -- neutronclient/common/exceptions.py | 9 + neutronclient/common/extension.py | 20 +- neutronclient/common/utils.py | 40 +- neutronclient/neutron/v2_0/__init__.py | 163 +++++--- neutronclient/neutron/v2_0/address_scope.py | 12 +- neutronclient/neutron/v2_0/agentscheduler.py | 28 +- .../neutron/v2_0/auto_allocated_topology.py | 81 ++++ neutronclient/neutron/v2_0/availability_zone.py | 2 +- neutronclient/neutron/v2_0/bgp/__init__.py | 0 neutronclient/neutron/v2_0/bgp/dragentscheduler.py | 117 ++++++ neutronclient/neutron/v2_0/bgp/peer.py | 127 ++++++ neutronclient/neutron/v2_0/bgp/speaker.py | 277 +++++++++++++ neutronclient/neutron/v2_0/dns.py | 67 ++++ neutronclient/neutron/v2_0/flavor/flavor.py | 4 +- neutronclient/neutron/v2_0/floatingip.py | 13 +- neutronclient/neutron/v2_0/fw/firewall.py | 109 ++--- neutronclient/neutron/v2_0/fw/firewallpolicy.py | 35 +- neutronclient/neutron/v2_0/fw/firewallrule.py | 126 +++--- neutronclient/neutron/v2_0/lb/healthmonitor.py | 4 +- neutronclient/neutron/v2_0/lb/pool.py | 3 +- neutronclient/neutron/v2_0/lb/v2/l7policy.py | 155 +++++++ neutronclient/neutron/v2_0/lb/v2/l7rule.py | 148 +++++++ neutronclient/neutron/v2_0/lb/v2/listener.py | 57 ++- neutronclient/neutron/v2_0/lb/v2/loadbalancer.py | 32 +- neutronclient/neutron/v2_0/lb/v2/member.py | 4 +- neutronclient/neutron/v2_0/lb/v2/pool.py | 66 ++- neutronclient/neutron/v2_0/network.py | 43 ++ .../neutron/v2_0/network_ip_availability.py | 73 ++++ neutronclient/neutron/v2_0/nsx/networkgateway.py | 6 +- neutronclient/neutron/v2_0/port.py | 30 +- neutronclient/neutron/v2_0/purge.py | 147 +++++++ neutronclient/neutron/v2_0/quota.py | 15 +- neutronclient/neutron/v2_0/rbac.py | 35 +- neutronclient/neutron/v2_0/router.py | 29 +- neutronclient/neutron/v2_0/subnet.py | 15 +- neutronclient/neutron/v2_0/subnetpool.py | 18 +- neutronclient/neutron/v2_0/tag.py | 105 +++++ neutronclient/neutron/v2_0/vpn/ikepolicy.py | 7 +- .../neutron/v2_0/vpn/ipsec_site_connection.py | 6 +- neutronclient/neutron/v2_0/vpn/ipsecpolicy.py | 7 +- neutronclient/neutron/v2_0/vpn/vpnservice.py | 3 + neutronclient/shell.py | 93 ++++- .../unit/test_cli20_network_ip_availability.py | 54 +++ .../unit/vpn/test_cli20_ipsec_site_connection.py | 8 +- neutronclient/v2_0/client.py | 446 ++++++++++++++++++--- .../add-get-me-a-network-5ab2d60bf6f257b1.yaml | 9 + ...ntent-policies-capability-0f17cd06f044c83c.yaml | 8 + .../notes/add-lb-status-tree-723f23c09617de3b.yaml | 7 + .../notes/add-neutron-purge-a89e3d1179dce4b1.yaml | 16 + .../add-rbac-qos-type-support-c42e31fadd7b.yaml | 8 + .../add-shared-pools-support-6f79b565afad3e47.yaml | 8 + .../notes/add-tag-support-bad62d60ecc7075c.yaml | 16 + .../bgp-dynamic-routing-b97a1c81d3007049.yaml | 5 + ...efault-subnetpool-support-c0d34870e9d3e814.yaml | 9 + ...ken-endpoint-auth-support-26bf7ee12e4ec833.yaml | 6 + .../network-ip-availability-ac9a462f42fe9db4.yaml | 9 + .../relnotes-from-3.0.0-d7306f5af5e3868d.yaml | 1 + ...turn-request-id-to-caller-15b1d23a4ddc27a3.yaml | 3 + releasenotes/source/old_relnotes.rst | 1 + requirements.txt | 27 +- setup.cfg | 14 + test-requirements.txt | 21 +- tox.ini | 9 +- 98 files changed, 5008 insertions(+), 592 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 58b4593..c1142eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,6 @@ -pbr>=1.6 -argparse -cliff>=1.15.0 # Apache-2.0 -debtcollector>=0.3.0 # Apache-2.0 -iso8601>=0.1.9 -netaddr!=0.7.16,>=0.7.12 -oslo.i18n>=1.5.0 # Apache-2.0 +pbr>=1.6 # Apache-2.0 +cliff!=1.16.0,>=1.15.0 # Apache-2.0 +debtcollector>=1.2.0 # Apache-2.0 +iso8601>=0.1.9 # MIT +netaddr!=0.7.16,>=0.7.12 # BSD +oslo.i18n>=2.1.0 # Apache-2.0 @@ -12,7 +11,7 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.utils>=3.2.0 # Apache-2.0 -os-client-config>=1.13.1 -keystoneauth1>=2.1.0 -requests!=2.9.0,>=2.8.1 -simplejson>=2.2.0 -six>=1.9.0 -Babel>=1.3 +oslo.utils>=3.5.0 # Apache-2.0 +os-client-config>=1.13.1 # Apache-2.0 +keystoneauth1>=2.1.0 # Apache-2.0 +requests!=2.9.0,>=2.8.1 # Apache-2.0 +simplejson>=2.2.0 # MIT +six>=1.9.0 # MIT +Babel>=1.3 # BSD diff --git a/test-requirements.txt b/test-requirements.txt index 1ef23ba..7bece79 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6,5 +6,5 @@ hacking<0.11,>=0.10.0 -coverage>=3.6 -discover -fixtures>=1.3.1 -mox3>=0.7.0 -mock>=1.2 +coverage>=3.6 # Apache-2.0 +discover # BSD +fixtures>=1.3.1 # Apache-2.0/BSD +mox3>=0.7.0 # Apache-2.0 +mock>=1.2 # BSD @@ -13 +13 @@ oslotest>=1.10.0 # Apache-2.0 -python-subunit>=0.0.18 +python-subunit>=0.0.18 # Apache-2.0/BSD @@ -16,4 +16,5 @@ requests-mock>=0.7.0 # Apache-2.0 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -testrepository>=0.0.18 -testtools>=1.4.0 -tempest-lib>=0.12.0 +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +testrepository>=0.0.18 # Apache-2.0/BSD +testtools>=1.4.0 # MIT +testscenarios>=0.4 # Apache-2.0/BSD +tempest-lib>=0.14.0 # Apache-2.0