The server group policy field added in v2.64 is a string but
the API reference says the parameter is an object.
This patch changes it from "object" to "string".
Change-Id: I1b4efe8afb302d94c810389e124c5370cbe72ddf
Closes-bug: #1830800
Non-admin user can filter instance by instance-uuid and other
filter keys with being configured using the "os_compute_api:
servers:allow_all_filters" policy rule. The policy rule was
added with Ia5504da9a00bad689766aeda20255e10b7629f63.
Closes-Bug:1819425
Change-Id: I74146b4370b6017cb199466258165fc6df080082
If we're swapping from a multiattach volume that has more than one
read/write attachment, another server on the secondary attachment could
be writing to the volume which is not getting copied into the volume to
which we're swapping, so we could have data loss during the swap.
This change does volume read/write attachment counting for the volume
we're swapping from and if there is more than one read/write attachment
on the volume, the swap volume operation fails with a 400 BadRequest
error.
Depends-On: https://review.openstack.org/573025/
Closes-Bug: #1775418
Change-Id: Icd7fcb87a09c35a13e4e14235feb30a289d22778
This removes the "all" wording from the List Servers API
reference docs since it could be confused with actually returning
all servers across all tenants (the all_tenants filters). It also
mentions that by default only servers associated with the project
making the request are returned, i.e. the project associated with
the auth token on the request. This is probably fairly obvious
and automatic to anyone that's worked with openstack for a long
time but might not be for a new user and is not really documented
anywhere in the API reference or API guide that I could find.
Change-Id: Ie28164e4813a7a48addcd80d81c72c978ac9f395
This patch adds a new parameter ``locked_reason`` to
``POST /servers/{server_id}/action`` request where the
action is lock. It enables the user to specify a reason when locking
a server.
The locked_reason will be exposed through ``GET servers/{server_id}``,
``GET /servers/detail``, ``POST /servers/{server_id}/action`` where
the action is rebuild and ``PUT servers/{server_id}`` requests' responses.
The InstanceActionNotification will emit the locked_reason
along with the other instance details. This patch hence changes the
payload object to include the "locked_reason" field.
Note that "locked" will be allowed as a valid filtering/sorting parameter
for ``GET /servers/detail`` and ``GET /servers`` from this new microversion.
Implements blueprint add-locked-reason
Change-Id: I46edd595e7417c584106487123774a73c6dbe65e
The API reference for listing servers says that the all_tenants
filter parameter is available for non-admins which is likely
a mistake because of it being in the _get_server_search_options
method, but all_tenants is admin-only by default policy because
of the os_compute_api:servers:index:get_all_tenants and
os_compute_api:servers:detail:get_all_tenants policy rules.
This change fixes the API reference to remove all_tenants from
the list of non-admin filter parameters and also adds a note to
the _get_server_search_options method to avoid future confusion.
Change-Id: I0e937afbdf8e19d2efd626047913d4c8a9b88b76
Closes-Bug: #1828042
Drop support for the os-cells REST APIs, which are part of the cells v1
feature which has been deprecated since Pike.
This API now returns a 410 response for all routes.
Unit tests are removed and the functional API sample tests are just
asserting the 410 response now. The latter are also expanded to cover
APIs that weren't previously tested.
The API sample docs are left intact since the API reference still builds
from those and can be considered more or less branchless, so people
looking at the API reference can apply it to older deployments of nova
before os-cells was removed.
A release note added for previous cells v1 removals is amended to note
this additional change.
Part of blueprint remove-cells-v1
Change-Id: Iddb519008515f591cf1d884872a5887afbe766f2
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
The description on the 'events' parameter for the
POST /os-server-external-events API did not make sense,
so this re-words it.
Change-Id: Iaec80e03a8ab0cd1b34126701bd0754953394e42
Whenever I use the os-instance-actions API I have to look at
the DB API source code to figure out the sort order of the
resulting instanceActions and each action's events, which
is desc(created_at) in both cases (and desc(id) but that should
not matter here since the id is not exposed in the API).
This change mentions the resulting sort order of those fields
in the API reference so I can stop looking at source code.
[1] https://github.com/openstack/nova/blob/e7ae6c65c/nova/db/sqlalchemy/api.py#L5149
[2] https://github.com/openstack/nova/blob/e7ae6c65c/nova/db/sqlalchemy/api.py#L5289
Change-Id: Ib5758bc21296e8b6c041198661c147b8e99d57e5
This does a few things:
1. Fixes the "migration_status" wording since that does not
exist and could be confused as a field on the server
resource which it is not, it is referring to the migration
resource status.
2. Fixes the RESIZED status mention since that is not a real
server status, it probably meant VERIFY_RESIZE (RESIZED is
the name of the nova.compute.vm_states variable used in the
code to set the VERIFY_RESIZE status in the API).
3. Adds words about options to correct the server status from
ERROR after confirmResize fails, the most obvious being
an admin resetting the server status to ACTIVE or the user
hard rebooting the server.
Change-Id: I7de257ad78031d137616d724bee3fa1cbf40d6fa
Related-Bug: #1821594
The API reference and part of the scheduler filter docs for
the JsonFilter query hint are using invalid json strings
in the examples.
This fixes both invalid locations using the same json string
used in the openstack server create command example in the
scheduler admin docs.
Change-Id: Iaab8608c7ffa6fbbea40a838dd02d8096f632f7a
Closes-Bug: #1821764
Add description of cases that 'block_device_mapping_v2.volume_size`
is required in the "Create Server" (POST /servers) API.
Change-Id: I36f28ca756b908b5fc591cc87f5786a3e217285e
Closes-Bug: #1818310
This came up as a source of confusion while reviewing
change Ic27195e46502067c87ee9c71a811a3ca3f610b73 because
I thought that the "metadata" key in the
POST /os-aggregates/{aggregate_id}/action (set_metadata)
API was an overwrite of the existing metadata rather than
an update.
The way the Aggregate.update_metadata() method works is that
new entries are added, existing metadata is updated if the
value is not None, otherwise existing entries are removed
if the value is None.
And because of the AggregateAPI.is_safe_to_update_az() method
the special "availability_zone" metadata cannot be unset to None
once it is set. So the only way to remove an AZ is to delete the
aggregate altogether.
This updates the API reference description of the "metadata"
parameter in the "set_metadata" action API.
Change-Id: I6fa9f9691b945b5212b7f951ab0a26b4d3049df9
Related-Bug: #1378904
The "availability_zone" parameter for server create in the
API reference and the availabilty zone user docs both say
that users should not use the default availability zone (nova)
yet our server create API samples use "nova" which is...bad.
This change fixes the API samples and related tests to use
a fake "us-west" availability zone. For any samples that were
requesting an AZ when creating a server, those are changed from
requesting "nova" to requesting "us-west" and a new
AvailabilityZoneFixture is added to stub out the code used to
validate the requested AZ and what is shown in server detail
responses.
Some unused samples are removed from the os-availability-zone
directory and the API reference and AZ user docs are updated for
formatting and linking to other docs for reference.
Change-Id: I3161157f15f05a3ffaaf1b48e7beb6b3e59c5513
Closes-Bug: #1817963
The server-groups UUID add to response of 'GET /servers/{id}',
'PUT /servers/{server_id}" and rebuild API
'POST /servers/{server_id}/action'.
Change-Id: I4a2a584df56ece7beb8b12c0ce9b0e6b30237120
Implements: blueprint show-server-group
Co-authored-by: Gerry Kopec <Gerry.Kopec@windriver.com>
Signed-off-by: Yongli He <yongli.he@intel.com>
This change adds a new microversion to expose virtual
device tags for volumes and ports attached to a server.
Implements blueprint expose-virtual-device-tags-in-rest-api
Change-Id: I09420ff7134874dfe4dc399931c7740e81ecc2d0
This patch adds the documentation around the work regarding
handling down cells that was introduced in v2.69.
Related to blueprint handling-down-cell
Change-Id: I78ed924a802307a992ff90e61ae7ff07c2cc39d1
This patch introduces a new API microversion which will be
used to alter the responses of ``GET /servers``, ``GET /servers/detail``,
``GET /servers/{server_id}`` and ``GET /os-services`` when a cell is
down to return minimal constructs with missing keys.
Implements blueprint handling-down-cell
Change-Id: Id9f12532897912b39093f63e9286540d9029edeb
Add descriptions about the createImage action
in the volume-backed servers case.
Change-Id: Iee81ee4ed6d6bbfa2c17955396d4ff7f36f08017
Closes-Bug: #1799495
As part of an effort to scrub the nova docs of cells v1
references [1] this moves the os-cells API reference to
be grouped with the other deprecated APIs.
A section title is added, similar to the "Obsolete APIs"
section, for organizational purposes.
It should be noted that the os-cells APIs have not been
formally deprecated by capping them at some maximum
microversion like the other deprecated proxy APIs or
for the nova-network APIs, but cells v1 was deprecated
in Pike [2] and since the os-cells APIs are admin-only,
they can be considered effectively deprecated with the
cells v1 deprecation itself, and when we delete the
cells v1 service code the APIs will also be gone like
the other Obsolete APIs.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-February/002569.html
[2] I1a173f7ce0715e684850e030c358e8175fa8724c
Change-Id: I833d2e8d8857448c2922df488ae9d9b425050ddc
Add a new microversion that removes support for the aforementioned
argument, which cannot be adequately guaranteed in the new placement
world.
Change-Id: I2a395aa6eccad75a97fa49e993b0300bdcfc7258
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Implements: blueprint remove-force-flag-from-live-migrate-and-evacuate
APIImpact
It is currently possible to rename or unset the availability_zone
metadata value on a host aggregate which can adversely impact
instances that were created in that specific AZ since later
attempts to migrate or unshelve those instances will fail if the
AZ with the original name no longer exists.
This adds a warning to the API reference for updating the AZ
name and also fixes a grammar typo in the 'metadata' response
parameter description.
Change-Id: Ie9d4a1ff1a23827490fe51350c11292c6efc4eb2
Related-Bug: #1378904
This fixes the link, re-words it a bit, moves it to the main
description (since it applies to PUT also) and drops the note
since we don't need note formatting for linking in reference
material.
Closes-Bug: #1814953
Change-Id: Ia24cda353bdcadf3fe8405aac588e8abf1100608
This patch adds more explanations for the lock action
in the Compute API reference and the Compute API guide.
Change-Id: Iae4a42351d11d5caade9a1a299b06fed862a7da4
Partial-Bug: #1793034
This change does a few things:
* Links live_migration_completion_timeout to the config
option guide.
* Links the force complete API reference to the feature support
matrix to see which drivers support the operation.
* Fixes the server status mentioned in the troubleshooting for
the force complete API reference (a live migrating server
status is MIGRATING, not ACTIVE). The same text is copied to the
abort live migration API reference troubleshooting for
consistency (and since using the server status is more natural than
the task_state).
* Links to the admin guide for troubleshooting live migration
timeouts.
Change-Id: I496d3f4b99e3d7e978c7ecb13ab3b67023fcb919
Closes-Bug: #1808579
Add a description about the sort order
in the "List Migrations" (GET /os-migrations) API.
Change-Id: Iaa8e264ca95b69f3c97a6848918862ee22922de1
Closes-Bug: #1801789
When use version details api http://ip/compute/v2 to get api details,
it does not return 200 OK, and the return value is empty.
This change is to correct the version details API URL.
Change-Id: I6befb4df6b688ae8c59671781c4e7b338a16462c
Closes-Bug: #1802247
In the following APIs, the 'changes-since' query parameter must be
earlier than or equal to 'changes-before' query parameter
otherwise the API returns 400.
* GET /servers
* GET /servers/detail
Add the description in each parameter.
Change-Id: Ieb26275deac2ddee3768a0fad7f37dc5795fb5c0
A minimum microversion description that is the same as
the microversion the API is newly added is redundant
in parameters. So remove them.
Change-Id: I3e1ca88cac3a52a8b44e26f051a51a6db77a3231
Closes-Bug: #1799893
If ``changes-before`` is less than ``changes-since`` in requested,
there will get empty data when querying in db, so add the limit of
these parameters. If ``changes-before`` < ``changes-since``, will
be returned 400.
Closes-Bug: #1796009
Change-Id: I44546bc9798708a48a250cc3a21bdbcabe2649e1