There is difference in VIF list response for v2 and v2.1.
'net_id' attribute is not present in v2.1 VIF list response and
it was added as new microversion - Ic8b26df8d7e69bd71d23dfbc983fa3449c16fa7d
For v21 compatible mode we should have that attribute in response
to make v21 comp mode behaves same as v2.
Also VIF Extension "OS-EXT-VIF-NET" was removed from v2.1 ext list
in - Ic99ac1179d02d907422911fe1369b64479fd5f33
As we need to add 'OS-EXT-VIF-NET:net_id' in VIF
API response to make that same as v2 one. So ext list should have
"OS-EXT-VIF-NET" extension also to avoid any confusion for user whether
this extension is present for v21 comp mode or not.
This commit adds 'OS-EXT-VIF-NET:net_id' attribute in VIF list
response for v21 compatible mode.
Also adds VIF extension in ext list for v21 comp mode.
NOTE-There is no change in v2.1 API.
Closes-Bug #1496664
Change-Id: I4df76fbf85fbb1e79528a1690692b12a65f07835
This patch cleans up 'v3' in the comments, by replacing 'v3' with 'v2.1'.
Co-Authored-By: Ed Leafe <ed@leafe.com>
Partial-Bug: #1462901
Change-Id: Ia665115e4c8c94b8d7557060201469ea10673558
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
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
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
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
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
Adds a new microversion to show server 'locked' information in
server details.
DocImpact - See nova/api/openstack/rest_api_version_history.rst
for details
APIImpact
Implements blueprint add-locking-information-in-server-get-response
Depends-on: I5be664c3e99adc37738f8b074f1891dad97497b1
Change-Id: I3e5dc6e37f130f70e3a861a9906bb062c6110742
MKS is the native protocol for VMware consoles and this patch is adding
API support for it. For now there is only one console type for this
protocol and this is 'webmks'. A new microversion is introduced which
adds protocol 'mks' and type 'webmks' for requesting a remote console.
Example request:
POST /servers/<uuid>/remote-consoles
{
"remote_console": {
"protocol": "mks",
"type": "webmks"
}
}
Example response:
{
"remote_console": {
"protocol": "mks",
"type": "webmks",
"url": "http://example.com:6090/mks.html?token=XYZ"
}
}
APIImpact
Implements: blueprint vmware-webmks-console
Change-Id: I7217b999fb8d64a5646d8f20d7426c26553871d7
Currently we allow tenant access for public flavor, however,
we can't query it after that because flavor is public.
This patch adds check for add access function to raise exception
if the flavor is public.
Also, a nit change is use methods introduced in
793bcc07b9 to get flavor.
APIImpact: Adds new 2.7 API microversion due to new error condition
in flavor access API
Implements blueprint check-flavor-type-before-add-tenant
Closes-Bug: #1361476
Change-Id: I461175e9969a0dd5b2b7ef75ea7d9f36f3a306d0
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 password functional tests.
Previously there was no functional tests of server password in 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.
Change-Id: Ibdc443c1274c26b6816639f37e72725f1487454f
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 availability_zone functional tests.
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.
Also enabling some required extension for v2 tests.
Change-Id: I82e7011da212cb4699c4c19b95523a54a6c2f259
A new API is added with microversion 2.6:
POST /servers/<uuid>/remote-consoles
{
"remote_console": {
"protocol": ["vnc"|"rdp"|"serial"|"spice"],
"type": ["novnc"|"xpvnc"|"rdp-html5"|"spice-html5"|"serial"]
}
}
which supports all protocols and types for remote consoles.
Implements: blueprint consolidate-console-api
APIImpact
Change-Id: I175a778cede8fbeee9c47a502ab7a98f6d73c074
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 keypair functional tests.
Keypair has microversion v2.2. Their tests should not run for v2 code base.
So this commit also does the following to avoid running microversion tests
for v2:
- Override scenario in keypair v2.2 tests for microversion only not for v2 and v2.1
- Add logic in api_sample_base.py to run those tests on v2.1 code base.
Change-Id: Ifd39971625b035d817b2ccf0e5764682763acff9
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 scheduler_hints functional tests.
Change-Id: Ieef59465547b2bb4a76a98712ed5325286b2e3d9
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 security groups functional tests.
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.
Change-Id: I45bc8a6ab4b48bff6ed28b4c779b575252161ed1
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 preserve_ephemeral_rebuild functional tests.
Also verifying the response with sample file.
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.
Change-Id: Id4a2f6d27bb0c1f1930186f97af208a2b20fc542
Currently the command "nova list --ip6 xxx" will return all servers for
non-admins, as the filter option is silently discarded. There is no
reason to treat ip6 different from ip, though, so we add a new
microversion that will allow this filter to be applied.
APIImpact: Filtering by ip6 will now be allowed for non-admin
DocImpact: Filtering by ip6 will now be allowed for non-admin
Implements blueprint allow-ip6-search-for-non-admin
Partial-Bug: 1450859
Change-Id: I26a0b576636bd7e6b4dd7d53ded05907397d2f26
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 quota_sets functional tests.
In V2 quota has following extensions
- os-server-group-quotas
- os-quota-sets
- os-extended-quotas
- os-user-quotas
In V2.1, all the extensions from V2 are merged into os-quota-sets.
Change-Id: Ic54a5745608cec3fe7a5b035f232f3a04d2d1e77
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 servers rescue functional tests.
V2 has two extensions
- os-rescue
- os-extended-rescue-with-image
which are merged in single rescue plugins in v2.1
In rescue tests, enabling some more v2 extension which are required for
POST/GET sevrer.
Change-Id: I3a38b1a6cf21a3e5774e5704303ba64979c04e56
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 disk-config functional tests.
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.
Also enabling some required extension for v2 tests.
Change-Id: Ic13d5e67ec992936e3899904b8a7ec7e4488716f
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 config drive functional tests.
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 for server tests to run
merged functional tests for both v2 and v2.1.
Change-Id: I17d3a057f1cf97241ec7c259c6ce943e7523f0d9
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 hypervisor functional tests.
Also adding test for hypervisor servers.
In V2 hypervsior API has following extensions
- os-extended-hypervisors
- os-hypervisor-status
In V2.1 above extensions have been merged together in hypervisor plugins
Change-Id: I5ddf3c54dd80a67f71762769d6130db41e772b01
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 console_auth_tokens functional tests.
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.
Change-Id: If2a7d27f0c9d6bd6ffa4748aeb6b2f0a57f6f739
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 cloudpipe functional tests.
In V2 hypervsior API has following extensions
- os-cloudpipe
- os-cloudpipe-update
In V2.1 above extensions have been merged together in cloudpipe plugins
Change-Id: Idf76e584fc2ec9508d93edead48ffc90a8c25257