[nova] python-novaclient 7.0.0 (ocata)
We are thrilled to announce the release of: python-novaclient 7.0.0: Client library for OpenStack Compute API This release is part of the ocata release series. The source is available from: https://git.openstack.org/cgit/openstack/python-novaclient Download the package from: https://pypi.python.org/pypi/python-novaclient Please report issues through launchpad: https://bugs.launchpad.net/python-novaclient For more details, please see below. 7.0.0 ^^^^^ All extensions of API V2.0 were merged to 2.1, but NovaClient continued to store them as a separate entities. The ability to use non-Keystone authentication systems has been removed. Several deprecated commands have been removed. See the upgrade section for details. New Features ************ * Added microversion v2.40 which introduces pagination support for usage with the help of new optional parameters 'limit' and 'marker'. * You can use **bypass-url** / **endpoint-override** with Keystone V3. Upgrade Notes ************* * Starting from microversion 2.39 'image-metadata' proxy API in Nova is deprecated and python API bindings will not work, although 'image-meta' CLI commands will still work, because of the fallback on the CLI to version 2.35. * All managers and resources from novaclient.v2.contrib submodules are moved to appropriate submodules of novaclient.v2 (except barametal and tenant_networks, which were deprecated previously) * All shell commands from novaclient.v2.contrib submodules are moved to novaclient.v2.shell module. * novaclient.v2.client.Client imports all modules (which were located in submodules of novaclient.v2.contrib) by-default for api version v2 * Method novaclient.client.discover_extensions returns only barametal and tenant_networks extensions, since they are not included by default. * There are no modules and extensions for "deferred_delete", "host_evacuate", "host_evacuate_live" and "metadata_extensions" anymore. Previously, they contained only shell commands and shell module auto loads them (there is no ability to not do it). * Support for microversion 2.38 added. As of microversion 2.38, invalid statuses passed to "nova list --status invalid_status" will result in a HTTP 400 Bad Request error response. * The "--os-auth-system" CLI option and "OS_AUTH_SYSTEM" environment variable usage was deprecated in the 3.1.0 release during the Mitaka development series. This release drops the support for using those options to load non-Keystone authentication systems via the "openstack.client.auth_plugin" extension point. * novaclient.client.Client entry-point accepts only 5 positional arguments: version, username, api_key, project_id, auth_url Using positional arguments for all other options is now an error. * The following deprecated commands have been removed: * absolute-limits * add-floating-ip * aggregate-details * credentials * endpoints * rate-limits * remove-floating-ip * rename * root-password * When using novaclient as a library (via novaclient.client.Client entry-point), an internal implementation of HTTPClient was used if a session object is not specified. For better user experience we switched to using SessionClient which uses keystoneauth (Keystone folks maintain this library) for all auth stuff. The SessionClient interface is similar to HTTPClient, but there is a small possibility that you will notice a difference. Deprecation Notes ***************** * Keyword argument **tenant_id** of novaclient.client.Client entry- point was deprecated in favor of **project_id**. * Keyword argument **tenant_name** of novaclient.client.Client entry- point was deprecated in favor of **project_name**. * The **connection_pool** variable is deprecated now and will be ignored. * novaclient.client.Client entry-point accepted two arguments with same meaning (**no_cache** and **os_cache**). Since **os_cache** is more widely used in our code, **no_cache** was deprecated. * The **proxy_tenant_id** and **proxy_token** arguments to the novaclient.client.Client entry-point were never documented nor tested and are now deprecated for removal in a future release. * CLI argument for volume_service_name was deprecated long time ago. All novaclient's methods for communication with Volume API were deprecated and removed. There is no need to leave **volume_service_name** argument of novaclient.client.Client entry- point since it is not used anywhere, so it is removed now. * All modules of novaclient.v2.contrib are deprecated now and will be removed after OpenStack Pike. * The **api_key** variable of novaclient.client.Client entry-point was deprecated in favor of **password**. Nothing has changed in the case of positional argument usage. * The **--bypass-url** CLI argument was deprecated in favor of **--endpoint-override** * The **bypass_url** argument of novaclient.client.Client entry- point was deprecated in favor of **endpoint_override**. * keyword argument **interface** of novaclient.client.Client entry- point was deprecated in favor of **endpoint_type**; Bug Fixes ********* * Inability to use bypass-url with keystone session is fixed. Other Notes *********** * The meaning of 'project_id' variable of novaclient.client.Client entry-point was not clear. In different cases it was used as ID or Name of project (in terms of Keystone). The time to identify meaning is come, so now project_id/tenant_id variables specifically mean Project ID (in terms of Keystone) and project_name/tenant_name variables mean Project Name (in terms of Keystone). Changes in python-novaclient 6.0.0..7.0.0 ----------------------------------------- 69d05c6 Clarify some release notes prior to the 7.0.0 release 53b23d5 Microversion 2.40 - Simple tenant usage pagination 2e04cb2 Add some missing modules in API reference 0bdd245 Deprecate volume_service_name argument 75052a7 [proxy-api] microversion 2.39 deprecates image-metadata proxy API 2e5576d Remove all code related to HTTPClient 8409e00 Create keystone session instance if not present e4dc84e Make SessionClient interface similar to HTTPClient b4bd07e Deprecate connection_pool variable 2163e66 Transmit all auth related vars from cli to inner methods 77048cc Deprecate proxy_token and proxy_tenant_id args 9bbe5a8 Clarify meaning of project_id var 9df9aff Rename interface to endpoint_type f98b847 Rename api_key to password 1ce917e Rename bypass_url to endpoint_override 73196fd Remove redundant args of _construct_http_client bf09ad8 Introduce helper for checking args deprecation 3305165 Sort arguments for client's methods 5b169ce Updated from global requirements 332b246 Remove internal attribute access from shell 50d83a4 Add limit and offset to server-groups list 4ff6c61 Restict usage *args for novaclient.client.Client ca2fc77 Add version pin for image list function 9a0484e CONF.osapi_max_limit -> CONF.api.max_limit 56bb3da Replace six.iteritems() with .items() 4b63110 Usage missing from generated docs 8a85403 remove variable '_' from tests b7edc92 Add min-disk and min-ram filters to list flavors c1c69f6 Fix doc generation errors a58959d Check source_type and destination_type when booting with bdm provided 29c880c Updated from global requirements 2446755 Fix can't process the resource with name 'help' 5c4d436 Revert "Microversion 2.39 - Simple tenant usage pagination" b76dd85 Updated from global requirements f47393d Microversion 2.39 - Simple tenant usage pagination f834711 Move all extensions from contrib dir c716285 Use upper-constraints when running tox 83106a4 Correct copy/paste errors in help 00d5f56 Show team and repo badges on README 917690e Fix import statement order c255efb Remove unused test code 89a1f7c Remove unused code d93ea9e Fix the description of hypervisors.list 5c1efa5 Change fake server id as str to fit real server id type dd2a9b2 modified the description of service.list b6f63f9 Add version pin for image related function 6b32b65 Updated from global requirements c5cb80b Bump client microversion to 2.38 f1b62de Replace oslo_utils.timeutils.isotime 09e82e8 Updated from global requirements c62981f Updated from global requirements 8ae2e4c Add Python 3.5 classifier and venv 2ba65d0 Updated from global requirements daa9bdc Remove support for non-keystone auth systems a972977 Updated from global requirements 0a16d41 Updated from global requirements 33d8a67 Updated from global requirements d161152 Updated from global requirements 74222a6 Make "policy" a mandatory argument for server-group-create 2a622ff Update docs for instructions on deprecating commands 199fc67 Remove unused helper volume methods in v2 shell fdc5aa5 Remove deprecated commands ef38568 Add timezone disclaimer to docstring 4c1dab9 Enable release notes translation e88afc0 Clean up requests-mock usage 749fee3 Replace requests mocking with requests-mock cad8f80 Updated from global requirements 8e28309 Updated from global requirements c26f0f5 Updated from global requirements 7592a6e Updated from global requirements c0e7785 Updated from global requirements e02c08d Update reno for stable/newton 42f2170 Fix incorrect output of "nova show" for long user data f3fbebd Modify use of assertTrue(A in B) f628849 Updated from global requirements d8c0700 Fix 'UnicodeEncodeError' for unicode values Diffstat (except docs and test files) ------------------------------------- README.rst | 9 + novaclient/__init__.py | 2 +- novaclient/auth_plugin.py | 150 ---- novaclient/base.py | 7 +- novaclient/client.py | 844 ++++----------------- novaclient/exceptions.py | 9 - novaclient/service_catalog.py | 89 --- novaclient/shell.py | 176 ++--- .../functional/v2/legacy/test_readonly_nova.py | 15 +- .../unit/fixture_data/security_group_rules.py | 23 +- .../v2/contrib/test_assisted_volume_snapshots.py | 44 -- .../unit/v2/contrib/test_server_external_events.py | 46 -- .../unit/v2/test_assisted_volume_snapshots.py | 39 + novaclient/utils.py | 23 +- novaclient/v2/assisted_volume_snapshots.py | 54 ++ novaclient/v2/cells.py | 44 ++ novaclient/v2/client.py | 216 ++++-- novaclient/v2/contrib/__init__.py | 51 ++ novaclient/v2/contrib/assisted_volume_snapshots.py | 40 +- novaclient/v2/contrib/cells.py | 60 +- novaclient/v2/contrib/deferred_delete.py | 14 +- novaclient/v2/contrib/host_evacuate.py | 71 +- novaclient/v2/contrib/host_evacuate_live.py | 85 +-- novaclient/v2/contrib/host_servers_migrate.py | 38 +- novaclient/v2/contrib/instance_action.py | 79 +- novaclient/v2/contrib/list_extensions.py | 33 +- novaclient/v2/contrib/metadata_extensions.py | 32 +- novaclient/v2/contrib/migrations.py | 85 +-- novaclient/v2/contrib/server_external_events.py | 26 +- novaclient/v2/flavors.py | 10 +- novaclient/v2/hosts.py | 4 +- novaclient/v2/hypervisors.py | 1 + novaclient/v2/images.py | 2 + novaclient/v2/instance_action.py | 40 + novaclient/v2/list_extensions.py | 36 + novaclient/v2/migrations.py | 51 ++ novaclient/v2/security_groups.py | 3 +- novaclient/v2/server_external_events.py | 39 + novaclient/v2/server_groups.py | 24 +- novaclient/v2/servers.py | 2 +- novaclient/v2/services.py | 2 +- novaclient/v2/shell.py | 830 +++++++++++++------- novaclient/v2/usage.py | 74 +- novaclient/v2/versions.py | 74 +- ...cate-image-meta-proxy-api-1483b75cf73b021e.yaml | 6 + ...arify-project-id-variable-5832698315000438.yaml | 13 + ...ecate-connection-pool-arg-cef35346d5ebf40c.yaml | 3 + .../deprecate-no-cache-arg-7814806b4f79c1b9.yaml | 5 + .../deprecate-proxy-args-a3f4e224f7664ff8.yaml | 5 + ...e-volume-service-name-arg-4c65e8866f9624dd.yaml | 7 + ...recate_contrib_extensions-0ec70c070b09eedb.yaml | 21 + .../notes/microversion-v2_38-0618fe2b3c7f96f9.yaml | 5 + .../notes/microversion-v2_40-484adba0806b08bf.yaml | 4 + .../notes/remove-auth-system-b2cd247b8a312b72.yaml | 9 + ...rename-apikey-to-password-735588d841efa49e.yaml | 5 + .../notes/rename-bypass-url-42cd96956a6bc6dc.yaml | 10 + ...ct-args-for-novaclient-ep-491098c3634365be.yaml | 8 + ...trict-interface-parameter-e5fe166f39ba0935.yaml | 4 + ...ed-commands-options-ocata-00f249810e5bdf97.yaml | 17 + .../switch-to-sessionclient-aa49d16599fea570.yaml | 10 + releasenotes/source/conf.py | 3 + releasenotes/source/index.rst | 6 +- releasenotes/source/newton.rst | 6 + requirements.txt | 10 +- setup.cfg | 1 + test-requirements.txt | 16 +- tools/tox_install.sh | 30 + tox.ini | 15 +- 127 files changed, 3147 insertions(+), 4861 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e9fd28f..b634f78 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,2 +4,2 @@ -pbr>=1.6 # Apache-2.0 -keystoneauth1>=2.10.0 # Apache-2.0 +pbr>=1.8 # Apache-2.0 +keystoneauth1>=2.16.0 # Apache-2.0 @@ -9,3 +9,3 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 -PrettyTable<0.8,>=0.7 # BSD -requests>=2.10.0 # Apache-2.0 +oslo.utils>=3.18.0 # Apache-2.0 +PrettyTable<0.8,>=0.7.1 # BSD +requests!=2.12.2,>=2.10.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index b7bb0e9..97a350f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +7 @@ bandit>=1.1.0 # Apache-2.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -11 +11 @@ mock>=2.0 # BSD -python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 +python-keystoneclient>=3.8.0 # Apache-2.0 @@ -13,5 +13,5 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0 -python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0 -requests-mock>=1.0 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD -os-client-config!=1.19.0,!=1.19.1,!=1.20.0,!=1.20.1,>=1.13.1 # Apache-2.0 -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +python-glanceclient>=2.5.0 # Apache-2.0 +requests-mock>=1.1 # Apache-2.0 +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +os-client-config>=1.22.0 # Apache-2.0 +oslosphinx>=4.7.0 # Apache-2.0 @@ -24 +24 @@ tempest>=12.1.0 # Apache-2.0 -reno>=1.8.0 # Apache2 +reno>=1.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org