We are ecstatic to announce the release of: python-novaclient 9.1.0: Client library for OpenStack Compute API This release is part of the pike 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. 9.1.0 ^^^^^ New Features ************ * Added support for microversion 2.47 which returns the flavor details directly embedded in the server details when listing or showing servers. With this change, CLI requests with microversion >= 2.47 will no longer need to do additional queries to get the flavor and flavor extra_specs information. Instead, the flavor information will be output as separate key/value pairs with the keys namespaced with the "flavor:" prefix. As one would expect, these keys can also be specified as output fields when listing servers, like this: "nova list --fields name,flavor:original_name" When displaying details of a single server, the "--minimal" option will display a "flavor" field with a value of the "original_name" of the flavor. Prior to this microversion the value was the "id" of the flavor. * Added support for microversion 2.49 that enables users to attach tagged interfaces and volumes. A new "--tag" option is added to "nova volume-attach" and "nova interface-attach" commands. * Microversion 2.52 is now supported which adds the "--tags" option to the "nova boot" command and a "tags" kwarg to the "novaclient.v2.servers.ServerManager.create()" python API binding method. (https://docs.openstack.org/nova/latest/api_microversion_history.h tml#id47) * Added support for microversion 2.53. The following changes were made for the "services" commands and python API bindings: * The "nova service-list" command and API will have a UUID value for the "id" field in the output and response, respectively. * The "nova service-enable" command and API will require a UUID service id value to uniquely identify the service rather than a "host" and "binary" value. The UUID "id" field will also be in the command output. * The "nova service-disable" command and API will require a UUID service id value to uniquely identify the service rather than a "host" and "binary" value. The UUID "id" field will also be in the command output. * The "nova service-force-down" command and API will require a UUID service id value to uniquely identify the service rather than a "host" and "binary" value. The UUID "id" field will also be in the command output. * The "nova service-delete" command and API will require a UUID service id value to uniquely identify the service rather than an integer service id value. The following changes were made for the "hypervisors" commands and python API bindings: * The ID field in the various "nova hypervisor-*" commands and "Hypervisor.id" attribute in the API binding will now be a UUID value. * If paging over hypervisors using "nova hypervisor-list", the "-- marker" must be a UUID value. * The "nova hypervisor-show" and "nova hypervisor-uptime" commands and APIs now take a UUID value for the hypervisor ID. (https://docs.openstack.org/nova/latest/api_microversion_history.h tml#id48) Upgrade Notes ************* * The "novaclient.v2.quota_classes.QuotaClassSetManager.update" method now defines specific kwargs starting with microversion "2.50" since updating network-related resource quota class values is not supported on the server with microversion "2.50". The list of excluded resources is: * "fixed_ips" * "floating_ips" * "networks" * "security_groups" * "security_group_rules" Deprecation Notes ***************** * The "binary" argument to the "nova service-enable", "nova service- disable", and "nova service-force-down" commands has been deprecated. The only binary that it makes sense to use is "nova- compute" since disabling a service like "nova-scheduler" or "nova- conductor" does not actually do anything, and starting in the 16.0.0 Pike release the compute API will not be able to look up services other than "nova-compute" for these operations. Bug Fixes ********* * Adds support for the "2.50" microversion which fixes the "nova quota-class-show" and "nova quota-class-update" commands in the following ways: * The "server_groups" and "server_group_members" quota resources will now be shown in the output table for "nova quota-class-show". * The "floating_ips", "fixed_ips", "security_groups" and "security_group_rules" quota resources will no longer be able to be updated using "nova quota-class-update" nor will they be shown in the output of "nova quota-class-show". Use python- openstackclient or python-neutronclient to work with quotas for network resources. In addition, the "nova quota-class-update" CLI was previously incorrectly limiting the ability to update quota class values for "floating_ips", "fixed_ips", "security_groups" and "security_group_rules" based on the 2.36 microversion. That has been changed to limit based on the "2.50" microversion. Changes in python-novaclient 9.0.1..9.1.0 ----------------------------------------- ead61d6 Help text for "--matching" is not clear. 7024d84 Be clear about hypevisors.search used in a few CLIs 2f16685 Change Service repr to use self.id always 5745bea Microversion 2.53 - services and hypervisors using UUIDs 6071f6f Add 'Forced down' column in serivce-list 19b3128 Updated from global requirements 6dc996f Updated from global requirements c3f0864 Updated from global requirements ed058c4 Expect id and disabled_reason in GET /os-services response 02145d7 Updated from global requirements 617eb74 Adjust test_resize_down_revert to account for counting quotas 1945d1c Updated from global requirements 30c9215 Microversion 2.52 - Support tag when boot 24e4e92 Updated from global requirements baa2325 Fix the inappropriate parameter name 9c21ad0 Add resize down test which also verifies quota changes 8ab5452 Add functional test for resize-confirm plus quota validation 66c1137 Add support for the 2.51 microversion 5bfa57a Microversion 2.50 - fix quota class sets resource usage 77f940c Updated from global requirements 945e155 doc: Switch from oslosphinx to openstackdocstheme e11efd8 doc: Create directory structure for docs migration e11a126 Microversion 2.49 - Virt device tagged attach bd0a2ad Fix cropping the endpoint url ed0b2c0 Removed extra word 'method' from the NOTE e7b84da Deprecate binary argument in nova service enable/disable/force-down CLIs 6ac6c5f Updated from global requirements a0301ec Microversion 2.48: Standardization of VM diagnostics 78986dc 2.47: Show flavor info in server details c6d58d4 Cleanup duplicated methods c23324e Make --profile load from environment variables Diffstat (except docs and test files) ------------------------------------- .gitignore | 6 +- README.rst | 102 +-------- novaclient/__init__.py | 2 +- novaclient/api_versions.py | 2 +- novaclient/shell.py | 1 + .../functional/v2/legacy/test_readonly_nova.py | 2 +- novaclient/v2/hypervisors.py | 35 ++- novaclient/v2/quota_classes.py | 39 ++++ novaclient/v2/servers.py | 102 +++++---- novaclient/v2/services.py | 59 ++++- novaclient/v2/shell.py | 244 +++++++++++++++++---- novaclient/v2/versions.py | 22 +- novaclient/v2/volumes.py | 69 +++++- ...recate-service-binary-arg-2d5c446f5a2409a7.yaml | 10 + .../notes/microversion-v2_47-4aa54fbbd519e421.yaml | 18 ++ .../notes/microversion-v2_49-56bde596ee13366d.yaml | 7 + .../notes/microversion-v2_50-4f484658d66d01aa.yaml | 32 +++ .../notes/microversion-v2_52-2fe81b3bf2e4b4ea.yaml | 8 + .../notes/microversion-v2_53-3463b546a38c5f84.yaml | 35 +++ releasenotes/source/conf.py | 4 +- requirements.txt | 4 +- test-requirements.txt | 10 +- 56 files changed, 2083 insertions(+), 633 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index d909bbd..17b9cf6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -keystoneauth1>=2.21.0 # Apache-2.0 +keystoneauth1>=3.0.1 # Apache-2.0 @@ -8 +8 @@ oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 -oslo.serialization>=1.10.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 847b496..21c3c69 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12 +12 @@ python-keystoneclient>=3.8.0 # Apache-2.0 -python-cinderclient>=2.1.0 # Apache-2.0 +python-cinderclient>=3.0.0 # Apache-2.0 @@ -16,3 +16,3 @@ requests-mock>=1.1 # Apache-2.0 -sphinx!=1.6.1,>=1.5.1 # BSD -os-client-config>=1.27.0 # Apache-2.0 -oslosphinx>=4.7.0 # Apache-2.0 +sphinx>=1.6.2 # BSD +os-client-config>=1.28.0 # Apache-2.0 +openstackdocstheme>=1.11.0 # Apache-2.0 @@ -23 +23 @@ testtools>=1.4.0 # MIT -tempest>=14.0.0 # Apache-2.0 +tempest>=16.1.0 # Apache-2.0