Files
tempest/tempest/lib/api_schema/response/compute/v2_9/servers.py
Felipe Monteiro 00b3bd55d9 Add server schema for microversion 2.8
This commit adds servers schema for microversion 2.8 [0]:

Add ‘mks’ protocol and ‘webmks’ type for remote consoles.

The appropriate api_schema files are updated with the
2.8 microversion changes.

Note that no test is added to cover this new microversion
since it isn't possible to test mks protocol in Tempest
gates so as per REVIEWING documentation [1] we shouldn't
add such a test. So, we could only cover the vnc protocol
for 2.8 but this would also not be of much value since
the vnc value (instead of mks) would be returned by the
server.

[0] https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id7
[1] https://docs.openstack.org/tempest/latest/REVIEWING.html#ensuring-code-is-executed

partially-implements: blueprint full-schema-for-all-microversions
Change-Id: I5a6d2852db8e2a67013eee71a094e9b521a92524
2018-08-20 14:06:26 +00:00

57 lines
2.5 KiB
Python

# Copyright 2016 NEC Corporation. All rights reserved.
#
# 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_8 import servers
get_server = copy.deepcopy(servers.get_server)
get_server['response_body']['properties']['server'][
'properties'].update({'locked': {'type': 'boolean'}})
get_server['response_body']['properties']['server'][
'required'].append('locked')
list_servers_detail = copy.deepcopy(servers.list_servers_detail)
list_servers_detail['response_body']['properties']['servers']['items'][
'properties'].update({'locked': {'type': 'boolean'}})
list_servers_detail['response_body']['properties']['servers']['items'][
'required'].append('locked')
update_server = copy.deepcopy(servers.update_server)
update_server['response_body']['properties']['server'][
'properties'].update({'locked': {'type': 'boolean'}})
update_server['response_body']['properties']['server'][
'required'].append('locked')
rebuild_server = copy.deepcopy(servers.rebuild_server)
rebuild_server['response_body']['properties']['server'][
'properties'].update({'locked': {'type': 'boolean'}})
rebuild_server['response_body']['properties']['server'][
'required'].append('locked')
rebuild_server_with_admin_pass = copy.deepcopy(
servers.rebuild_server_with_admin_pass)
rebuild_server_with_admin_pass['response_body']['properties']['server'][
'properties'].update({'locked': {'type': 'boolean'}})
rebuild_server_with_admin_pass['response_body']['properties']['server'][
'required'].append('locked')
# NOTE: Below are the unchanged schema in this microversion. We need
# to keep this schema in this file to have the generic way to select the
# right schema based on self.schema_versions_info mapping in service client.
# ****** Schemas unchanged since microversion 2.8 ******
list_servers = copy.deepcopy(servers.list_servers)
show_server_diagnostics = copy.deepcopy(servers.show_server_diagnostics)
get_remote_consoles = copy.deepcopy(servers.get_remote_consoles)