This patches from the test scenarios for the legacy v2 from API
sample tests. There still have some codes for legacy v2 which should
be cleanup, but that can be done later patches. This patch just stop
the test on the legacy v2 API.
Partially implements blueprint remove-legacy-v2-api-code
Change-Id: I38626e5a4aa98cbfd7b65b5eb0edbcae96e5b3f2
In [operation.set-admin-password], the parens in the following:
mechanism to re(set) the password
...imply it can be read as:
mechanism to re the password
...or
mechanism to reset the password
The former is obviously not as intended.
Change-Id: I696658a45d220a13a509d4f904d6b0fb996d7925
There was some confusion/debate in reviewing
I5fa1fdba56803b2ef63b1efaaeeced6ceb7779d9 and whether or
not it required a microversion to change the response code.
This was a pretty common sense scenario where 415 was a
more appropriate error code for 400 and is a better client
experience when hitting that error.
This change updates the potentially confusing part of the
devref about this and adds a note to ask the Nova API
subteam when in doubt about whether or not a microversion
is needed for changing error codes.
Change-Id: I8a2836076b7fadc697bdc013578c3d777d02a833
Related-Bug: #1567977
When building packages if git is absent, then we should not set
html_last_updated_fmt. It can still be set via the -D switch
when building with sphinx-build.
Change-Id: I5da86b7a163c0e795cd34abf79b0980a8552f79b
Closes-Bug: #1552251
Currently, unit testcases of api emit FutureWarnings
from oslo.versionedobjects about invalid uuids as documented here[1].
This commit changes these tests to use valid uuids so
that when they are run these warnings are no longer emitted.
Made changes to project_id in fakes.py to use valid project_id
which removes warnings related to invalid uuids in testcases.
Also made changes to project_id in JSON headers to use valid
uuids in functional testcases same as that in unit testcases.
[1] http://docs.openstack.org/developer/oslo.versionedobjects/api/fields.html#oslo_versionedobjects.fields.UUIDField
Partial-Bug: #1557378
Change-Id: I5f69a2c3dc4d0279aed11750e6758b624debb64f
This does a live migration of compute node resource information from the
current location (in compute_nodes columns) to the new desired location
of records in the inventories table. It only does this if all control
services have been upgraded to a level that understands this.
Related to blueprint compute-node-inventory-newton
Change-Id: Ieda099d3f617713f09315b2b1e932a7c1d6f45c4
Cinder's volume migration API is, by default, an admin-only operation.
This includes the migrate_volume_completion API.
When Cinder is doing a volume migration, it calls Nova's swap-volume
API to detach the old volume that we're migrating from and attach
the volume that we're migrating to. Then Nova calls Cinder's
migrate_volume_completion API to signal Nova is done and Cinder
can finish the volume migration.
The problem is that swap-volume is not an admin-only API in Nova
per the default policy. So if a non-admin user tries to perform
a swap-volume operation, it will fail with a 403 when calling
Cinder's migrate_volume_completion API, since that requires an
admin user.
Also, because of 98739761f1 we can't
simply avoid calling migrate_volume_completion for non-migration
cases because that API handles the actual detach/attach for the old
and new volumes, swap-volume is broken without calling that.
So given swap-volume relies on an admin-only Cinder API, and is called
from an admin-only Cinder operation (volume migration), we should
just make it default to admin-only also.
Change-Id: Iac03258735f3d856a474ab96fe9b0a087e32906f
Closes-Bug: #1522705
Previously all testing of the PUT method assumed that a body existed,
which is implied by the HTTP spec, but not strictly stated. The tags
api-wg spec specifies an interface with tags that uses PUT with no
payload.
This makes our _do_put able to handle that case, and removes empty
templates when not needed.
Change-Id: I3d869d63affd08e321944c0082ee9865124d38e2
Added new API microversion which allows the following:
- add tag to the server
- replace set of server tags with new set of tags
- get information about server, including list of tags for server
- get just list of tags for server
- check if tag exists on a server
- remove specified tag from server
- remove all tags from server
- search servers by tags
DocImpact
APIImpact
Implements: blueprint tag-instances
Change-Id: I9573aa52aae9f49945d8806ca5e52ada29fb087a
There was recent discussion in some reviews about fixing
latent bugs in the legacy v2.0 API code. Since the
v2.0 API is deprecated and v2.1 is the default since Liberty,
we shouldn't need to fix latent low-priority bugs in v2.0
anymore.
However, we'll still fix critical bugs, and we shouldn't
knowingly introduce new regressions that would result
in a 500 response.
Change-Id: I9937d9226a99754dadcc48d599090296f5ae01f7
We nuke oslo-incubator in commit b1871e5759,
This is follow up to clean up documents about oslo-incubator.
Change-Id: I4a6b7342570118ae116e896f29ce0a223421793a
- fixed a broken link
- updated a couple of links from mitaka -> newton
- added some missing apostrophes
- added some custom gerrit review dashboards
Change-Id: I1cc5087e7073244b13eaf9e8044e79a0fbe4aa9d
Closes-Bug: #1568292
Currently the rebuild action is supported in API and CLI of nova
though only ironic driver has its own implementation, we can still
list it into the support matix to provide more info to user.
Change-Id: I391b54a383501d3cdd2ac799d0ce4ccf66243f5a
microversion v2.7 was added without a functional test,
even though we can cover most cases in unit test
for negative case, it would be better to
have a functional test for a specific microversion API change.
Change-Id: I4d5576cc4ebcdeaa4e4f067fe9c6207280ad7eda
This disables the generation of the raw module api documentation in
our docs target. It is mostly not useful, as it builds a giant tree of
module documentation that are 98% boiler plate lists of methods with
no real content.
We leave the sphinx.ext.autodoc in the conf, which allows you to
specifically pull in modules for documentation when you want
to. doc/source/services.rst is an example of doing this in tree, which
still works after this change.
Change-Id: I4c10a8e45756cdcf612faca574e2fb3b7ffa2bdb
* Removing openSUSE 13.1 and adding openSUSE 42.1 (LEAP).
* Removing Factory as its called as Tumbleweed now.
Change-Id: Iea26ac4ea343b63bc07cdf9fef0659a2887fe584
Truely vmware driver can not attach cinder volume using chap
authentication over iscsi
Closes-Bug: #1557938
Change-Id: I05b1e81a3deffc855be34efff2d3e9dac8b63e82
LOG.warn is deprecated. It still used in a few places.
Updated to non-deprecated LOG.warning.
Change-Id: I42c7b6a172b64a3c1ac6e0703df48ac2ddf8390a
Partial-Bug:#1508442
Update the doc of notification according to this commit[1].
TrivialFix
[1]: https://review.openstack.org/#/c/249508/
Change-Id: If3920c9a71cf5de34028dda423dd923f9a9206f0
When we put validation into the project_id in urls we had to expand
the default set of allowed values to include 'openstack' and
'fake'. This cleans up all the instances of 'openstack' in the
functional tests, and api samples, and instead uses a constant string
which looks like a real project_id.
We need a stable project_id and not a sentinel otherwise the samples
will be arbitrarily changes on every update.
Change-Id: I1099fd43d2374abd1658b0917765d5375c4b8d1d
This reverts commit d411d60587.
The point of doc/*samples* is they are static files, not
dynamic. We shouldn't be doing substitution here, this
breaks all kinds of things, including the doc target.
Change-Id: Iaaf9fa0096ab62e6d3efbe018d8d4853a2ff8cda
Closes-Bug: #1553634
How to trigger crash dump depends on hypervisors. NMI is not the only way to
implement the feature. This patch modifies description regarding this feature.
Change-Id: I77d10551650776c06ee4b413f1b027abf6620e83
According to the Cinder devref:
https://github.com/openstack/cinder/blob/master/doc/source/devref/api_microversion_dev.rst)
you should be able to use the following pattern:
def index(self, req):
<common code>
req_version = req.api_version_request
if req_version.matches("3.1", "3.5"):
....stuff....
elif req_version.matches("3.6", "3.10"):
....other stuff....
elif req_version > api_version_request.APIVersionRequest("3.10"):
....more stuff.....
<common code>
However, the api_version_request.matches() function will not accept a
string, it requires an api_version_request object.
This changes the doc to implement an api_version_request object to use
this pattern.
Closes-Bug: #1550337
Change-Id: I14a943b21e9e98dd848c0c292ca1a1ae941cb98b
This emits a warning message when hooks are used to ensure that admins
understand that this facility is deprecated in Nova going forward. It
also removes the links to the meager documentation on hooks to ensure
no one finds these by accident and starts using them. Also add a
comment to the code file itself incase someone ends up in it from
other searches.
Change-Id: I31b1223a0dc3fdffe356a816b591fdd88a31483a
This is os-migrateLive API changes:
* 2.25 - Make block_migration to support 'auto' value, remove
disk_over_commit.
Partially implements: blueprint making-live-migration-api-friendly
APIImpact
DocImpact
Change-Id: Ibb0d50f0f7444028ef9d0c294aea41edf0024b31
For example, When aggregate zone is updated, time is not getting updated
in updated_at field.
So, modified the code such that time gets updated in updated_at field
whenever the aggregate metadata content gets modified.
Change-Id: Icb65313ba85562fadeddbc1890ca5d463e74d3c2
Closes-Bug: #1538014