There are no client-side changes for either 2.94 or 2.95, so just do
the bump and add release notes.
Change-Id: I8c2bfd48526840fc618820b9ae6a12dc98cdef45
This patch bumps the API microversion to 2.93 to allow
rebuilding a volume backed instance.
Implements: blueprint volume-backed-server-rebuild
Depends-On: https://review.opendev.org/c/openstack/nova/+/830883
Change-Id: Ie46df7ad76082e7631bb26243abed4dc3b1f40ac
This was done with 'pre-commit autoupdate'. An invalid message is
removed from the requirements.txt files as it no longer applies with
pip's new dependency resolver.
Change-Id: I01c3ece51f81d67c740e6faca6b77df7c9932435
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
We have functional tests for the 'nova update' commands, but no unit
tests to verify e.g. that we can't set a description for the server
before microversion 2.19. Add such tests.
Change-Id: I9af89655a7e7276446a881fd28d21ddd6581048c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
The key change here is that the 'GET /os-hypervisors/{id}/uptime' API
will now returns a HTTP 404 starting in 2.88. The 'GET
/os-hypervisors/{id}' will instead now include an 'uptime' value. The
'novaclient.v2.hypervisors.HypervisorManager.uptime' method is updated
to handle this.
Change-Id: Ib99fbd820a586c14527ff64b319df0b7a44e1b8b
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
The os-agents APIs have been removed by the following change.
I9512f605dd2b3b0e88c951ed086250d57056303d
This patch makes commands related to the APIs deprecated
in accordance with the following policy.
* https://docs.openstack.org/python-novaclient/latest/contributor/deprecation-policy.html
The API bindings related to the APIs remains as they are
because python-openstackclient depends on the API bindings.
Change-Id: I89d7877e23e8802fe77987a7b24ea247e08d5218
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Change-Id: I4d45ae17f6f84f945f5dd049a929216ce6b6b58e
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
This microversion is used to request a stable device rescue for boot
from volume instances and will only succeed when the compute hosting the
instance reports the COMPUTE_RESCUE_BFV trait.
No changes are required within novaclient so this change only bumps
API_MAX_VERSION.
Depends-On: https://review.opendev.org/#/c/701430/
Change-Id: I7885b8558db7657abbfe1f45877f52e947f5f655
This microversion introduces extra spec validation within the API.
No changes are required within novaclient so this change only bumps
API_MAX_VERSION.
Depends-On: https://review.opendev.org/#/c/708436/
Change-Id: Ic8fef7ee363435e9ac728b87d494593fcc6defc0
This commit add a new CLI
``nova volume-update [--[no-]delete-on-termination]
<server> <src_volume> <dest_volume>`` to update
'delete_on_termination' for an attached volume, that the user can
decide whether to delete attached volumes when destroying the server.
Depends-On: https://review.opendev.org/#/c/711194/
Change-Id: I1fc64fb6e6611c92c6b72265e1bf4b32e9c45f0a
Blueprint: destroy-instance-with-datavolume
Instead of passing through whatever the user provides and exposing this
bug in the REST API, simply make the opt a boolean one in expectation of
a day where the API issues have been resolved.
This also introduces machinery necessary to use more of these types of
opts in the future.
Change-Id: I9033540ac65ac0ee7337f16bdd002060652092ea
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This patch adds support for microversion 2.84
"Expose instance action event details out of the API" [1].
[1] https://review.opendev.org/#/c/694430/
No changes are required in the novaclient side,
so just increment the microversion.
Depends-On: https://review.opendev.org/#/c/694430/
Implements blueprint action-event-fault-details
Change-Id: I1d71284de9a5f25f4554dd2ec7291d5706381de7
Add these new filters, admin-only until microversion 2.82:
- availability-zone
- config-drive
- key-name
- power-state
- task-state
- vm-state
- progress
Existing user filter will be available to non admin since microversion
2.83.
Part of blueprint non-admin-filter-instance-by-az
Change-Id: Id2b5e600c0a41790830823031b20983808cb5ace
This patch adds support for microversion 2.82
"Define Cyborg ARQ binding notification event" (*).
*: I7a626544d8221dc0eeb5672986ca897ce4718be8
No changes are required in the novaclient side,
so just increment the microversion.
Change-Id: I3a8a2f8b5ced5519082f0b7609702d4f62be88ac
Implements: blueprint nova-cyborg-interaction
This is compatible with Python 3-only syntax.
Change-Id: I462f4242b9a5f8d8cd6b0cb3d328dfd9d93ba200
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Mostly a find-replace job. Let's do this now so we don't have to carry
it for the next decade.
Change-Id: I7bef9fb7c6895f746cee1aca6522786f38b9857c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
In v2.21, the os-instance-actions API returns information from deleted
instances. This change does not involve changes to novaclient, but
since novaclient does not add support for v2.21, it does not match
API_MAX_VERSION when executing unit tests
(novaclient.tests.unit.v2.test_shell.ShellTest.test_versions).
Closes-Bug: #1848110
Change-Id: Ib1ad244bb059bb86a9f3025d4bc16c20946433d0
This adds the ability to request image precache support for an aggregate
in support of the matching server feature.
Related to blueprint image-precache-support
Depends-On: https://review.opendev.org/#/c/687140
Change-Id: Id354ccfa99e500a598685e6b794c12160ea2a990
This adds a bulk query method to GlanceManager that takes multiple
image names or ids and attempts to query glance for all of them
in fewer requests than one-per-image.
Change-Id: I1c6ce27b65920356df6b7001c581a2922765ce0c
Add ``user_id`` and ``project_id`` to the ``GET /os-migrations``
API, and it can called ``--user-id <user_id>`` and/or
``--project-id <project_id>`` by ``nova migration-list`` CLI.
Showing the ``user_id`` and ``project_id`` when using api_version>=2.80
with the server-migration-list or server-migration-show APIs.
Depends-On: https://review.opendev.org/#/c/674243/
Part of blueprint add-user-id-field-to-the-migrations-table
Change-Id: I11343ca265ab2b6b6f46877897d8223ef340c258
The following CLIs and their backing API bindings
which have been deprecated since 20.0.0 Train release
have now been removed.
- list-extensions
- cell-capacities
- cell-show
Change-Id: I8e6edf1e4c1bf12d51ed993363129b4f4c3aa36c
The '--hint' option for 'nova boot' expects a key-value pair like so:
nova boot --hint group=245e1dfe-2d0e-4139-80a9-fce124948896 ...
However, the command doesn't complain if this isn't the case, meaning
typos like the below aren't indicated to the user:
nova boot --hint 245e1dfe-2d0e-4139-80a9-fce124948896
Due to how we'd implemented this here, this ultimately results in us
POSTing the following as part of the body to 'os-servers':
{
...
"OS-SCH-HNT:scheduler_hints": {
"245e1dfe-2d0e-4139-80a9-fce124948896": null
}
...
}
Which is unfortunately allowed and ignored by nova due to the use of
'additionalProperties' in the schema [1]
Do what we do for loads of other options and explicitly fail on invalid
values.
[1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146
Change-Id: I0f9f75cba68e7582d32d4aab2f8f077b4360d386
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1845322
A value of the '--config-drive' option must be a boolean value
on the 'nova boot' command because nova accepts a boolean value
only for the 'config_drive' parameter.
So add a check for the '--config-drive' option on the 'nova boot'
command.
Fix a description for 'config_drive' parameter
in the 'create' method of the novaclient.v2.ServerManager class.
Change-Id: Ic6e65139302fbb662fb6ba60e73633dad8ffb72e
Closes-Bug: #1825061
Support add 'delete_on_termination' field to the voume attach API to
support configuring whether to delete the data volume when the server
is destroyed.
* Updating the ``nova volume-attachments`` command to show the
``delete_on_termination`` value if 2.79 or greater is used.
* The '--delete-on-termination' option is added to the `nova volume-attach`
CLI.
Depends-On: https://review.opendev.org/#/c/673133/
Part of blueprint support-delete-on-termination-in-server-attach-volume
Change-Id: I8dcf2fd21a2fd99ca4e05bd953fbbe026be3a619
Add support microversion 2.78 which adds server topology
information in the output of the following new command:
nova server-topology
Depends-on: https://review.opendev.org/#/c/621476/
Change-Id: I6467d52d2528a37348458baf4842b571a97f3ed2
Implements: blueprint show-server-numa-topology
This patch adds a new parameter ``--availability-zone`` to ``nova
unshelve`` command. This can help users to specify an ``availability_zone``
to unshelve a shelve offloaded server from 2.77 microversion.
Depends-On: https://review.opendev.org/#/c/663851/
Implements: blueprint support-specifying-az-when-restore-shelved-server
Change-Id: I8bce8f430bc54f03bacc105e37fc8b3bbf2432c2
The 2.76 microversion adds the 'power-update' server
external event to the os-server-external-events API.
This is an admin-only API by default and this event is
currently only used by Ironic as part of updating the
power-state of a physical instance, and therefore does not
have any CLI or python API binding impacts in the client.
Depends-On: https://review.opendev.org/#/c/645611/
Part of blueprint nova-support-instance-power-update
Story: 2004969
Task: 34271
Change-Id: I1f5de90e19b7b13c7746fea8bbdf8e09bcb92cff
Add support microversion 2.75 which implement
multiple API cleanup changes.
1. Making server representation always consistent among all APIs
returning the complete server representation.
- Test cases added.
2. Change the default return value of ``swap`` field from the empty string
to 0 (integer) in flavor APIs.
- Test cases added.
Nova side path: https://review.opendev.org/#/c/666889/
Change-Id: Iec2cfc629dffd53178ef88a31fcd16a3f32e2e27
Partial-Implements: blueprint api-consistency-cleanup
The API extension has been deprecated since 12.0.0 Liberty release (*1)
and the cells v1 has been deprecated since 16.0.0 Pike release (*2)
in the nova side.
The API extension has already been removed (merged into main
controllers and schema) since 19.0.0 Stein release (*3) and
the cells v1 APIs has already been removed since
Iddb519008515f591cf1d884872a5887afbe766f2.
In the python-novaclient side,
deprecate commands and API bindings related to
the API extension and the cells v1 at first.
Then the CLIs and API bindings will be removed in the first major
release after Nova 20.0.0 Train is released.
*1: I084444b11dceda7cf8f88c157aa67d36490fce49
*2: I1a173f7ce0715e684850e030c358e8175fa8724c
*3: https://review.opendev.org/#/q/topic:bp/api-extensions-merge-stein
Change-Id: I8dc4df95ac7f6974c5280e4107e449d04cd1402e
Closes-Bug: #1835699
Adds the --host and --hypervisor-hostname options to
the nova boot command and related python API bindings.
Depends-On: https://review.opendev.org/#/c/645520/
Change-Id: If16d00b75f4d5f2b96aa6e3f32a973108049d928
Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server
In boot server API, the volume_type is supported by microversion 2.67.
Therefore, the lower limit of the volume_type should be added to the CLI
command, otherwise an exception will occur.
Co-Authored-By: Eric Xie <eric_xiett@163.com>
Closes-Bug: #1829854
Change-Id: Ie909c16568b017ca0acc802194140da7bece76c5
This patch adds a new parameter ``--reason`` to ``nova lock``
command and ``--locked`` filtering/sorting parameter to
``nova list`` command. This can help users to provide a reason
when locking the server and to filter/sort instances based on their
locked or value from 2.73 microversion.
Implements blueprint add-locked-reason
Depends-On: https://review.opendev.org/#/c/648662/
Change-Id: I438e6db2dd5000ba388d0a0f1c8ab74b96b47a71
We had no unit test coverage for the console-log command
so this adds a simple test. It unfortunately does not
recreate the original UnicodeEncodeError bug though, but
it gives us some test coverage anyway.
This change also adds docs on how to resolve bug 1746534
by configuring the environment for UTF-8 as noted in
the revert change Iaeec1e74262a35f3de3c81f7013835a6aa6f9029.
The documentation added here is shamelessly copied from
Click [1] which was found via the PEP 538 docs [2].
[1] https://click.palletsprojects.com/en/5.x/python3/#python-3-surrogate-handling
[2] https://www.python.org/dev/peps/pep-0538/
Change-Id: Ic7059260dfc031ea1b08d2b8a7cec684bbe7dfa5
Related-Bug: #1823287
Related-Bug: #1746534
This microversion in Nova is added to support Neutron ports having
resource request during server create to guarantee minimum bandwidth
QoS. This is a behavior-only change in the compute API, there are no
changes to the server create request or response schema.
Change-Id: I1a39390015acd8703e8bab55af13f5c75ae226db
Depends-On: https://review.openstack.org/636360
Partial-Bug: #1578989
See-Also: https://review.openstack.org/502306 (nova spec)
See-Also: https://review.openstack.org/508149 (neutron spec)
Add support microversion 2.71 which adds server group
information in the output of the following commands.
* nova show
* nova rebuild
The 'nova update' command does not output its result
when it is successful.
So there is no change for the command.
The patch for microversion 2.71 in the nova side is
I4a2a584df56ece7beb8b12c0ce9b0e6b30237120.
Change-Id: Id324486b5ef32615881085cd46772aa55c245ac6
Implements: blueprint show-server-group
This adds support for microversion 2.70 which exposes
the 'tag' field in the following APIs:
* GET /servers/{server_id}/os-volume_attachments
* GET /servers/{server_id}/os-volume_attachments/{volume_id}
* POST /servers/{server_id}/os-volume_attachments
* GET /servers/{server_id}/os-interface
* GET /servers/{server_id}/os-interface/{port_id}
* POST /servers/{server_id}/os-interface
Which corresponds to showing the tag in the output of
the following commands:
* nova volume-attachments
* nova volume-attach
* nova interface-list
* nova interface-attach
Depends-On: https://review.openstack.org/631948/
Part of blueprint expose-virtual-device-tags-in-rest-api
Change-Id: I5e9d7e0219605503a56d2cf745b95c6e05d01101
This patch explicitly points out the change needed while
forming the detailed lists for embedded flavor information.
In those cases where the server response for nova list
has the flavor key missing for the instances in the down cell,
the servers will be skipped.
Depends-On: https://review.openstack.org/591657/
Related to blueprint handling-down-cell
Change-Id: I007d9a68309b0d3aa85a4edf5026043154d4f42a
Update the commands and Python API bindings to reflect the new
microversion. The various evacuate microversion functions are DRY'd up
along the way.
Change-Id: Ibfc905292258ffde05800387e5d6bbad4823085c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-On: https://review.openstack.org/#/c/634600/
Implements: blueprint remove-force-flag-from-live-migrate-and-evacuate
When creating a server (the 'nova boot' command),
it calls 'POST /servers' API.
The response does not have 'addresses' and 'flavor' attributes.
When accessing 'networks' attribute in the '_print_server' function,
it calls 'GET /servers/{server_id}' and get the 'addresses' and
'flavor' attributes.
If 'GET /servers/{server_id}' fails, the server object does not have
the 'flavor' attribute, then KeyError is raised when accessing it.
Fix the issue by making it raise a CommandError
when the 'GET /servers/{server_id}' fails.
Co-Authored-By: Takashi Natsume <natsume.takashi@lab.ntt.co.jp>
Change-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09
Closes-Bug: #1781368
This adds the nova boot command and python API binding
support for creating a server with block device mappings
defined using a specific volume type.
Depends-On: https://review.openstack.org/606398/
Depends-On: https://review.openstack.org/#/c/610349/
Part of blueprint boot-instance-specific-storage-backend
Change-Id: I484ee065119b5783db212ea64efa60e87c40338c