[release-announce] [nova] python-novaclient 7.0.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Thu Dec 22 14:33:16 UTC 2016


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





More information about the Release-announce mailing list