This adds the same note for volume-backed instances not being
supported for the server rescue action as exists for the createBackup
action.
Change-Id: If4ba24f2fe15f479c353d0ea69bf0f1454540ef0
This patch verifies query parameters.
Subsequent patches will verify other parameters.
Change-Id: I6078c0c8ebc888dc120f446f228a3b0433b89a76
Partial-Bug: #1738930
As seen in I2717274bb1bd370870acbf58c03dc59cee30cc5e, if an
operator deletes a nova-compute service via the API but fails
to stop the actual nova-compute process, the API will delete the
services table and compute_nodes table records, but the nova-compute
process will hit the 'update_available_resource' periodic task and
re-create the compute node record, which at that point is orphaned
since it does not have an associated nova-compute service.
Restarting the nova-compute service _should_ recreate the service
table record for that host and then the user could attempt to
delete the service and compute node record again via this API, but
it's better to not have to find this out the hard way.
So this change adds a simple reminder that the nova-compute process
on the host should be stopped before deleting the compute service.
While in here, the link to the install guide about the various
compute services is also fixed.
Change-Id: I68f2074814c3ae890888a5c75fd2870bb99f0e08
Related-Bug: #1646255
The ability to list instance actions for deleted servers was
added in the 2.21 microversion, so we should update the wording
to make that clear.
Change-Id: Ibf05d5bd2c70aa579bb2a688d4d5fa63278176d2
We maintain the whitelist for valid server filters key
but have not documented those clearly.
This patch adds whitelist for non-admin and admin users.
Change-Id: Idc031916c804a18876551113a0fd57d4a463cd63
'all_tenants' and 'all_projects' are query param to
list the resources for all tenants/projects.
Checking of this query param in code is different in different APIs.
- GET /servers and /servers/detail API checks the value of 'all_tenants'
strictly as boolean if there is one present.
- other APIs just checks the presence of it in req,
like GET /os-server-groups, /os-fping
api-ref mentioned this param types as integer, boolean or string.
This commit make api-ref consistent to have type of this query param
as string.
Change-Id: I5297e6baa1e3d06adfc9d29d2bc56124119b9c8c
Closes-Bug: #1734427
This change introduces a new microversion which must be used
to create a server from a multiattach volume or attach a multiattach
volume to an existing server instance.
Attaching a multiattach volume to a shelved offloaded instance is not
supported since an instance in that state does not have a compute host
so we can't tell if the compute would support the multiattach volume
or not. This is consistent with the tagged attach validation with 2.49.
When creating a server from a multiattach volume, we'll check to see
if all computes in all cells are upgraded to the point of even supporting
the compute side changes, otherwise the server create request fails with
a 409. We do this because we don't know which compute node the scheduler
will pick and we don't have any compute capability filtering in the
scheduler for multiattach volumes (that may be a future improvement).
Similarly, when attaching a multiattach volume to an existing instance,
if the compute isn't new enough to support multiattach or the virt
driver simply doesn't support the capability, a 409 response is returned.
Presumably, operators will use AZs/aggregates to organize which hosts
support multiattach if they have a mixed hypervisor deployment, or will
simply disable multiattach support via Cinder policy.
The unit tests are covering error conditions with the new flow. A new
functional scenario test is added for happy path testing of the new boot
from multiattach volume flow and attaching a multiattach volume to more
than one instance.
Tempest integration testing for multiattach is added in change
I80c20914c03d7371e798ca3567c37307a0d54aaa.
Devstack support for multiattach is added in change
I46b7eabf6a28f230666f6933a087f73cb4408348.
Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>
Implements: blueprint multi-attach-volume
Change-Id: I02120ef8767c3f9c9497bff67101e57e204ed6f4
When the parameter is always 'null', it should be defined as 'none'.
So fix the parameter type of the 'force_complete'
in "Force Migration Complete Action" API.
And add an additional description for the action.
Change-Id: Ic0dd390a87d0d5a88d9a08fdaa9e59ee99f6e7c4
Closes-Bug: #1744688
Initialize the parameter for current openstackdocstheme so that report a
bug feature works and displays all parameter including git URL and SHA.
We need to add openstackdocstheme as extension so that the parameter are
properly initialized. html_context is not needed anymore. The display of
time of last commit is done by openstackdocstheme.
Change-Id: Ic46f5ff6bc42b48ce9de5f5bf3a2193ed75fb063
Closes-Bug: #1743728
This patch adds pagination support and changes-since filter
for os-migrations API.
Users can now use 'limit' and 'marker' to perform paginate
query of running migrations list. Users can also filter the
results according to the migrations' updated time.
The ``GET /os-migrations`` and server migrations APIs will now
return a uuid value in addition to the migrations id in the response,
and the query parameter schema of the ``GET /os-migrations`` API no
longer allows additional properties.
Co-Authored-By: Yikun Jiang <yikunkero@gmail.com>
Implement: blueprint add-pagination-and-change-since-for-migration-list
Change-Id: I7e01f95d7173d9217f76e838b3ea71555151ef56
In os-instance-actions.inc,
the 'instance_actions_links' parameter should be 'links'
in the response of "GET /servers/{server_id}/os-instance-actions" API.
Change-Id: If333b6e063fe68c09706584890ae2753f1b7c84f
Closes-Bug: #1740107
This patch adds pagination support and changes-since filter
for os-instance-actions API.
Users can now use 'limit' and 'marker' to perform paginate
query of instance action list. Users can also filter the
results according to the actions' updated time.
Co-Authored-By: Yikun Jiang <yikunkero@gmail.com>
Implement: blueprint pagination-add-changes-since-for-instance-action-list
Change-Id: I1a1b39803e8d0449f21d2ab5ef96d4060e638aa8
This microversion makes the following changes:
1. Deprecates personality files from POST /servers and the rebuild
server action APIs.
2. Adds the ability to pass new user_data to the rebuild server
action API.
3. Personality / file injection related limits and quota resources
are removed from the limits, os-quota-sets and os-quota-class-sets
APIs.
Implements blueprint deprecate-file-injection
Change-Id: Ia89eeb6725459c35369e8f790f68ad9180bd3aba
There is a wrong format 'ephemeral' in the description.
So remove it and valid formats ('ext2', 'ext3', 'ext4' and 'xfs')
are added.
The parameter is optional, so fix it as well.
Change-Id: Icc04cac3a287955ab1a98b7813e3c7ec8183b120
Closes-Bug: #1736502
This function enables users to specify a target host
when cold migrating a VM instance.
This patch modifies the migration API.
APIImpact
Add an optional parameter 'host' in cold migration action.
Change-Id: Iee356c4dd097c846b6ca8617ead6a061300c83f8
Implements: blueprint cold-migration-with-target-queens
In rebuild operation, users can unset the existing keypair
by setting 'key_name' to 'null' in a request body.
(The function has been added in
I23886a89c25f811cfbe7e2500ce7ff52f9162966).
But it is not described obviously in API reference.
So add an additional description in API reference.
Change-Id: I2d1b8eddd8555ad6896541b308895dc537686168
In "Delete Assisted Volume Snapshot",
there is an incorrect example in the description for
the 'delete_info' parameter.
So fix it.
Change-Id: I0b984bee06b0890d7705b9e47a5f975266b6a670
Closes-Bug: #1726254
The block_device_mapping_v2 parameter is a list of dicts, so
we need to fix the type in the api-ref description.
Change-Id: I099bd8adcfc57ae31010d68b5a5b46ffe68bac8d
This adds the new microversion to allow providing
a description when creating a flavor, returning a
flavor description when showing flavor details, and
updating the description on an existing flavor.
Implements blueprint flavor-description
Change-Id: Ib16b0de82f9f9492f5cacf646dc3165a0849d75e
People get confused that os:scheduler_hints is not part of the
'server' portion of the POST /servers request body, it's actually
a separate top-level entry. This change makes a note of that in
the parameter description.
Change-Id: Id176c185dedcda970d1cd730267e2c5861b5b9c0
This patch adds `key_name` param to instance rebuild
API. Then the user could reset the instance keypair
when rebuilding. If set key_name to None, the API
will unset the keypair of the instance.
APIImpact
Implements blueprint: rebuild-keypair-reset
Change-Id: I23886a89c25f811cfbe7e2500ce7ff52f9162966
block_device_mapping_v2.bus_type is missing from
POST /servers API reference. This patch add it.
Change-Id: I998cf6195d72c80649e9e0fd43be0cf37f8e2f48
Closes-Bug: #1713895
I noticed this while working on change
I49ffebcd129990f1835f404d98b51732a32171eb and I realized
the scheduler_hints in the legacy filter_properties
dict is a bit different than what's in the RequestSpec
object, namely that the request validation schema is
per-hint. Some require a single value, like 'group', and
some accept a list of values, like 'different_host'.
Given how nebulous scheduler hints are, we should probably
note these in the API reference for the parameter, especially
because scheduler hints should not be considered interoperable.
Change-Id: I74114fc56bee2bebf4a5f5d6823ec968cad9a8e9
A swap on a stopped or suspended instance will fail silently. Remove
these allowed instance states on swap_volume:
suspended, stopped, soft_deleted
Change-Id: Iff17f7cee7a56037b35d1a361a0b3279d0a885d6
Closes-Bug: #1673090
As part of the docs migration from openstack-manuals to
nova in the pike release we missed the config-drive docs.
This change does the following:
1. Imports the config-drive doc into the user guide.
2. Fixes a broken link to the metadata service in the doc.
3. Removes a note about liberty being the current release.
4. Adds a link in the API reference parameters to actually
point at the document we have in tree now, which is
otherwise not very discoverable as the main index does
not link to this page (or the user index for that matter).
Partial-Bug: #1714017
Closes-Bug: #1720873
Change-Id: I1d54e1f5a1a94e9821efad99b7fa430bd8fece0a
This adds to the existing warning about forcing a host during
evacuate and mentions how you really really shouldn't be doing
that if the instance is managed by the ironic driver
since those are 1:M with host:node relationships, and since you
can't specify a node when forcing the evacuate, nova will randomly
pick a node from the list for the given host and assign resource
allocations to that node which may already be fully allocated.
Change-Id: I8ae34399d32b2762a67e897807ffa2298e796c4c
The server status values exposed out of the API and used
for filtering when listing instances comes from the values
in nova.api.openstack.common._STATE_MAP. Some of the values
listed in the docs were incorrectly using variable names from
the code, which don't necessarily match the actual value exposed
out of the API.
The compute API server concepts guide actually had this all
correct, so this just updates the API reference.
Change-Id: I30b6f27c6e7fc9365c203b620b311785f8b4b489
Closes-Bug: #1722403
The project_id / tenant_id filter parameters when
listing servers is only applied when the all_tenants
filter is used.
Otherwise if an admin is listing servers and specifies
project_id but not all_tenants, they only get back
instances for the admin's project (in the request context).
Change-Id: I9e8fae8fb86604d7394d0dba4d7c75c3fc93033e
Related-Bug: #1185290