Merge "Added tests for Nova microversion v2.47"
This commit is contained in:
commit
8fde5658a8
@ -326,6 +326,10 @@ Microversion tests implemented in Tempest
|
||||
|
||||
.. _2.42: http://docs.openstack.org/developer/nova/api_microversion_history.html#maximum-in-ocata
|
||||
|
||||
* `2.47`_
|
||||
|
||||
.. _2.47: http://docs.openstack.org/developer/nova/api_microversion_history.html#id42
|
||||
|
||||
* Volume
|
||||
|
||||
* `3.3`_
|
||||
|
@ -22,6 +22,7 @@ from tempest.common import compute
|
||||
from tempest.common import waiters
|
||||
from tempest import config
|
||||
from tempest import exceptions
|
||||
from tempest.lib.common import api_version_request
|
||||
from tempest.lib.common import api_version_utils
|
||||
from tempest.lib.common.utils import data_utils
|
||||
from tempest.lib.common.utils import test_utils
|
||||
@ -202,6 +203,15 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
||||
"""
|
||||
if 'name' not in kwargs:
|
||||
kwargs['name'] = data_utils.rand_name(cls.__name__ + "-server")
|
||||
|
||||
request_version = api_version_request.APIVersionRequest(
|
||||
cls.request_microversion)
|
||||
v2_37_version = api_version_request.APIVersionRequest('2.37')
|
||||
|
||||
# NOTE(snikitin): since microversion v2.37 'networks' field is required
|
||||
if request_version >= v2_37_version and 'networks' not in kwargs:
|
||||
kwargs['networks'] = 'none'
|
||||
|
||||
tenant_network = cls.get_tenant_network()
|
||||
body, servers = compute.create_test_server(
|
||||
cls.os_primary,
|
||||
|
@ -134,3 +134,14 @@ class ServersTestJSON(base.BaseV2ComputeTest):
|
||||
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
|
||||
server = self.client.show_server(server['id'])['server']
|
||||
self.assertEqual('2001:2001::3', server['accessIPv6'])
|
||||
|
||||
|
||||
class ServerShowV247Test(base.BaseV2ComputeTest):
|
||||
min_microversion = '2.47'
|
||||
max_microversion = 'latest'
|
||||
|
||||
@decorators.idempotent_id('88b0bdb2-494c-11e7-a919-92ebcb67fe33')
|
||||
def test_show_server(self):
|
||||
server = self.create_test_server()
|
||||
# All fields will be checked by API schema
|
||||
self.servers_client.show_server(server['id'])
|
||||
|
39
tempest/lib/api_schema/response/compute/v2_47/servers.py
Normal file
39
tempest/lib/api_schema/response/compute/v2_47/servers.py
Normal file
@ -0,0 +1,39 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import copy
|
||||
|
||||
from tempest.lib.api_schema.response.compute.v2_26 import servers as servers226
|
||||
|
||||
flavor = {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'original_name': {'type': 'string'},
|
||||
'disk': {'type': 'integer'},
|
||||
'ephemeral': {'type': 'integer'},
|
||||
'ram': {'type': 'integer'},
|
||||
'swap': {'type': 'integer'},
|
||||
'vcpus': {'type': 'integer'},
|
||||
'extra_specs': {
|
||||
'type': 'object',
|
||||
'patternProperties': {
|
||||
'^[a-zA-Z0-9_\-\. :]+$': {'type': 'string'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'additionalProperties': False,
|
||||
'required': ['original_name', 'disk', 'ephemeral', 'ram', 'swap', 'vcpus']
|
||||
}
|
||||
|
||||
get_server = copy.deepcopy(servers226.get_server)
|
||||
get_server['response_body']['properties']['server'][
|
||||
'properties'].update({'flavor': flavor})
|
@ -27,6 +27,7 @@ from tempest.lib.api_schema.response.compute.v2_16 import servers as schemav216
|
||||
from tempest.lib.api_schema.response.compute.v2_19 import servers as schemav219
|
||||
from tempest.lib.api_schema.response.compute.v2_26 import servers as schemav226
|
||||
from tempest.lib.api_schema.response.compute.v2_3 import servers as schemav23
|
||||
from tempest.lib.api_schema.response.compute.v2_47 import servers as schemav247
|
||||
from tempest.lib.api_schema.response.compute.v2_6 import servers as schemav26
|
||||
from tempest.lib.api_schema.response.compute.v2_9 import servers as schemav29
|
||||
from tempest.lib.common import rest_client
|
||||
@ -43,7 +44,8 @@ class ServersClient(base_compute_client.BaseComputeClient):
|
||||
{'min': '2.9', 'max': '2.15', 'schema': schemav29},
|
||||
{'min': '2.16', 'max': '2.18', 'schema': schemav216},
|
||||
{'min': '2.19', 'max': '2.25', 'schema': schemav219},
|
||||
{'min': '2.26', 'max': None, 'schema': schemav226}]
|
||||
{'min': '2.26', 'max': '2.46', 'schema': schemav226},
|
||||
{'min': '2.47', 'max': None, 'schema': schemav247}]
|
||||
|
||||
def __init__(self, auth_provider, service, region,
|
||||
enable_instance_password=True, **kwargs):
|
||||
|
Loading…
x
Reference in New Issue
Block a user