We are psyched to announce the release of: python-openstackclient 2.2.0: OpenStack Command-line Client This release is part of the mitaka release series. With source available at: https://git.openstack.org/cgit/openstack/python-openstackclient With package available at: https://pypi.python.org/pypi/python-openstackclient Please report issues through launchpad: https://bugs.launchpad.net/python-openstackclient For more details, please see below. 2.2.0 ^^^^^ New Features ************ * OSprofiler support was added. To initiate OpenStack request tracing "--profile <HMAC_KEY>" option needs to be added to the CLI command. This key needs to present one of the secret keys defined in the OpenStack projects configuration files (if there is a wish to generate cross-project trace, the chosen key needs to be presented in all these configuration files). By default all OpenStack projects, that support OSprofiler, are using "SECRET_KEY" HMAC key. To use tracing functionality OSprofiler (and its storage backend) needs to be installed in the environment. If so, you will be able to trigger profiling via *openstack --profile SECRET_KEY <operation>* command. At the end of output there will be message with <trace_id>, and to plot human-readable HTML chart the following command should be used - "osprofiler trace show <trace_id> --html --out result.html". * Allow custom logging of components [Bug 1484660 (https://bugs.launchpad.net/python-openstackclient/+bug/1484660)] * Command "ip floating delete" is now available for neutron network. [Bug 1519502 (https://bugs.launchpad.net/python- openstackclient/+bug/1519502)] * Command "ip floating list" is now available for neutron network. [Bug 1519502 (https://bugs.launchpad.net/python- openstackclient/+bug/1519502)] * Add command "ip floating show" for neutron and nova network. [Bug 1519502 (https://bugs.launchpad.net/python- openstackclient/+bug/1519502)] * Add support for "security group rule show" command. [Bug 1519512 (https://bugs.launchpad.net/bugs/1519512)] * Add support for the *server dump create* command [Bug 1538372 (https://bugs.launchpad.net/python-openstackclient/+bug/1538372)] * Add "subnet show" command. [Bug 1542359 (https://bugs.launchpad.net/bugs/1542359)] * Add "subnet delete" command to openstack-client. [Bug 1542362 (https://bugs.launchpad.net/python-openstackclient/+bug/1542362)] * Add "token revoke" command for Identity v3 [Bug 1543226 (https://bugs.launchpad.net/bugs/1543226)] * Command "network delete" is now available for nova network. [Bug 1543672 (https://bugs.launchpad.net/python- openstackclient/+bug/1543672)] * Command "network list" is now available for nova network. [Bug 1543672 (https://bugs.launchpad.net/python- openstackclient/+bug/1543672)] * Command "network show" is now available for nova network. [Bug 1543672 (https://bugs.launchpad.net/python- openstackclient/+bug/1543672)] * Command "network create" is now available for nova network. [Bug 1543672 (https://bugs.launchpad.net/python- openstackclient/+bug/1543672)] * Add support for "subnet pool delete" command. [Bug 1544587 (https://bugs.launchpad.net/python-openstackclient/+bug/1544587)] * Add support for "subnet pool list" command. [Bug 1544589 (https://bugs.launchpad.net/python-openstackclient/+bug/1544589)] * Add support for "subnet pool show" command. [Bug 1544590 (https://bugs.launchpad.net/python-openstackclient/+bug/1544590)] * [bug 1479569 (https://bugs.launchpad.net/python- keystoneclient/+bug/1479569)] Add an optional "--names" argument to the *role assignment list`* command. This will output names instead of IDs for users, groups, roles, projects, and domains. * Add support for recursive container delete. [Bug 1542718 (https://bugs.launchpad.net/bugs/1542718)] Bug Fixes ********* * Ignore the "security group list" command "--all-projects" option for Network v2 since security groups will be displayed for all projects by default (admin only). [Bug 1519511 (https://bugs.launchpad.net/bugs/1519511)] * The "token issue" can now return an unscoped token. If a *project* or *domain* target scope are not specified, an unscoped token will be returned. [Bug 1543214 (https://bugs.launchpad.net/bugs/1543214)] * Command "flavor set/unset" now outputs nothing. [Bug 1546065 (https://bugs.launchpad.net/python-openstackclient/+bug/1546065)] * Command "security group set" now outputs nothing. [Bug 1546065 (https://bugs.launchpad.net/python-openstackclient/+bug/1546065)] * Command "compute agent set" now outputs nothing. [Bug 1546065 (https://bugs.launchpad.net/python-openstackclient/+bug/1546065)] * Command "aggregate set" now outputs nothing. [Bug 1546065 (https://bugs.launchpad.net/python-openstackclient/+bug/1546065)] Changes in python-openstackclient 2.1.0..2.2.0 ---------------------------------------------- 8cf28a3 Fix test_aggregate functional test 4ab6663 Updated from global requirements f2ef9f2 Trivial: Reorder unit tests in alphabetical order in volume tests fd53a49 [Image] Check return value is None in image unit tests. 359dfa1 Support "network create" command in nova network fbe5dc6 Devref: Options with Choices 059f54e Clean up unnecessary import of urlparse module 8b17a1f Trivial: Update image_list v2 docs 8a839ad Fix regression in interactive client mode c832e2a Fix 'code-block' tag format issues a1f2f4a TrivialOrder: Rearrange Class Names 3f95e2d add a checklist for creating a new plugin 37c0e57 Trivial: Reorder flavor op order in flavor.py 88c92bf Subnet: Add "subnet delete" command using SDK b8d72ce fix: Exception message includes unnecessary class args 842882f Refactor security group list to use SDK 3d74304 take_action() method from command.Command shouldn't return a253217 Trivial: Reorder unit tests in test_type.py 61c1d98 Fix return value of "image set" command 058232b [Compute] Check return value is None in compute unit tests. 01c19ef Router: Add --route and --clear-routes options to "router set" command ada06f4 Add MultiKeyValueAction to custom parser action ba826fa Make SetAggregate inherit from cliff.Command 9c91c1d Make SetAgent inherit from cliff.Command 859bfaf Make SetSecurityGroup inherit from cliff.Command f37eda3 Make SetFlavor and UnsetFlavor inherit from cliff.Command b733ecf Add missing command/configuration object 45d6c1f Updated from global requirements 16f0083 Add shell --profile option to trigger osprofiler from CLI 69d5bc4 update heat object and command doc e0b6cab Add some test cases for "server list" command f0960f0 Floating IP: Neutron support for "ip floating show" command 3e08590 Improve tox to show coverage report on same window e47c83d Py3 replace dict.iteritems with six.iteritems 198371b Updated from global requirements 3d7a26b Defaults are ignored with flake8 f49f0fe Fixed a bunch of spacing dccde70 Add "security group rule show" command ab40add Fix wrong return value in TestDeleteFloatingIPNetwork 07242fc Use update_parser_common() in ShowNetwork 11a8f91 Use instanceof instead of type 112d7b0 Add "os subnet show" command using SDK c57fc41 Initialize _keys in __init__() in FakeFlavorResource 8825f0d Add unit tests for 'hypervisor stats' command e2158b7 Clean redundant argument to dict.get acc0297 Add functional tests for "volume" commands v2 86cae7e Add functional tests for "image" command v2 097d35e Updated from global requirements b4edbd5 Add unit test for "flavor show" command 6af2883 Refactor: Set "project_id" for FakeXXX in a consistent style dc5a8fa Fix Mutable default argument eb6da5f gitignore .idea 53e058f Trivial: Rename subnet_pool.rst to subnet-pool.rst 5a978b9 Replace string format arguments with function parameters 41e1bd0 Support unscoped token request ef64a8b Use assertIsNone() instead of assertEqual(None, xxx) 48681af Don't use Mock.called_once_with that does not exist ca34aa1 Floating IP: Fix "ip floating list" in neutron network 3c8bb16 Subnet Pool: Add "subnet pool show" command a04012c Subnet Pool: Add "subnet pool list" command 444fc61 Remove unused test-requirments 79fd6d3 Subnet Pool: Add "subnet pool delete" command d9d1809 Support "network show" command in nova network ddc97c6 Support "network list" command in nova network 0a3ba91 Add release note for "network delete" command for nova network da3d652 Define FakeFloatingIP class in tests/compute for nova network commands 5f40e1e Add release note for "ip floating delete/list" commands for neutron network e5b8e08 Fix 'openstack --help' fails if clouds.yaml cannot be read 324e026 Rename parameter "identifier" to "network" in network commands cfcb750 Use assertRaises() to check if an exception is raised 27a0da6 Support "network delete" command in nova network d8abec3 Floating IP: Neutron support for "ip floating list" command 6109dfc Floating IP: Neutron support for "ip floating delete" command 08e0452 Updated from global requirements ea0b8f9 Add quota functional tests 04e45bb Add NetworkAndCompute Lister and ShowOne classes 7d6d23d Fix identity test_role functional tests 9d57709 Trivial: Fix a typo in test_network.py dda45e3 Updated from global requirements b3a4b88 Refactor network AZ exception handling a29c973 Refactor security group rule delete to use SDK 9f71b77 Identity: Fix DisplayCommandBase comments for cliff ShowOne subclass tests d0c0cef Identity: Fix DisplayCommandBase comments for cliff Lister subclass tests 1225ad5 Identity: Fix DisplayCommandBase comments for cliff Command subclass tests e1feed5 Trivial: Fix "abstractmethod" to "abstract method" 35833f7 Fix DisplayCommandBase comments for cliff ShowOne subclass tests 686a269 Add "token revoke" for identity v3 e69b88e Fix DisplayCommandBase comments for cliff Lister subclass tests 43f8050 Fix DisplayCommandBase comments for cliff Command subclass tests e3e925d Updated from global requirements cdb7637 Add release note for custom logging feature 828f63f Add release note for recursive delete fc708c4 Add unit tests for "hypervisor show" command 23faa33 Compute: Fix DisplayCommandBase comments for cliff ShowOne subclass tests 3c67e8d Compute: Fix DisplayCommandBase comments for cliff Lister subclass tests b9de23d Compute: Fix DisplayCommandBase comments for cliff Command subclass tests 90a4cf2 Remove identity_client.projects definition in TestSecurityGroup 1740218 Define security_group_rules mock in FakeComputev2Client 553631a Move security_groups mock definition to FakeComputev2Client 552eded Fix formatting in release 2.0.0 notes 99f6795 Fix some release note formatting 514a168 Add recursive object delete for containers a836023 Refactor security group functional tests e108719 Add functional tests for snapshots 6b3583a Add support for triggering an crash dump 05b1874 Add unit tests for "hypervisor list" command b95ce71 Allow custom log levels for other loggers 38ff51b Use assert_not_called() in common tests 3a48989 Return names in list role assignments 4b70e60 Add python-searchlightclient to list of adopters. 7b11051 Doc: Add optional command specs process Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + functional/common/test.py | 5 + openstackclient/api/api.py | 6 +- openstackclient/api/auth.py | 43 +- openstackclient/api/auth_plugin.py | 2 +- openstackclient/api/image_v2.py | 11 +- openstackclient/api/object_store_v1.py | 48 +-- openstackclient/api/utils.py | 2 +- openstackclient/common/availability_zone.py | 5 +- openstackclient/common/clientmanager.py | 39 +- openstackclient/common/command.py | 1 + openstackclient/common/exceptions.py | 5 +- openstackclient/common/logs.py | 48 ++- openstackclient/common/parseractions.py | 83 +++- openstackclient/common/quota.py | 4 +- openstackclient/common/timing.py | 3 +- openstackclient/common/utils.py | 14 +- openstackclient/compute/client.py | 2 +- openstackclient/compute/v2/agent.py | 5 +- openstackclient/compute/v2/aggregate.py | 28 +- openstackclient/compute/v2/flavor.py | 68 ++- openstackclient/compute/v2/floatingip.py | 40 -- openstackclient/compute/v2/security_group.py | 85 +--- openstackclient/compute/v2/server.py | 30 +- openstackclient/identity/client.py | 3 +- openstackclient/identity/v2_0/token.py | 6 +- openstackclient/identity/v3/consumer.py | 2 - openstackclient/identity/v3/credential.py | 3 - openstackclient/identity/v3/domain.py | 2 - openstackclient/identity/v3/endpoint.py | 4 - openstackclient/identity/v3/federation_protocol.py | 1 - openstackclient/identity/v3/group.py | 2 - openstackclient/identity/v3/identity_provider.py | 1 - openstackclient/identity/v3/mapping.py | 1 - openstackclient/identity/v3/policy.py | 2 - openstackclient/identity/v3/project.py | 6 +- openstackclient/identity/v3/region.py | 3 - openstackclient/identity/v3/role.py | 14 +- openstackclient/identity/v3/role_assignment.py | 40 +- openstackclient/identity/v3/service.py | 11 +- openstackclient/identity/v3/service_provider.py | 1 - openstackclient/identity/v3/token.py | 21 + openstackclient/identity/v3/unscoped_saml.py | 1 + openstackclient/identity/v3/user.py | 7 +- openstackclient/image/v1/image.py | 10 +- openstackclient/network/common.py | 110 ++++- openstackclient/network/v2/floating_ip.py | 126 ++++++ openstackclient/network/v2/network.py | 140 ++++-- openstackclient/network/v2/port.py | 4 +- openstackclient/network/v2/router.py | 30 +- openstackclient/network/v2/security_group.py | 50 +++ openstackclient/network/v2/security_group_rule.py | 121 ++++++ openstackclient/network/v2/subnet.py | 46 ++ openstackclient/network/v2/subnet_pool.py | 121 ++++++ openstackclient/object/v1/container.py | 14 + openstackclient/shell.py | 67 ++- openstackclient/volume/v2/volume.py | 12 +- .../add-osprofiler-support-adf5286daf220914.yaml | 17 + .../allow-custom-logging-12d55f8ed859ff8e.yaml | 5 + .../notes/bug-1519181-932c1ff07ef16666.yaml | 2 +- .../notes/bug-1519502-f72236598d14d350.yaml | 8 + .../notes/bug-1519511-74bab0e0d32db043.yaml | 7 + .../notes/bug-1519512-48624c5a32432a47.yaml | 5 + .../notes/bug-1520003-505af921c8afffc9.yaml | 2 +- .../notes/bug-1520115-0367e1c8917dc912.yaml | 3 +- .../notes/bug-1520541-44d45e4693089c03.yaml | 3 +- .../notes/bug-1527833-42cde11d28b09ac3.yaml | 4 +- .../notes/bug-1532945-1a5485b8d0ebddb8.yaml | 6 +- .../notes/bug-1534202-1ba78f0bb744961f.yaml | 4 +- .../notes/bug-1538372-ef3a30298357f972.yaml | 5 + .../notes/bug-1542359-181d28db21a2358a.yaml | 5 + .../notes/bug-1542362-ddad607f6d3025f0.yaml | 5 + .../notes/bug-1543214-959aee7830db2b0d.yaml | 6 + .../notes/bug-1543226-7d885ecaa3715415.yaml | 5 + .../notes/bug-1543672-bad2fc4c6c8f3125.yaml | 10 + .../notes/bug-1544587-ec3ca453c1340b4e.yaml | 4 + .../notes/bug-1544589-b9f669ef71aa5e57.yaml | 4 + .../notes/bug-1544590-8cf42954e28c2f42.yaml | 4 + .../notes/bug-1546065-41d09ffbd8606513.yaml | 10 + ...ist_role_assignment_names-0db89f50259d4be2.yaml | 6 + .../no-project-usage-list-e88eb49aa2e96cf7.yaml | 2 +- ...ecursive-container-delete-983361aa9c35ffed.yaml | 5 + .../notes/server-changes-3962541b6ebdbbd8.yaml | 12 +- requirements.txt | 6 +- setup.cfg | 18 +- test-requirements.txt | 6 +- tox.ini | 7 +- 205 files changed, 6707 insertions(+), 1437 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index cc189ba..7c01b7c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ Babel>=1.3 # BSD -cliff>=1.15.0 # Apache-2.0 +cliff!=1.16.0,>=1.15.0 # Apache-2.0 @@ -12 +12 @@ os-client-config>=1.13.1 # Apache-2.0 -oslo.config>=3.4.0 # Apache-2.0 +oslo.config>=3.7.0 # Apache-2.0 @@ -14 +14 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.utils>=3.4.0 # Apache-2.0 +oslo.utils>=3.5.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 6a73cd9..5db2336 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -18,2 +18,2 @@ testtools>=1.4.0 # MIT -WebOb>=1.2.3 # MIT -tempest-lib>=0.13.0 # Apache-2.0 +tempest-lib>=0.14.0 # Apache-2.0 +osprofiler>=1.1.0 # Apache-2.0 @@ -28 +28 @@ python-mistralclient>=1.0.0 # Apache-2.0 -python-saharaclient>=0.10.0 # Apache-2.0 +python-saharaclient>=0.13.0 # Apache-2.0