Add a new server topology API to show server NUMA information:
- GET /servers/{server_id}/topology
Add new policy to control the default behavior:
- compute:server:topology:index
- compute:server:topology:host:index
Change-Id: Ie647ef96597195b0ef00f77cece16c2bef8a78d4
Implements: blueprint show-server-numa-topology
Signed-off-by: Yongli He <yongli.he@intel.com>
This adds support, in a new microversion, for specifying an availability
zone to the unshelve server action when the server is shelved offloaded.
Note that the functional test changes are due to those tests using the
"latest" microversion where an empty dict is not allowed for unshelve
with 2.77 so the value is changed from an empty dict to None.
Implements: blueprint support-specifying-az-when-restore-shelved-server
Closes-Bug: #1723880
Change-Id: I4b13483eef42bed91d69eabf1f30762d6866f957
In 2.75, we missed to add the config_drive field in api-ref for
update server response
- I9d257a003d315b84b937dcef91f3cb41f3e24b53.
This commit updates the api-ref.
Change-Id: I46ab0b8650bf50a5384bb56027cdf0dc2a9bb2fe
Partial-Implements: blueprint api-consistency-cleanup
Change I9d257a003d315b84b937dcef91f3cb41f3e24b53 and the 2.75
microversion returns the config_drive parameter in the rebuild
response and it's in the 2.75 rebuild response sample but was
missing from the response parameters table.
Change-Id: I89eca8638bc0d64b7f320f4ec5c49375bfebdb56
This patch adds a new external event called "power-update"
through which ironic will convey all (power_off and power_on)
power state changes (running -> shutdown or shutdown -> running
will be the only ones handled by nova and the rest will be ignored)
on a physical instance to nova. The database will be updated
accordingly to reflect the real vm_state and power_state of the
instance. This way nova will not be able to enforce
an incorrect power state on the physical instance during
the periodic "sync_power_states" task.
Implements blueprint nova-support-instance-power-update
Story: 2004969
Task: 29423
Change-Id: I2b292050cc3ce5ef625659f5a1fe56bb76072496
Fix collapse of 'host_status' description in the follwoing APIs
in the compute API reference.
- PUT /servers/{server_id}
- POST /servers/{server_id}/action (rebuild)
Change-Id: I003f9a81ac6f7e0ec13a24db3fda1b7ff6612bc5
Closes-Bug: #1840094
This microversion implements below API cleanups:
1. 400 for unknown param for query param and for request body.
2. Making server representation always consistent among all APIs
returning the complete server representation.
3. Change the default return value of ``swap`` field from the empty string
to 0 (integer) in flavor APIs.
4. Return ``servers`` field always in the response of GET
hypervisors API even there are no servers on hypervisor
Details: https://specs.openstack.org/openstack/nova-specs/specs/train/approved/api-consistency-cleanup.html
Partial-Implements: blueprint api-consistency-cleanup
Change-Id: I9d257a003d315b84b937dcef91f3cb41f3e24b53
There are only four valid values for the migration_type filter
when listing migrations so let's document them for the request
parameter. Note that the API jsonschema validation does not
restrict the values since the filter parameter pre-dated jsonschema
validation for query parameters. Specifying an invalid value would
just result in no results from the DB query.
Change-Id: I7fee254edefd524633af62d80cb47009b1cf010b
The following APIs return 500 error currently
if an invalid sort key or an invalid sort direction
query parameter is specified.
- GET /flavors
- GET /flavors/detail
Make the APIs return 400 error in that case.
Change-Id: I1d6d2c1f734b28dbea5c67cf88717149dd4911d7
Closes-Bug: #1835925
Make it clear that the first GET /os-services response sample
is for 2.11 and make the version suffix format for the 2.69
example match the other response examples, i.e. "(v2.x)".
Also mention that PUT /os-services/{service_id} only allows
nova-compute services. Before Pike it was possible to update
non-nova-compute services though it didn't really make sense.
Change-Id: I585582710884a53d91f4453011d3407a94efe1e3
These were deprecated during Stein [1] and can now be removed, lest they
cause hassle with the PCPU work. As noted in [1], the aggregate
equivalents of same are left untouched for now.
[1] https://review.opendev.org/#/c/596502/
Change-Id: I8a0d332877fbb9794700081e7954f2501b7e7c09
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
The 'user_id' and 'project_id' parameter descriptions for server actions
imply that they are the value of the user/project that owns the server,
but that is incorrect - they are the project/user id of whoever made the
request/initiated the action.
The existing project_id_instance_action parameter variable, which is only
used by the os-cloudpipe reference, is renamed to avoid confusion with
instance actions.
Co-Authored-By: Brin Zhang <zhangbailin@inspur.com>
Closes-Bug: #1835063
Change-Id: I1c05d59ebf1fda6319df5ee305c2b8a6a9562242
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.
Note that Neutron publishes to api-ref/network, not networking anymore.
Note that redirects will be set up as well but let's point now to the
new location.
For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html
Change-Id: Id2cf3aa252df6db46575b5988e4937ecfc6792bb
Some options are now automatically configured by the version 1.20:
- project
- html_last_updated_fmt
- latex_engine
- latex_elements
- version
- release.
Change-Id: I3a5c7e115d0c4f52b015d0d55eb09c9836cd2fe7
Add a new microversion that adds two new params to create
server named 'host' and 'hypervisor_hostname'.
Part of Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server
Change-Id: I3afea20edaf738da253ede44b4a07414ededafd6
The link to the API extension document has been broken.
The API extension document does not exist currently,
so just remove the link.
Change-Id: I8920a00004528f5fa30d1b5a2f53ffa5f65f2ea8
There are few needs:body/example/parameter_verification
pending on deprecated APIs. It is not worth to spend time on
completing those.
Removing those todo part and adding note about not updating
them.
Change-Id: I1f2bc4e6d8bdb2b41c4b22c18573a4fc75bea38e
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