* Example for the rebuild action
The functional test is modified and
the example is replaced with v2.26 examples.
* Example for the rescue action
The example in API reference is replaced with
the example with 'rescue_imgae_ref'.
Parameters for the rebuild action and the rescue action
are also fixed.
The patch completes the parameter verification and
the example verification of servers-actions.inc.
Change-Id: Iaf8808b13d1fdfead50da4cd447b3893578f76dd
Implements: blueprint api-ref-in-rst-pike
The nova-network has been deprecated since Newton.
In neutron case, a network ID is a UUID.
So replace an integer network ID with a UUID
in the addFixedIp action example.
The format of removeFixedIp action example
is fixed.
Change-Id: Icaaf25e7648a75b66f6fcaddd759fdf243810db4
Implements: blueprint api-ref-in-rst-pike
Add a functional test for 'removeFloatingIp' action.
Rename the example file for 'addFloatingIp' action
to clarify that it is a request body example.
Change-Id: Ic865318fa640eb17d1317fb3d5f064788ebf44e7
This changes the response for the createImage and createBackup
server action APIs to no longer return a Location header and instead
returns a json dict body with the snapshot image ID. This is done
in a new microversion.
Implements blueprint remove-create-image-location-header-response
Closes-Bug: #1679285
Change-Id: Idc899ee76b8265b1c9e0871b6c7c277424cdd442
The following APIs which are considered as proxies of Neutron networking
API, are deprecated and will result in a 404 error response in new
Microversion:
POST /servers/{server_uuid}/action
{
"addFixedIp": {...}
}
POST /servers/{server_uuid}/action
{
"removeFixedIp": {...}
}
POST /servers/{server_uuid}/action
{
"addFloatingIp": {...}
}
POST /servers/{server_uuid}/action
{
"removeFloatingIp": {...}
And the nova-network specific API for query server's interfaces is
deprecated also:
GET /servers/{server_uuid}/os-virtual-interfaces
Partial implement blueprint deprecate-multinic-proxy-api
Change-Id: I1848db384a825d3b166f113b30ebad92113af8e5
This patch deprecates os-hosts APIs including:
GET /os-hosts - list hosts
GET /os-hosts/{host_name} - show host details
PUT /os-hosts/{host_name} - update host status
GET /os-hosts/{host_name}/reboot - reboot host
GET /os-hosts/{host_name}/shutdown - shutdown host
GET /os-hosts/{host_name}/startup - start host
Much of the ``os-hosts`` API is duplicated with the ``os-services`` and
``os-hypervisors`` APIs. It's not a good idea to make nova have the
compute related API, so this patch deprecated them.
Implements blueprint deprecate-os-hosts
Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>
Change-Id: Ieb85653b85a1eff38a9fb0c9ff05e4cd39150ecc
The os-pci API was never part of the v2.0 API and was added
to the v3 API, but when the v3 API turned into the v2.1 API
which is backward compatible with the v2.0 API, the os-pci
API was removed from v2.1. The original intent was to enable
it in a microversion but that never happened.
We should just delete this API since it has a number of issues
anyway:
1. It's not documented (which makes sense since it's not enabled).
2. The PciHypervisorController just takes the compute_nodes.pci_stats
dict and dumps it to json out of the REST API with no control over
the keys in the response. That means if we ever change the fields
in the PciDevicePool object, we implicitly introduce a backward
incompatible change in the REST API.
3. We don't want to be reporting host stats out of the API [1].
4. To make the os-hypervisors extension work in a multi-cell environment
we'd have to add uuids to the PciDevices model and change the API to
return and take in uuids to identify the devices for GET requests.
5. And last but not least, no one has asked for this in over two years.
As a result of removing this API we can also remove the join on the
pci_devices table when showing details about an instance or listing
instances, which were added years ago because of the PciServerController:
Id3c8a0b187e399ce2acecd4aaa37ac95e731d46c
Id3e60c3c56c2eb4209e8aca8a2c26881ca86b435
[1] https://docs.openstack.org/developer/nova/policies.html?#metrics-gathering
Closes-Bug: #1426241
Closes-Bug: #1673869
Change-Id: I9099744264eeec175672d10d04da69648dec1a9d
Sphinx 1.5 is more picky about highlighting and currently building of
api-ref fails with:
Warning, treated as error:
/home/aj/Software/vcs/OpenStack/openstack/nova/api-ref/source/index.rst:4:
WARNING: Could not lex literal_block as "json". Highlighting skipped.
Fix problems found:
Remove duplicate "progress: 0" from
os-rescue/server-get-resp-unrescue.json,
os-server-tags/v2.26/servers-tags-details-resp.json,
os-server-tags/v2.26/server-tags-show-details-resp.json.
Change json to javascript for highlighting of delete_info.
Change-Id: I7cd969fb4c9d4bff995c34725cfb739cccaba12c
This includes the parameter, body, and example verifications for
api-ref servers-action-fixed-ip.
part of bp:api-ref-in-rst-pike
Change-Id: I2b9971d7ff3716f330b55020bf37489dbc9e9b2c
In the context of device tagging, bugs have caused the tag attribute
to disappear starting with version 2.33 for block_devices and starting
with version 2.37 for network interfaces. In other words, block
devices could only be tagged in 2.32 and network interfaces between
2.32 and 2.36 inclusively.
This patch documents this behaviour in api-ref and introduces
microversion 2.42, which re-adds the tag in all the right places.
Change-Id: Ia0869dc6f7f5bd347ccbd0930d1d668d37695a22
Closes-bug: 1658571
Implements: blueprint fix-tag-attribute-disappearing
Adds a Compute API microversion that triggers returning an aggregate's UUID
field. This field is necessary for scripts that must populate the placement API
with resource provider to aggregate relationships, which rely on UUIDs for
global identification.
APIImpact
blueprint: return-uuid-from-os-aggregates-api
Change-Id: I4112ccd508eb85403933fec8b52efd468e866772
Closes-bug: #1652642
Add optional parameters 'limit' and 'marker' to the
os-simple-tenant-usage endpoints for pagaination.
/os-simple-tenant-usage?limit={limit}&marker={instance_uuid}
/os-simple-tenant-usage/{tenant}?limit={limit}&marker={instance_uuid}
The aggregate usage totals may no longer reflect all instances for a
tenant, but rather just the instances for a given page. API consumers
will need to stitch the aggregate data back together (add the totals)
if a tenant's instances span several pages.
Implements blueprint paginate-simple-tenant-usage
Change-Id: Ic8e9f869f1b855f968967bedbf77542f287f26c0
Almost all proxy APIs were deprecated in microversion 2.36.
But the sub-resource image-metadata of image was forgotten to deprecate.
This patch deprecates the image-metdata API from 2.39.
Implements blueprint deprecate-image-meta-proxy-api
Closes-bug: #1614578
Change-Id: I5507337ab6fe4a377f66dec3fe275d75618cd7b4
This is the final patch in this series. This patch bumps the
microversion to 2.36, all the proxy APIs were deprecated.
Partially implements blueprint deprecate-api-proxies
Change-Id: I1a8a44530be29292561e90d6f7bd7ed512a88ee3
After this microversion Nova API allows to get several keypairs
with the help of new optional parameters 'limit' and 'marker'
which were added to GET /os-keypairs request.
Partial-Bug: #1599904
Implements blueprint: keypairs-pagination
Change-Id: Idd3757f5be90ec4af1bd1a7ca3f9c20319dbfd33
pre live-migration checks now are done in async way. This patch
updates rest api version to keep this tracked.
bp: async-live-migration-rest-check
Change-Id: I9fed3079d0f1b7de3ad1b3ecd309c93785fd11fe
This completes the verification of os-assisted-volume-snapshots.inc
for all required area(parameter, example, body)
Part of bp:api-ref-in-rst
Change-Id: I9544e9681bcdd83ca5d2bf6b8722db0a71665b8b
When there are thousands of compute nodes, it would be slow to get the
whole hypervisor list, and it is bad for user experience to display
thousands of items in a table in horizon. This patch is proposed to
support pagination for hypervisor by adding `limit` and `marker` to
the list api.
Implements blueprint: pagination-for-hypervisor
Change-Id: Ie7f8b5c733b383f3e69fa23188e56257e503b5f7
This patch allows the user to specify a tag for a virtual network
interface and/or block device mapping when booting an instance.
Implements: blueprint bp/virt-device-role-tagging
Change-Id: I89247200f4cf1f644daf476727b4a6acb22b0cf6
Currently only 'xen' is supported for the 'hypervisor'
parameter. So examples are changed to 'xen'
instead of 'hypervisor'.
Change-Id: Ibd40dcfd3801c7a4165e299a1232ea46f2f17cf4
Implements: blueprint api-ref-in-rst
The current API allows getting connection info only for tokens which
correspond to RDP consoles. It should work for all types of tokens. This
patch introduces a new microversion which fixes this problem.
APIImpact
blueprint fix-console-auth-tokens
Change-Id: I27a65e0cd8b5eb51ecdc84cbf310ae107ff131dc
Improve api samples for os-instance_usage_audit_log
and fix a parameter.
Change-Id: I8436a6ab0610e41d8c6c95c55a263fdfbbf58476
Implements: blueprint api-ref-in-rst
JSON standard does not allow trailing comma.
Because of this comma my local tox -e docs failed.
It's strange that it works in gate and check jobs.
Change-Id: I58bf48c248b1722a730667ec7c5e792e6929d2df
This removes the facility in the API router to have limited lists of
extensions. From this point forward, what is in Nova is loaded, no
exceptions.
A number of unit tests and fakes have to be updated to pass after
this, as many unit tests were sending small lists of extensions to the
API router to simplify the responses they were getting back. This also
required stubbing out the request db cache in some cases, because
extensions later get content from there to avoid additional db
hits. As well as adjusting a few samples tests which now return more
data because all the extensions are always loaded.
There is much cleanup to happen after this, but this is the smallest
unit to get us over this boundary which will start letting us to
refold extensions back into the base views (and massively simplify the
API code).
This does not yet remove the config options because there is another
place those get used in servers.py and the testing fallout of that is
much bigger.
The reno will come with that patch.
Change-Id: I3e72f5e23ce39148f31dfdb76d18f403c6d04842
OS-SCH-HNT:scheduler_hint is actually a top level attribute, because
of historical accident in the yesteryear of v1 (and thus v2 and
v2.1). One day we should fix this.
Change-Id: I34c105628e274dcc2f8101514f95b9032b2b9f71
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for all the remaining sample tests
and remove extensions specific tests and sample files.
Also remove extension setting specific logic from base test class
along with TODOs.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I66b593760789e5b3b92137a672246f8d91e44cba
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for remaining server API tests
and remove its specific extensions tests and sample files.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I3cf5762477b8b77bec4e6cb8f7119c62df7c706a
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for server API tests and remove its specific
extensions tests and sample files.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I7e12a4491738c2908c1dd134c05f38e0db497ee7
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for server actions tests and
remove its specific extensions tests and sample files.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I88a293958c4c8a1b2c50a837c23bcdda8010e075
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for Flavor API tests and remove its specific
extensions tests and sample files.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I9fc496a6a05f794a31b0b361cc98d2f4b2f79818
After modifying the evacuate action, we now add a new microversion
change for modifying the live-migrate call so that the scheduler is
called when the admin user provides an hostname unless the force
field is provided.
APIImpact
Implements: blueprint check-destination-on-migrations-newton
Change-Id: I212cbb44f46d7cb36b5d8c74a79065d38fc526d8
Adding a new microversion for changing the evacuate action behaviour
to call the scheduler anyway unless the admin user provides a force
flag that then keeps the previous behaviour by forcing the conductor
to call the destination without verifying it.
Implements: blueprint check-destination-on-migrations
APIImpact
Change-Id: I9ecbe3d481bf17b12072511da4bb106ff1b6404e
After this microversion Nova API the GET request to
/v2.1/os-hypervisors/{hypervisor_id} responses cpu_info
as regular JSON object instead of string.
Implements blueprint nova-api-hypervsor-cpu-info
Change-Id: I14db9017f69e70e759cc80d031f76af8be179e45
In order to add an example creating an interface with
net_id and fixed_ips, add the sample test for it.
Change-Id: I6b2567db82d000e4b1cdf46020ce1b57103c3f46
Implements: blueprint api-ref-in-rst
In this change the new OpenStack-API-Version headers is allowed,
but not required, for requesting a microversion.
Both headers are accepted in the request and both headers are sent in
the response (both the header and its value, and the addition to the Vary
header).
Many tests which explicitly use a microversion header have been
updated to use both. This change is not 100% as most of the tests
are testing the handling of the value of the header, not which
header is involved.
Partially-Implements: blueprint modern-microversions
Change-Id: I68da13b5ba0c2f3357523e765a5b9db81899daf1