As the API validation code always return 400 when request with
invalid json body, so 400 is an available status code for all the
Nova API. Then no microversion bump required for fixing 500 to 400.
Change-Id: I0454e95cd0655c910fad8b39ead2b5edab216b68
Related-Bug: 1471239
As sample tests have been merged betweeen v2 and v2.1, we do not need
separate sample files for those.
This commit removes samples files under doc/api_samples/servers_v21/.
This was somehow missed on I2f5a3dcc41e296c3baba6e4ea7e20079df48b43d
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: Iea82e29d3a731e4b8632bf10cc1a365fe511f619
Adds a new microversion to show virtual interface 'net-id' in
virtual interface list.
DocImpact - See nova/api/openstack/rest_api_version_history.rst
for details
APIImpact
Implements blueprint add-vif-net-id-in-vif-list
Change-Id: Ic8b26df8d7e69bd71d23dfbc983fa3449c16fa7d
Change Ia782ab9d9a31d37854606f7be82582de6d7bc374 returns a 403 rather
than a 500 for OverQuota and adds that to the list of expected errors in
the v2.1 case.
There is no microversion change required since the 403 case is implied
given keystone authentication can fail with a 403 on any API.
This change updates the docs to mention the exceptional case for 403.
Related-Bug: #1444559
Change-Id: I7ea8c5c50d4eac53837f5f76e09277ac185288a9
There are many place where server POST request has been used to tests
other API behavior. There was issue of having duplicate
server POST req and resp sample files in each API sample directory.
we added logic to share those sample files from common place
('servers' sample dir)
As microversion tests also need to share such logic, This commit
extends that logic to work for microversion tests also.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: I3448e1934585c2dabed6c45216ea0513db258b27
All the v2 functional tests have been merged to v2.1. Functional tests
under functional/api_sample_tests/ runs for v2 and v2.1.
This commit removes the already merged tests and sample files which
are left on v2 tests directory.
Extended_ips & Extended_ips_mac tests
- Tested on servers tests as v2.1 contains those without extensions
(test_servers.py)
test_all_extensions_have_samples
- All v2 tests have been merged with v2.1 so this tests not needed
Removed Sample files -
os-extended-floating-ips - Tested with Floating_ips tests
os-extended-rescue-with-image - Tested with rescue tests
all_extensions - Tested with All_extensions tests
os-baremetal-ext-status(doc/ only) - Tested with baremetal node tests
All other supported files like legacy_v2/api_samples_test_base.py
have been removed.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: I47b8ba222eed4bdedca46a037a843a27f5bdc253
Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.
This commit merges limits functional tests.
There was no functional tests for limits in v2.1
V2 implied RateLimitingMiddleware while V2.1 does not have that
so the response data is different between V2 and V2.1,
there are more info in "rate" section in V2 than V2.1.
We have to keep both of the template files.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: If4fbaaeaa1819083f7f4c460216023ae8f65021d
Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.
This commit merges used_limits functional tests.
V2 implied RateLimitingMiddleware while V2.1 dropped that from
https://review.openstack.org/#/c/115893/, so the response data is
different between V2 and V2.1, there are more info in "rate" section in
V2 than V2.1. We have to keep both of the template files.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: I3192f550b57694ccb700eebcc0af55468a2f222f
This commit moves "versions" functional tests in v2.1 tests which are
under /v3 directory and run those for v2 and v2.1.
There was no tests for v2.1 version so this patch adds
tests for v2.1 version request.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: Ibd19c5f96679864db4c4c83b8981bac839feafd2
Version show request for both v2 and v2.1 (/v2 and /v2.1) does not
consider the CONF.osapi_compute_link_prefix for buidling links's href.
Above should prepare href using CONF.osapi_compute_link_prefix as done
for other links.
Previously functional tests of specific versions
were not present so it was not caught.
Closes-Bug: 1480009
Change-Id: I54a09d2c56efb0a05832e57313917177b770c8cb
Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.
This commit merges flavor all_extensions functional tests.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: I1ca95ec4fc11294a8b8d484f54503df14726c2e4
Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.
This commit merges virtual interface functional tests.
Previously there was no functional tests of virtual interface in v2.1.
There is difference between v2 and v2.1 as extension "OS-EXT-VIF-NET"
is missing in v2.1.
As v2,1 has been released in Kilo, it is too late to fix that difference
in v2.1 base. That fix will go with microversion -
I3caca80a6c010b86150909126f4545425ed99e11
Due to that sample files are different for v2 and v2.1.
In V2.1 os-access-ip is separate plugin where in v2 it was mixed in server
plugin itself. So os-access-ip extension is enabled to run
merged functional tests for both v2 and v2.1.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: I7097483cb57ed785b01fddb4f832e453f71987fd
Currently v2 and v2.1 have separate functional tests and their
corresponding sample files. As v2 and v2.1 are supposed to be identical,
there is overhead to maintain two set of functional tests and sample files.
We can have one set of tests which can run for both v2 and v2.1.
This commit merges server list multi status functional tests.
There was no test for this in v2.1 so merging these test in test_servers.
In V2.1 os-access-ip is separate plugin where in v2 it was mixed in server
plugin itself. So os-access-ip extension is enabled to run
merged functional tests for both v2 and v2.1.
Partially implements blueprint test-collapse-v2-and-v21
Change-Id: Ie3bc0f2dab96e642ac9b29a377bab7684a263819
We shouldn't require a microversion bump for translating a 500 error to
some 400-level error code since 500s should not be part of the API
contract and clients shouldn't expect them for cases that the client can
change, i.e. don't ask for things that don't exist, don't ask to do
things that raise quote and you're already maxed out, etc.
There was some confusion in the doc about the statement that a
microversion is needed when changing from a 501 to a 400, but that's a
different case (going from something not being implemented to it
suddenly being implemented - that's a case where the client should
opt-in and a microversion bump is required).
Not returning 500s is just fixing bugs and shouldn't require a
microversion, the docs even already say that in the first footnote -
this just adds notes to clarify.
Also fixes the links to the [1] footnote.
Change-Id: I4526a72458a23662bd8aaa7f89be32844a511929
Extension "OS-EXT-VIF-NET" is not ported to v2.1, due to that
there is difference between v2 and v2.1 as mentioned in bug#1470690.
But v2.1 extension-list has "OS-EXT-VIF-NET" extension which convey that
this extension is also loaded for v2.1 and user will get the expected response
according to "OS-EXT-VIF-NET" extension which is not true as this extension
is not actually ported to v2.1.
It is decided that fix for that difference should go in microversion not
in base v2.1 as it is already released.
This patch remove extension "OS-EXT-VIF-NET" from v2.1 extension-list which
will actually convey that this extension is missing in v2.1.
Partial-Bug: 1470690
Depends-On: I3caca80a6c010b86150909126f4545425ed99e11
Change-Id: Ic99ac1179d02d907422911fe1369b64479fd5f33
This patch move the all v2.1 api sample tests under
'functional/api_sample_tests'. Also move sample files under
'doc/api-samples'.
Co-Authored-By: Ed Leafe <ed@leafe.com>
Co-Authored-By: Alex Xu <hejie.xu@intel.com>
Partial-Bug: #1462901
Change-Id: I2b924f2ad7687a23a018a9b658e8acd9e04d7963
This patch moves legacy v2 api sample tests under
'nova/tests/functional/api_sample_tests/legacy_v2'
Also create new API sample test base class for matching new
path in 'nova/tests/functional/api_sample_tests/legacy_v2/ -
api_samples_test_base.py'
Change-Id: Ib455d4fc9d1f9a2a7e9a744f7e63086b3cf49c5e
Partial-Bug: #1462901
The old peer code review wiki has been replaced by the infra dev manual
for peer review, so update the link in our docs.
Change-Id: Ib84e2e10e32a2328d9252c86b539b1b40830761d
Whenever someone asks about v2 vs v2.1 vs v3 API and I point
to the docs, I also point to the Liberty summit session which
is good for new people to watch before trying to sort through
the docs and code, so add a link to the high-level section
of the docs.
Change-Id: I34d734454afcfdae3f874160dfd11662e61c2faa
Introducing new API call for changing the new flag state for forcing
nova-compute state. This is done via adding new forced_down field to the
Service objects and its check in timeout affected service groups drivers.
Blueprint mark-host-down
APIImpact
Change-Id: I39f1a84c100726f87a4dc464dd9922d66efdb53f
The docs had references to https://docs.openstack.org but this
website is http only. Connecting to the https address results in
an unable to connect error.
Replacing with http also makes it consistent with all other references
to docs.openstack.org.
Change-Id: I5367bb623aff33148cceadbdcb8df3550f655ed4
Administering an openstack cluster I found the need to see what keypairs a
user had. I found this bug that was requesting the same thing and decided
to implement it. This is the update to the api server to handle a query
param passed to return a keypair list for a specific user-id. Only a user
with admin privileges is allowed to make this call.
Allowing the administrators to be able to list and get details of keypairs
which owned by users other than themselves, as well as creating new and
deleting keypairs on behalf of their users.
DocImpact: This adds API microversion
Implements blueprint admin-query-any-keypair
APIImpact
UpgradeImpact: Policy rules of the index, create, delete and show
operations has been updated to support the change.
os_compute_api:os-keypairs:{index, show, create, delete}:
"rule:admin_api or user_id:%(user_id)s
Co-Authored-By: Dan Smith <dansmith@redhat.com>
Co-Authored-By: Dan Radez <dradez@redhat.com>
Closes-Bug: #1182965
Change-Id: I45846f770628e8f24a8c137dcdc46baa64c50801
Commit bd7e62f796 disabled the
autodoc_index_modules flag for building docs but it wasn't really
necessary, that change was just to get the module index out of the main
docs page.
We want to autodoc the modules so we can view the actual module index in
the tox -d docs build results, which also tells us if we have correct
ReST format in doc strings.
Notes
-----
1. Several doc string blocks have to be fixed as part of this to get
the docs tox job to pass.
2. A docstring in vhdutilsv2 is updated to remove the math directive
since that requires the sphinx.ext.pngmath extension which requires
latex and dvipng packages from the distro - which is overkill for
what the docstring was actually doing with the math directive.
3. We exclude autodoc for tests since we don't really care about
docstrings on unit tests.
4. We exclude the nova.wsgi.nova-* modules since those won't build with
autodoc since they can't be imported (there is no
nova/wsgi/__init__.py module). We could arguably add the __init__.py
but it's not really necessary for what those scripts are used for.
5. The sphinx.ext.ifconfig extension is removed since there are no docs
that use the ifconfig directive.
6. Update the developer docs to explicitly point out that graphviz must
be installed prior to running tox -e docs.
7. Hide doc/source/api/autoindex.rst from the toctree so that we don't
regress the point of commit bd7e62f796.
8. unused_docs and exclude_trees options are removed from conf.py since
they are deprecated in Sphinx 1.2.3:
https://github.com/sphinx-doc/sphinx/blob/1.2.3/sphinx/config.py#L54
9. Fix imports for moved libvirt volume options.
Closes-Bug: #1471934
Change-Id: I946e2f89f2c9fc70e870faaf84e4a8b0fc703344