Yoga Series Release Notes¶
17.6.0¶
New Features¶
Added support for microversion 2.90. This microversion provides the ability to manually configure the instance
hostname
attribute when creating a new instance (nova boot --hostname HOSTNAME ...
), updating an existing instance (nova update --hostname HOSTNAME ...
), or rebuilding an existing instance (nova rebuild --hostname HOSTNAME
). This attribute is published via the metadata service and config drive and can be used by init scripts such ascloud-init
to configure the guest’s hostname.
Added support for microversion 2.89. This microversion removes the
id
field while adding theattachment_id
andbdm_uuid
fields to the responses ofGET /servers/{server_id}/os-volume_attachments
andGET /servers/{server_id}/os-volume_attachments/{volume_id}
with these changes reflected in novaclient under thenova volume-attachments
command.
17.4.0¶
New Features¶
Added support for microversion 2.88. The
novaclient.v2.hypervisors.HypervisorManager.uptime
method will now transparently switch between the/os-hypervisors/{id}/uptime
API, which is deprecated in 2.88, and the/os-hypervisors/{id}
API, which now includes uptime information, based on the microversion.
Deprecation Notes¶
The
nova hypervisor-stats
command and underlyingnovaclient.v2.hypervisors.HypervisorStatsManager.statistics
API are deprecated starting in microversion 2.88 and will return an error starting on this version.
17.3.0¶
Deprecation Notes¶
The following CLIs are deprecated.
nova agent-create
nova agent-delete
nova agent-list
nova agent-modify
The CLIs will be removed in the first major release after Nova 24.0.0 X is released.
Bug Fixes¶
Bug #1903727: Fixed raw Python error message when using
nova
without a subcommand while passing an optional argument, such as--os-compute-api-version 2.87
.
17.0.0¶
New Features¶
Added the following filters support for the
nova list
command, these filters are admin-only restricted until microversion 2.82:–availability-zone
–config-drive
–no-config-drive
–key-name
–power-state
–task-state
–vm-state
–progress
Existing user filter will be available to non admin since microversion 2.83.
Support is added for compute API microversion 2.85. This adds the ability to update an attached volume with a
delete_on_termination
, which specify if the attached volume should be deleted when the server is destroyed.The
--delete-on-termination
and--no-delete-on-termination
options are added to thenova volume-update
CLI.New kwarg called
delete_on_termination
added to the python API binding:novaclient.v2.volumes.VolumeManager.update_server_volume()
Known Issues¶
The
nova show
command will no longer output theuser_data
column. This is traditionally binary data of limited value from a CLI perspective.
Upgrade Notes¶
Python 2 is no longer supported. Python 3 is required.
16.0.0¶
New Features¶
Added support for microversion 2.80 which adds
user_id
andproject_id
filter parameters to theGET /os-migrations
API.New kwargs
project_id
anduser_id
have been added to the following python API binding:novaclient.v2.migrations.MigrationManager.list
The following CLI changes have been made:
The
--project-id
and--user-id
options are added to thenova migration-list
CLI.The
nova server-migration-list
andnova server-migration-show
commands will show theProject ID
andUser ID
values when using microversion 2.80 or greater.
Added support for microversion 2.81 which adds image pre-caching support by aggregate.
The
aggregate-cache-images
command is added to the CLIThe
cache_images()
method is added to the python API binding
Upgrade Notes¶
The
--hint
option for theboot
command expects a key-value argument. Previously, if this was not the case, the argument would be silently ignored. It will now raise an error.
The following CLIs and their backing API bindings have been removed.
nova list-extensions
nova cell-capacities
nova cell-show
Bug Fixes¶
A check for a value of the ‘–config-drive’ option has been added on the
nova boot
command. A boolean value is only allowed in the option now.
15.1.0¶
New Features¶
Added support for microversion 2.78 which outputs the server NUMA topology information in the following command:
nova server-topology
And associated python API bindings:
novaclient.v2.servers.Server.topology
novaclient.v2.servers.ServerManager.topology
Added support for microversion 2.79 which includes the following changes:
The
--delete-on-termination
option is added to thenova volume-attach
CLI.A
DELETE ON TERMINATION
column is added to thenova volume-attachments
table.New kwarg called
delete_on_termination
added to the python API binding:novaclient.v2.volumes.VolumeManager.create_server_volume()
15.0.0¶
New Features¶
The
--migration-type
and--source-compute
options are added to thenova migration-list
CLI and related kwargs are added to thenovaclient.v2.migrations.MigrationManager.list
method. These can be used to filter the list of migrations by type (evacuation, live-migration, migration, resize) and the name of the source compute service host involved in the migration.
Added support for microversion 2.75. The following changes were made:
Return all fields of
server
innova rebuild
command which are returned innova show
. Both command will return the same set of fields ofserver
representation.Default return value of
swap
field will be 0 (integer) in below commands:nova flavor-list
nova flavor-show
nova flavor-create
nova flavor-update
Support has been added for microversion 2.77. This microversion allows specifying an availability zone to unshelve a shelve offloaded server.
Upgrade Notes¶
The following properties have been removed.
novaclient.client.SessionClient
management_url
novaclient.v2.client.Client
projectid
tenant_id
The following methods have been removed.
novaclient.client.get_client_class
novaclient.v2.client.Client
set_management_url
authenticate
The
novaclient.v2.client.Client.__enter__
method now raises theInvalidUsage
runtime error.
Deprecation Notes¶
The following CLIs and their backing API bindings are deprecated.
nova list-extensions
nova cell-capacities
nova cell-show
The CLIs and API bindings will be removed in the first major release after Nova 20.0.0 Train is released.
14.2.0¶
New Features¶
Support is added for the 2.74 microversion which allows specifying the
--host
and--hypervisor-hostname
options on thenova boot
command. Thenovaclient.v2.servers.ServerManager.create()
method now also supportshost
andhypervisor_hostname
parameters.
14.1.0¶
New Features¶
The
novaclient.v2.hypervisors.HypervisorManager.search
method now accepts adetailed
boolean kwarg which defaults to False but when True will search for the given hypervisor hostname match and return details about any matching hypervisors. Specifyingdetailed=True
requires compute API version 2.53 or greater.
14.0.0¶
New Features¶
Added a
--reason
option tonova lock
command that enables users to specify a reason when locking a server and alocked
filtering/sorting option tonova list
command which enables users to filter/sort servers based on theirlocked
value in microversion 2.73.
Upgrade Notes¶
The following deprecated options have been removed.
--endpoint-override
(Authentication option)--instance-name
(nova list
command)
13.0.0¶
New Features¶
From microversion 2.69 the results of
nova list
,nova show
andnova service-list
may contain missing information in their outputs when there are partial infrastructure failure periods in the deployment. See Handling Down Cells for more information on the missing keys/info.
Added support for microversion 2.71 which outputs the server_groups field in the following commands:
nova show
nova rebuild
Support has been added for microversion 2.72. This microversion allows creating a server using the
nova boot
command with pre-existing ports having aresource_request
value to enable features such as guaranteed minimum bandwidth for quality of service.
Added support for microversion 2.70 which outputs the Tag field in the following commands:
nova interface-list
nova interface-attach
nova volume-attachments
nova volume-attach
Upgrade Notes¶
Added support for microversion 2.68, which removes the
--force
option from thenova evacuate
,nova live-migration
,nova host-evacuate
andnova host-evacuate-live
commands.
The
nova interface-attach
command shows output of its result when it is successful.
The following methods return a
NetworkInterface
object instead of aServer
object.The
interface_attach
method in thenovaclient.v2.Server
classThe
interface_attach
method in thenovaclient.v2.ServerManager
class
Other Notes¶
The
novaclient.v2.servers.Server.networks
property method now returns an OrderedDict where the keys are sorted in natural (ascending) order. This means thenova show
andnova list
output will have predictable sort order on the networks attached to a server.
12.0.0¶
Upgrade Notes¶
All modules of
novaclient.v2.contrib
have been removed.
The
only_contrib
parameter for thenovaclient.client.discover_extensions
method is no longer valid.
Deprecation Notes¶
The
--instance-name
option has been deprecated from thenova list
command because the instance name query parameter is ignored by the compute REST API.
11.1.0¶
New Features¶
Added support for microversion 2.66 which adds
changes-before
parameter to the servers, os-instance-actions or os-migrations APIs.This parameter (
changes-before
) does not change any read-deleted behavior in the os-instance-actions or os-migrations APIs.Like the
changes-since
filter, thechanges-before
filter will also return deleted servers.The
--changes-before
options is added to thenova list
,nova instance-action-list
andnova migration-list
CLIs.
Support is added for the 2.67 microversion which allows specifying a
volume_type
with the--block-device
option on thenova boot
command. Thenovaclient.v2.servers.ServerManager.create()
method now also supports avolume_type
entry in theblock_device_mapping_v2
parameter.
Bug Fixes¶
The user data argument in the
nova rebuild
command was passing the filename as userdata. Now this passes the contents of the file as intended.
11.0.0¶
New Features¶
Added support for microversion 2.63, which includes the following changes:
New environment variable called
OS_TRUSTED_IMAGE_CERTIFICATE_IDS
New
nova boot
option called--trusted-image-certificate-id
New
nova rebuild
options called--trusted-image-certificate-id
and--trusted-image-certificates-unset
New kwarg called
trusted_image_certificates
added to python API bindings:novaclient.v2.servers.ServerManager.create()
novaclient.v2.servers.ServerManager.rebuild()
Added support for microversion 2.64, which includes the following changes:
The
--rule
options is added to thenova server-group-create
CLI that enables user to create server group with specific policy rules.Remove
metadata
column in the output ofnova server-group-create
,nova server-group-get
,nova server-group-list
.Remove
policies
column, addpolicy
andrules
columns in the output ofnova server-group-create
,nova server-group-get
,nova server-group-list
.
Support has been added for the compute API 2.65 microversion. This allows calling
nova live-migration-abort
on live migrations that are inqueued
orpreparing
status in addition to the already acceptedrunning
status.
Upgrade Notes¶
The deprecated
--bypass-url
command line argument has been removed.
Deprecation Notes¶
The
--endpoint-override
command line argument has been deprecated. It is renamed to--os-endpoint-override
to avoid misinterpreting command line arguments. It defaults to theOS_ENDPOINT_OVERRIDE
environment variable. See bug 1778536 for more details.
Bug Fixes¶
A fix is made for bug 1744118 which adds the below missing CLI arguments.
OS_PROJECT_DOMAIN_ID
OS_PROJECT_DOMAIN_NAME
OS_USER_DOMAIN_ID
OS_USER_DOMAIN_NAME
10.3.0¶
New Features¶
Adds support for microversion 2.62 which adds
host
(hostname) andhostId
(an obfuscated hashed host id string) fields to the instance actionGET /servers/{server_id}/os-instance-actions/{req_id}
API.The event columns are already included in the result of “nova instance-action <server> <request-id>” command, therefore does not have any CLI or python API binding impacts in the client.
Upgrade Notes¶
The
nova server-group-create
command now only supports specifying a single policy name when creating the server group. This is to match the server-side API validation.
10.2.0¶
New Features¶
Added new client API and CLI (
nova instance-usage-audit-log
) to get server usage audit logs. By default, it lists usage audits for all servers on all compute hosts where usage auditing is configured. If you specify the--before
option, the result is filtered by the date and time before which to list server usage audits.
Provides “–strict” option for “nova host-servers-migrate”, “nova host-evacuate”, “nova host-evacuate-live” and “nova host-meta” commands. When “–strict” option is used, the action will be applied to a single compute with the exact hypervisor hostname string match rather than to the computes with hostname substring match. When the specified hostname does not exist in the system, “NotFound” error code will be returned.
Upgrade Notes¶
The
flavor-delete
command no longer prints out the details of the deleted flavor. On successful deletion, there is no output.
Deprecation Notes¶
novaclient.utils.add_resource_manager_extra_kwargs_hook
andnovaclient.utils.get_resource_manager_extra_kwargs
were designed for supporting extensions in nova/novaclient. Nowadays, this “extensions” feature is abandoned and bothadd_resource_manager_extra_kwargs_hook
,add_resource_manager_extra_kwargs_hook
are not used in novaclient’s code. These methods are not documented, so we are removing them without standard deprecation cycle.
Other Notes¶
Starting from microversion 2.61, the responses of the ‘Flavor’ APIs include the ‘extra_specs’ parameter. Therefore ‘Flavors extra-specs’ (os-extra_specs) API calls have been removed in the following commands since microversion 2.61.
nova flavor-list
nova flavor-show
There are no behavior changes in the CLI. This is just a performance optimization.
10.1.0¶
New Features¶
Support is added for the 2.57 microversion:
A
userdata
keyword argument can be passed to theServer.rebuild
python API binding. If set to None, it will unset any existing userdata on the server.The
--user-data
and--user-data-unset
options are added to thenova rebuild
CLI. The options are mutually exclusive. Specifying--user-data
will overwrite the existing userdata in the server, and--user-data-unset
will unset any existing userdata on the server.
Added support for microversion v2.58 which introduces pagination support for instance actions with the help of new optional parameters
limit
,marker
, and also adds the new filterchanges-since
. Users can usechanges-since
filter to filter the results based on the last time the instance action was updated.
Added support for microversion v2.59 which introduces pagination support for migrations with the help of new optional parameters
limit
,marker
, and also adds the new filterchanges-since
. Users can usechanges-since
filter to filter the results based on the last time the migration was updated.
Upgrade Notes¶
Support is added for the 2.57 microversion:
The
--file
option for thenova boot
andnova rebuild
CLIs is capped at the 2.56 microversion. Similarly, thefile
parameter to theServer.create
andServer.rebuild
python API binding methods is capped at 2.56. Users are recommended to use the--user-data
option instead.The
--injected-files
,--injected-file-content-bytes
and--injected-file-path-bytes
options are capped at the 2.56 microversion in thenova quota-update
andnova quota-class-update
commands.The
maxPersonality
andmaxPersonalitySize
fields are capped at the 2.56 microversion in thenova limits
command and API binding.The
injected_files
,injected_file_content_bytes
andinjected_file_path_bytes
entries are capped at version 2.56 from the output of thenova quota-show
andnova quota-class-show
commands and related python API bindings.
10.0.0¶
New Features¶
Added a new
--host
option tonova migrate
command in microversion 2.56. It enables administrators to specify a target host when cold migating a server. The target host will be validated by the scheduler. The target host cannot be the same as the current host on which the server is running and must be in the same cell that the server is currently in.
Adds support for microversion 2.54 which adds resetting keypair and unsetting keypair in rebuild operation. Adds optional
--key-name
and--key-unset
options in thenova rebuild
command.
Support is added for compute API version 2.55. This adds the ability to create a flavor with a description, show the description of a flavor, and update the description on an existing flavor.
A new
nova flavor-update <flavor> <description>
command is added.
Upgrade Notes¶
The
nova x509-create-cert
andnova x509-get-root-cert
commands andnovaclient.v2.certs
API binding were deprecated in the 9.0.0 release and have now been removed.
The deprecated
nova cloudpipe-list
,nova cloudpipe-create
, andnova cloudpipe-configure
commands and thenovaclient.v2.cloudpipe
API bindings have been removed.
The following CLIs and their backing API bindings were deprecated and capped at microversion 2.43:
nova host-describe
- superseded bynova hypervisor-show
nova host-list
- superseded bynova hypervisor-list
nova host-update
- superseded bynova service-enable
andnova service-disable
nova host-action
- no alternative by design
The CLIs and API bindings have now been removed.
The
run_tests.sh
shell script that was deprecated in Newton has been removed.
The deprecated
binary
argument to thenova service-enable
,nova service-disable
, andnova service-force-down
commands has been removed.
The following CLIs and their backing API bindings were deprecated and capped at microversion 2.44:
nova add-fixed-ip
: use python-neutronclient or openstacksdknova remove-fixed-ip
: use python-neutronclient or openstacksdknova floating-ip-associate
: use python-neutronclient or openstacksdknova floating-ip-disassociate
: use python-neutronclient or openstacksdknova virtual-interface-list
: there is no replacement as this is only implemented for nova-network which is deprecated
The CLIs and API bindings have now been removed.
Bug Fixes¶
Fix an ability to boot server with multiple nics which was broken with microversion 2.42 (fix tag attribute disappearing).
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 aflavor
field with a value of theoriginal_name
of the flavor. Prior to this microversion the value was theid
of the flavor.
Added support for microversion 2.49 that enables users to attach tagged interfaces and volumes. A new
--tag
option is added tonova volume-attach
andnova interface-attach
commands.
Microversion 2.52 is now supported which adds the
--tags
option to thenova boot
command and atags
kwarg to thenovaclient.v2.servers.ServerManager.create()
python API binding method.
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 theid
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 ahost
andbinary
value. The UUIDid
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 ahost
andbinary
value. The UUIDid
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 ahost
andbinary
value. The UUIDid
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 andHypervisor.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
andnova hypervisor-uptime
commands and APIs now take a UUID value for the hypervisor ID.
Upgrade Notes¶
The
novaclient.v2.quota_classes.QuotaClassSetManager.update
method now defines specific kwargs starting with microversion2.50
since updating network-related resource quota class values is not supported on the server with microversion2.50
. The list of excluded resources is:fixed_ips
floating_ips
networks
security_groups
security_group_rules
Deprecation Notes¶
The
binary
argument to thenova service-enable
,nova service-disable
, andnova service-force-down
commands has been deprecated. The only binary that it makes sense to use isnova-compute
since disabling a service likenova-scheduler
ornova-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 thannova-compute
for these operations.
Bug Fixes¶
Adds support for the
2.50
microversion which fixes thenova quota-class-show
andnova quota-class-update
commands in the following ways:The
server_groups
andserver_group_members
quota resources will now be shown in the output table fornova quota-class-show
.The
floating_ips
,fixed_ips
,security_groups
andsecurity_group_rules
quota resources will no longer be able to be updated usingnova quota-class-update
nor will they be shown in the output ofnova 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 forfloating_ips
,fixed_ips
,security_groups
andsecurity_group_rules
based on the 2.36 microversion. That has been changed to limit based on the2.50
microversion.
9.0.0¶
New Features¶
novaclient now adds information about itself to the keystoneauth user-agent. Adding information about wrapping libraries or consuming applications can be found at https://docs.openstack.org/developer/python-novaclient/api.html
A new
global_request_id
parameter is accepted on the client constructor, which will then passX-OpenStack-Request-ID
on all requests made.
A new
--instance-uuid
option is added tonova migration-list
command. This is used to query the migration history of a specific server by the migration-list command. Please usenova server-migration-list
command for querying in-progress migrations of a specific server.
Support was added for microversion 2.45. This changes how the
createImage
andcreateBackup
server action APIs return the created snapshot image ID in the response. With microversion 2.45 and later, the image ID is return in a json dict response body with animage_id
key and uuid value. The oldLocation
response header is no longer returned in microversion 2.45 or later.There are no changes to the
nova image-create
CLI. However, thenova backup
CLI will print out the backup snapshot image information with microversion 2.45 or greater now.
Upgrade Notes¶
The following deprecated options have been removed:
--tenant
(fromflavor access list
)--cell_name
(frommigration list
)--volume-service-name
(global option)
As a result, the
novaclient.v2.migrations.MigrationManager.list
python API binding method no longer takes acell_name
kwarg.
remove version 1.1 API support as we only support v2 and v2.1 API in nova side now.
Deprecation Notes¶
The
nova x509-create-cert
andnova x509-get-root-cert
commands andnovaclient.v2.certs
API binding are now deprecated and will be removed in the first major release after the Nova server 16.0.0 Pike release.
The os-cloudpipe API has been removed from Nova. As a result, the
nova cloudpipe-list
,nova cloudpipe-create
, andnova cloudpipe-configure
commands and thenovaclient.v2.cloudpipe
API bindings are now deprecated, and will be removed in the first major release after the Nova server 16.0.0 Pike release.
The following CLIs and their backing API bindings are deprecated and capped at microversion 2.43:
nova host-describe
- superseded bynova hypervisor-show
nova host-list
- superseded bynova hypervisor-list
nova host-update
- superseded bynova service-enable
andnova service-disable
nova host-action
- no alternative by design
The CLIs and API bindings will be removed in the first major release after Nova 16.0.0 Pike is released.
The following CLIs and their backing API bindings are deprecated and capped at microversion 2.44:
nova add-fixed-ip
: use python-neutronclient or openstacksdknova remove-fixed-ip
: use python-neutronclient or openstacksdknova floating-ip-associate
: use python-neutronclient or openstacksdknova floating-ip-disassociate
: use python-neutronclient or openstacksdknova virtual-interface-list
: there is no replacement as this is only implemented for nova-network which is deprecated
The CLIs and API bindings will be removed in the first major release after Nova 16.0.0 Pike is released.
Bug Fixes¶
Microversion 2.42 is related to the following bug.
The following options have been changed as of Microversion 2.42.
Remove
tag
attribute in--block-device
option on the server boot (nova boot) between microversion 2.33 and 2.41.Remove
tag
attribute in--nic
option on the server boot (nova boot) between microversion 2.37 and 2.41.
8.0.0¶
Prelude¶
Deprecated image commands and python API bindings have been removed.
Deprecated network-related resource commands and python API bindings have been removed. From this point on, python-novaclient will no longer work with nova-network except for the nova virtual-interface-list
, nova add-fixed-ip
and nova remove-fixed-ip
commands.
Upgrade Notes¶
The deprecated name and availability_zone positional arguments in the
nova aggregate-update
command have been removed. Use the--name
and--availability-zone
options instead.
The following deprecated image commands have been removed:
* nova image-list * nova image-show * nova image-meta * nova image-delete
Along with the related python API bindings in
novaclient.v2.images
.
The following deprecated network-related resource commands have been removed:
* nova dns-create * nova dns-create-private-domain * nova dns-create-public-domain * nova dns-delete * nova dns-delete-domain * nova dns-domains * nova dns-list * nova fixed-ip-get * nova fixed-ip-reserve * nova fixed-ip-unreserve * nova floating-ip-create * nova floating-ip-delete * nova floating-ip-list * nova floating-ip-bulk-create * nova floating-ip-bulk-delete * nova floating-ip-bulk-list * nova floating-ip-pool-list * nova net * nova net-create * nova net-delete * nova net-list * nova network-create * nova network-delete * nova network-list * nova network-show * nova network-associate-host * nova-network-associate-project * nova network-disassociate * nova scrub * nova secgroup-create * nova secgroup-delete * nova secgroup-list * nova secgroup-update * nova secgroup-add-rule * nova secgroup-delete-rule * nova secgroup-list-rules * nova secgroup-add-default-rule * nova secgroup-delete-default-rule * nova secgroup-list-default-rules * nova secgroup-add-group-rule * nova secgroup-delete-group-rule * nova tenant-network-create * nova tenant-network-delete * nova tenant-network-list * nova tenant-network-show
Along with the following python API bindings:
* novaclient.v2.contrib.tenant_networks * novaclient.v2.fixed_ips * novaclient.v2.floating_ip_dns * novaclient.v2.floating_ip_pools * novaclient.v2.floating_ips * novaclient.v2.floating_ips_bulk * novaclient.v2.fping * novaclient.v2.networks * novaclient.v2.security_group_default_rules * novaclient.v2.security_group_rules * novaclient.v2.security_groups
The baremetal CLIs and python API bindings were deprecated in the Newton release and have been removed. Use python-openstackclient or python-ironicclient for CLIs. Use python-ironicclient or openstacksdk for python API bindings
Deprecation Notes¶
CLI argument
--cell_name
fornova migration-list
command is deprecated. Nova API does not have logic for handling cell_name parameter in os-migrations, and while the parameter is passed to Nova it has never been used.
The
only_contrib
parameter for thenovaclient.client.discover_extensions
method is deprecated and now results in an empty list returned since all contrib extensions are either required or have been removed.
7.1.0¶
Prelude¶
OSprofiler support was added to the client. That makes possible to trigger Nova operation trace generation from the CLI.
New Features¶
A new
--profile
option was added to allow Nova profiling from the CLI. If the user wishes to trace a nova boot request he or she needs to type the following command –nova --profile <secret_key> boot --image <image> --flavor <flavor> <vm_name>
, wheresecret_key
should match one of the keys defined in nova.conf. As a result of this operation additional information regardingtrace_id
will be printed, that can be used to generate human-friendly html report –osprofiler trace show --html <trace_id> --out trace.html
. To enable profiling, user needs to have osprofiler installed in the local environment viapip install osprofiler
.
Provides a public unified interface ‘get_console_url’ for classes ‘novaclient.v2.servers.Server’ and ‘novaclient.v2.servers.ServerManager’. Users (Heat, OpenStack-client and etc.) can call this public interface instead of calling the individual methods to retrieve a console url of a particular protocol.
Added support for microversion 2.41 which shows the aggregate UUID in CLI output when listing, creating, showing, updating, setting metadata, and adding or removing hosts from an aggregate.
Security Issues¶
OSprofiler support, that was added during the Ocata release cycle, requires passing of trace information between various OpenStack services. This information is signed by one of the HMAC keys defined in nova.conf file. That means that only someone who knows this key is able to send the proper header to trigger profiling.
Bug Fixes¶
Fix an ability to authenticate using Keystone Token which was broken with novaclient 7.0.0 release.
The contents of the list_extensions.py file was moved from contrib to v2 directory in release 7.0.0, and a stub importing the objects from the new location was left in its place for backward compatibility, together with a warning informing about the new location. However, the stub incorrectly assigned the ListExtResource class to the ListExtManager name. This has now been fixed, and ListExtManager is used instead.
7.0.0¶
Prelude¶
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 andOS_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 theopenstack.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).
6.0.0¶
New Features¶
The 2.37 microversion is now supported. This introduces the following changes:
- CLI: The –nic value for the nova boot command now takes two
special values, ‘auto’ and ‘none’. If –nic is not specified, the CLI defaults to ‘auto’.
- Python API: The nics kwarg is required when creating a server using
the novaclient.v2.servers.ServerManager.create API. The nics value can be a list of dicts or a string with value ‘auto’ or ‘none’.
Upgrade Notes¶
The ability to update the following network-related resources via the
nova quota-update
andnova quota-class-update
commands is now deprecated:Fixed IPs
Floating IPs
Security Groups
Security Group Rules
By default the quota and limits CLIs will not update or show those resources using microversion >= 2.36. You can still use them, however, by specifying
--os-compute-api-version 2.35
. Quota information for network resources should be retrieved from python-neutronclient or python-openstackclient.
With the 2.37 microversion, the nics kwarg is required when creating a server using the novaclient.v2.servers.ServerManager.create API. The nics value can be a list of dicts or an enum string with one of the following values:
auto: This tells the Compute service to automatically allocate a network for the project if one is not available and then associate an IP from that network with the server. This is the same behavior as passing nics=None before the 2.37 microversion.
none: This tells the Compute service to not allocate any networking for the server.
Deprecation Notes¶
The following commands are now deprecated:
dns-create
dns-create-private-domain
dns-create-public-domain
dns-delete
dns-delete-domain
dns-domains
dns-list
fixed-ip-get
fixed-ip-reserve
fixed-ip-unreserve
floating-ip-create
floating-ip-delete
floating-ip-list
floating-ip-pool-list
floating-ip-bulk-create
floating-ip-bulk-delete
floating-ip-bulk-list
network-create
network-delete
network-disassociate
network-associate-host
network-associate-project
network-list
network-show
scrub
secgroup-create
secgroup-delete
secgroup-list
secgroup-update
secgroup-add-group-rule
secgroup-delete-group-rule
secgroup-add-rule
secgroup-delete-rule
secgroup-list-rules
secgroup-list-default-rules
secgroup-add-default-rule
secgroup-delete-default-rule
tenant-network-create
tenant-network-delete
tenant-network-list
tenant-network-show
With the 2.36 microversion these will fail in the API. The CLI will fallback to passing the 2.35 microversion to ease the transition. Network resource information should be retrieved from python-neutronclient or python-openstackclient.
5.1.0¶
New Features¶
Added microversion v2.33 that adds pagination support for hypervisors with the help of new optional parameters ‘limit’ and ‘marker’ which were added to hypervisor-list command.
Added microversion v2.35 that adds pagination support for keypairs with the help of new optional parameters ‘limit’ and ‘marker’ which were added to keypair-list command.
Upgrade Notes¶
Support for microversion 2.34 added.
The 2.36 microversion deprecated the image proxy API. As such, CLI calls now directly call the image service to get image details, for example, as a convenience to boot a server with an image name rather than the image id. To do this the following is assumed:
There is an image entry in the service catalog.
The image v2 API is available.
The 2.36 microversion deprecated the network proxy APIs in Nova. Because of this we now go directly to neutron for name to net-id lookups. For nova-net deployements the old proxies will continue to be used.
To do this the following is assumed:
There is a network entry in the service catalog.
The network v2 API is available.
5.0.0¶
Upgrade Notes¶
Support for microversion 2.31 which fixes a bug in the os-console-auth-tokens API
novaclient.v2.client.Client raises an exception in case of direct usage instead of warning message. novaclient.client.Client is a primary interface to initialize the python client for Nova.
Deprecation Notes¶
The following CLIs and python API bindings are now deprecated for removal:
nova baremetal-node-list
nova baremetal-node-show
nova baremetal-interface-list
These will be removed in the first major python-novaclient release after the Nova 15.0.0 Ocata release. Use python-ironicclient or python-openstackclient for CLI and python-ironicclient or openstacksdk for python API bindings.
4.1.0¶
Prelude¶
Log ‘x-openstack-request-id’ or ‘x-compute-request-id’ in each API call. If the caller (e.g. heat) uses oslo.log, the caller’s request id in oslo.context and the callee’s request id can be output in the same log message (same line).
New Features¶
Log ‘x-openstack-request-id’ or ‘x-compute-request-id’ in each API call. If the caller (e.g. heat) uses oslo.log, the caller’s request id in oslo.context and the callee’s request id can be output in the same log message (same line).
Upgrade Notes¶
Support v2.28 microversion
cpu_info property of hypervisor resource is a json now (previously it was text).
4.0.0¶
Upgrade Notes¶
Volume, volume-type and volume-snapshot create/update/delete/list CLIs and python API bindings are removed. Use python-cinderclient or python-openstackclient for CLIs instead. Use python-cinderclient or python-openstacksdk for python API bindings instead.
Deprecation Notes¶
The following CLIs and python API bindings are now deprecated for removal:
nova image-delete
nova image-list
nova image-meta
nova image-show
These will be removed in the first major python-novaclient release after the Nova 15.0.0 Ocata release. Use python-glanceclient or python-openstackclient for CLI and python-glanceclient or openstacksdk for python API bindings.
3.3.0¶
Prelude¶
Methods in manager classes and resource classes return wrapper classes that wrap values returned originally. For example, a wrapper class for list, a wrapper class for dict, a wrapper class for str and so on. The wrapper classes have a ‘request_ids’ property for request IDs returned from Nova (nova-api). So the caller can get the Nova’s request IDs, then output them to logs with its own request ID. The function to output them to the logs will be implemented in other projects (cinder, heat, etc.).
New Features¶
Methods in manager classes and resource classes return wrapper classes that wrap values returned originally. For example, a wrapper class for list, a wrapper class for dict, a wrapper class for str and so on. The wrapper classes have a ‘request_ids’ property for request IDs returned from Nova (nova-api). So the caller can get the Nova’s request IDs, then output them to logs with its own request ID. The function to output them to the logs will be implemented in other projects (cinder, heat, etc.).
Upgrade Notes¶
In case that methods return a response object and body originally and body is None, the methods return the wrapper class for tuple as ‘body’ instead of the wrapper class for None. The wrapper class for None has not been added.
3.0.0¶
New Features¶
keystoneauth plugins are now supported.
Upgrade Notes¶
novaclient now requires the keystoneauth library.
Python 2.6 support has been removed from python-novaclient.
Deprecation Notes¶
novaclient auth strategy plugins are deprecated. Please use keystoneauth auth plugins instead.
nova credentials is deprecated. Please use openstack token issue
nova endpoints is deprecated. Please use openstack catalog list instead.