Merge "Return complete response from servers_client"

This commit is contained in:
Jenkins 2015-09-14 18:20:47 +00:00 committed by Gerrit Code Review
commit ab7d1e3641
31 changed files with 180 additions and 159 deletions

View File

@ -223,5 +223,5 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
server = self.create_test_server(name=server_name,
availability_zone=az_name,
wait_until='ACTIVE')
body = admin_servers_client.show_server(server['id'])
body = admin_servers_client.show_server(server['id'])['server']
self.assertEqual(self.host, body[self._host_key])

View File

@ -38,7 +38,7 @@ class FixedIPsTestJson(base.BaseV2ComputeAdminTest):
def resource_setup(cls):
super(FixedIPsTestJson, cls).resource_setup()
server = cls.create_test_server(wait_until='ACTIVE')
server = cls.servers_client.show_server(server['id'])
server = cls.servers_client.show_server(server['id'])['server']
for ip_set in server['addresses']:
for ip in server['addresses'][ip_set]:
if ip['OS-EXT-IPS:type'] == 'fixed':

View File

@ -40,7 +40,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest):
def resource_setup(cls):
super(FixedIPsNegativeTestJson, cls).resource_setup()
server = cls.create_test_server(wait_until='ACTIVE')
server = cls.servers_client.show_server(server['id'])
server = cls.servers_client.show_server(server['id'])['server']
for ip_set in server['addresses']:
for ip in server['addresses'][ip_set]:
if ip['OS-EXT-IPS:type'] == 'fixed':

View File

@ -49,7 +49,7 @@ class LiveBlockMigrationTestJSON(base.BaseV2ComputeAdminTest):
]
def _get_server_details(self, server_id):
body = self.admin_servers_client.show_server(server_id)
body = self.admin_servers_client.show_server(server_id)['server']
return body
def _get_host_for_server(self, server_id):

View File

@ -66,7 +66,7 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
# Reset server's state to 'active'
self.client.reset_state(self.s1_id, state='active')
# Verify server's state
server = self.client.show_server(self.s1_id)
server = self.client.show_server(self.s1_id)['server']
self.assertEqual(server['status'], 'ACTIVE')
servers = body['servers']
# Verify error server in list result
@ -112,11 +112,11 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
network = self.get_tenant_network()
network_kwargs = fixed_network.set_networks_kwarg(network)
test_server = self.client.create_server(name, image_id, flavor,
**network_kwargs)
**network_kwargs)['server']
self.addCleanup(self.client.delete_server, test_server['id'])
waiters.wait_for_server_status(self.client,
test_server['id'], 'ACTIVE')
server = self.client.show_server(test_server['id'])
server = self.client.show_server(test_server['id'])['server']
self.assertEqual(server['status'], 'ACTIVE')
hostname = server[self._host_key]
params = {'host': hostname}
@ -135,14 +135,14 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
self.client.reset_state(self.s1_id)
# Verify server's state
server = self.client.show_server(self.s1_id)
server = self.client.show_server(self.s1_id)['server']
self.assertEqual(server['status'], 'ERROR')
# Reset server's state to 'active'
self.client.reset_state(self.s1_id, state='active')
# Verify server's state
server = self.client.show_server(self.s1_id)
server = self.client.show_server(self.s1_id)['server']
self.assertEqual(server['status'], 'ACTIVE')
@decorators.skip_because(bug="1240043")
@ -164,7 +164,7 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
# resetting vm state require admin privilege
self.client.reset_state(self.s1_id, state='error')
rebuilt_server = self.non_admin_client.rebuild_server(
self.s1_id, self.image_ref_alt)
self.s1_id, self.image_ref_alt)['server']
self.addCleanup(waiters.wait_for_server_status, self.non_admin_client,
self.s1_id, 'ACTIVE')
self.addCleanup(self.non_admin_client.rebuild_server, self.s1_id,
@ -179,7 +179,8 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
rebuilt_server['id'], 'ACTIVE',
raise_on_error=False)
# Verify the server properties after rebuilding
server = self.non_admin_client.show_server(rebuilt_server['id'])
server = (self.non_admin_client.show_server(rebuilt_server['id'])
['server'])
rebuilt_image_id = server['image']['id']
self.assertEqual(self.image_ref_alt, rebuilt_image_id)

View File

@ -189,7 +189,7 @@ class AttachInterfacesTestJSON(base.BaseV2ComputeTest):
self.client.add_fixed_ip(server['id'], networkId=network_id)
# Remove the fixed IP from server.
server_detail = self.os.servers_client.show_server(
server['id'])
server['id'])['server']
# Get the Fixed IP from server.
fixed_ip = None
for ip_set in server_detail['addresses']:

View File

@ -64,7 +64,8 @@ class ServersTestJSON(base.BaseV2ComputeTest):
personality=personality,
disk_config=disk_config)
cls.password = cls.server_initial['adminPass']
cls.server = cls.client.show_server(cls.server_initial['id'])
cls.server = (cls.client.show_server(cls.server_initial['id'])
['server'])
def _create_net_subnet_ret_net_from_cidr(self, cidr):
name_net = data_utils.rand_name(self.__class__.__name__)
@ -185,7 +186,8 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.addCleanup(cleanup_server)
addresses = self.client.list_addresses(server_multi_nics['id'])
addresses = (self.client.list_addresses(server_multi_nics['id'])
['addresses'])
# We can't predict the ip addresses assigned to the server on networks.
# Sometimes the assigned addresses are ['19.80.0.2', '19.86.0.2'], at
@ -226,7 +228,8 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.addCleanup(cleanup_server)
addresses = self.client.list_addresses(server_multi_nics['id'])
addresses = (self.client.list_addresses(server_multi_nics['id'])
['addresses'])
addr = [addresses[net1['network']['name']][0]['addr'],
addresses[net2['network']['name']][0]['addr'],
@ -315,7 +318,7 @@ class ServersWithSpecificFlavorTestJSON(base.BaseV2ComputeAdminTest):
# Get partition number of server without extra specs.
server_no_eph_disk = self.client.show_server(
server_no_eph_disk['id'])
server_no_eph_disk['id'])['server']
linux_client = remote_client.RemoteClient(
self.get_server_ip(server_no_eph_disk),
self.ssh_user,
@ -333,7 +336,7 @@ class ServersWithSpecificFlavorTestJSON(base.BaseV2ComputeAdminTest):
flavor=flavor_with_eph_disk_id)
server_with_eph_disk = self.client.show_server(
server_with_eph_disk['id'])
server_with_eph_disk['id'])['server']
linux_client = remote_client.RemoteClient(
self.get_server_ip(server_with_eph_disk),
self.ssh_user,

View File

@ -150,7 +150,7 @@ class DeleteServersAdminTestJSON(base.BaseV2ComputeAdminTest):
server = self.create_test_server(wait_until='ACTIVE')
self.admin_client.reset_state(server['id'], state='error')
# Verify server's state
server = self.non_admin_client.show_server(server['id'])
server = self.non_admin_client.show_server(server['id'])['server']
self.assertEqual(server['status'], 'ERROR')
self.non_admin_client.delete_server(server['id'])
waiters.wait_for_server_termination(self.servers_client,

View File

@ -44,12 +44,12 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
cls.server_id = server['id']
def _update_server_with_disk_config(self, disk_config):
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
if disk_config != server['OS-DCF:diskConfig']:
server = self.client.update_server(self.server_id,
disk_config=disk_config)
server = self.client.update_server(
self.server_id, disk_config=disk_config)['server']
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual(disk_config, server['OS-DCF:diskConfig'])
@test.idempotent_id('bef56b09-2e8c-4883-a370-4950812f430e')
@ -59,13 +59,13 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
server = self.client.rebuild_server(self.server_id,
self.image_ref_alt,
disk_config='MANUAL')
disk_config='MANUAL')['server']
# Wait for the server to become active
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
# Verify the specified attributes are set correctly
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])
@test.idempotent_id('9c9fae77-4feb-402f-8450-bf1c8b609713')
@ -75,17 +75,17 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
server = self.client.rebuild_server(self.server_id,
self.image_ref_alt,
disk_config='AUTO')
disk_config='AUTO')['server']
# Wait for the server to become active
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
# Verify the specified attributes are set correctly
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual('AUTO', server['OS-DCF:diskConfig'])
def _get_alternative_flavor(self):
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
if server['flavor']['id'] == self.flavor_ref:
return self.flavor_ref_alt
@ -108,7 +108,7 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
self.client.confirm_resize_server(self.server_id)
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
self.assertEqual('AUTO', server['OS-DCF:diskConfig'])
@test.idempotent_id('693d16f3-556c-489a-8bac-3d0ca2490bad')
@ -127,7 +127,7 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
self.client.confirm_resize_server(self.server_id)
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])
@test.idempotent_id('5ef18867-358d-4de9-b3c9-94d4ba35742f')
@ -137,9 +137,9 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
# Update the disk_config attribute to manual
server = self.client.update_server(self.server_id,
disk_config='MANUAL')
disk_config='MANUAL')['server']
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
# Verify the disk_config attribute is set correctly
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])

View File

@ -38,7 +38,8 @@ class InstanceActionsTestJSON(base.BaseV2ComputeTest):
self.client.reboot_server(self.server_id, 'HARD')
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
body = self.client.list_instance_actions(self.server_id)
body = (self.client.list_instance_actions(self.server_id)
['instanceActions'])
self.assertTrue(len(body) == 2, str(body))
self.assertTrue(any([i for i in body if i['action'] == 'create']))
self.assertTrue(any([i for i in body if i['action'] == 'reboot']))
@ -46,7 +47,7 @@ class InstanceActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('aacc71ca-1d70-4aa5-bbf6-0ff71470e43c')
def test_get_instance_action(self):
# Get the action details of the provided server
body = self.client.get_instance_action(self.server_id,
self.request_id)
body = self.client.get_instance_action(
self.server_id, self.request_id)['instanceAction']
self.assertEqual(self.server_id, body['instance_uuid'])
self.assertEqual('create', body['action'])

View File

@ -274,7 +274,7 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
if not self.fixed_network_name:
msg = 'fixed_network_name needs to be configured to run this test'
raise self.skipException(msg)
self.s1 = self.client.show_server(self.s1['id'])
self.s1 = self.client.show_server(self.s1['id'])['server']
for addr_spec in self.s1['addresses'][self.fixed_network_name]:
ip = addr_spec['addr']
if addr_spec['version'] == 4:
@ -298,7 +298,7 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
if not self.fixed_network_name:
msg = 'fixed_network_name needs to be configured to run this test'
raise self.skipException(msg)
self.s1 = self.client.show_server(self.s1['id'])
self.s1 = self.client.show_server(self.s1['id'])['server']
addr_spec = self.s1['addresses'][self.fixed_network_name][0]
ip = addr_spec['addr'][0:-3]
if addr_spec['version'] == 4:

View File

@ -52,8 +52,8 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
self.__class__.server_id = server['id']
except Exception:
# Rebuild server if something happened to it during a test
self.__class__.server_id = self.rebuild_server(self.server_id,
validatable=True)
self.__class__.server_id = self.rebuild_server(
self.server_id, validatable=True)['server']
def tearDown(self):
self.server_check_teardown()
@ -87,7 +87,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
if CONF.validation.run_validation:
# Verify that the user can authenticate with the new password
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
linux_client = remote_client.RemoteClient(
self.get_server_ip(server),
self.ssh_user,
@ -97,7 +97,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
def _test_reboot_server(self, reboot_type):
if CONF.validation.run_validation:
# Get the time the server was last rebooted,
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
linux_client = remote_client.RemoteClient(
self.get_server_ip(server),
self.ssh_user,
@ -132,7 +132,8 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
self._test_reboot_server('SOFT')
def _rebuild_server_and_check(self, image_ref):
rebuilt_server = self.client.rebuild_server(self.server_id, image_ref)
rebuilt_server = (self.client.rebuild_server(self.server_id, image_ref)
['server'])
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
msg = ('Server was not rebuilt to the original image. '
'The original image: {0}. The current image: {1}'
@ -148,12 +149,13 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
personality = [{'path': 'rebuild.txt',
'contents': base64.b64encode(file_contents)}]
password = 'rebuildPassw0rd'
rebuilt_server = self.client.rebuild_server(self.server_id,
self.image_ref_alt,
name=new_name,
metadata=meta,
personality=personality,
adminPass=password)
rebuilt_server = self.client.rebuild_server(
self.server_id,
self.image_ref_alt,
name=new_name,
metadata=meta,
personality=personality,
adminPass=password)['server']
# If the server was rebuilt on a different image, restore it to the
# original image once the test ends
@ -169,7 +171,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
# Verify the server properties after the rebuild completes
waiters.wait_for_server_status(self.client,
rebuilt_server['id'], 'ACTIVE')
server = self.client.show_server(rebuilt_server['id'])
server = self.client.show_server(rebuilt_server['id'])['server']
rebuilt_image_id = server['image']['id']
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
self.assertEqual(new_name, server['name'])
@ -187,13 +189,14 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
def test_rebuild_server_in_stop_state(self):
# The server in stop state should be rebuilt using the provided
# image and remain in SHUTOFF state
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
old_image = server['image']['id']
new_image = (self.image_ref_alt
if old_image == self.image_ref else self.image_ref)
self.client.stop_server(self.server_id)
waiters.wait_for_server_status(self.client, self.server_id, 'SHUTOFF')
rebuilt_server = self.client.rebuild_server(self.server_id, new_image)
rebuilt_server = (self.client.rebuild_server(self.server_id, new_image)
['server'])
# If the server was rebuilt on a different image, restore it to the
# original image once the test ends
if self.image_ref_alt != self.image_ref:
@ -208,7 +211,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
# Verify the server properties after the rebuild completes
waiters.wait_for_server_status(self.client,
rebuilt_server['id'], 'SHUTOFF')
server = self.client.show_server(rebuilt_server['id'])
server = self.client.show_server(rebuilt_server['id'])['server']
rebuilt_image_id = server['image']['id']
self.assertEqual(new_image, rebuilt_image_id)
@ -232,7 +235,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
waiters.wait_for_server_status(self.client, self.server_id,
expected_status)
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
self.assertEqual(self.flavor_ref_alt, server['flavor']['id'])
if stop:
@ -269,7 +272,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
self.client.revert_resize_server(self.server_id)
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
self.assertEqual(self.flavor_ref, server['flavor']['id'])
@test.idempotent_id('b963d4f1-94b3-4c40-9e97-7b583f46e470')
@ -358,7 +361,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
def _get_output(self):
output = self.client.get_console_output(
self.server_id, 10).data
self.server_id, 10)['output']
self.assertTrue(output, "Console output was empty.")
lines = len(output.split('\n'))
self.assertEqual(lines, 10)
@ -387,7 +390,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
def _check_full_length_console_log():
output = self.client.get_console_output(server['id'],
None).data
None)['output']
self.assertTrue(output, "Console output was empty.")
lines = len(output.split('\n'))
@ -453,7 +456,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
waiters.wait_for_server_status(self.client, self.server_id,
'SHELVED_OFFLOADED')
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
image_name = server['name'] + '-shelved'
params = {'name': image_name}
images = self.images_client.list_images(**params)['images']
@ -475,7 +478,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
# Lock the server,try server stop(exceptions throw),unlock it and retry
self.client.lock_server(self.server_id)
self.addCleanup(self.client.unlock_server, self.server_id)
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
self.assertEqual(server['status'], 'ACTIVE')
# Locked server is not allowed to be stopped by non-admin user
self.assertRaises(lib_exc.Conflict,
@ -501,7 +504,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
console_types = ['novnc', 'xvpvnc']
for console_type in console_types:
body = self.client.get_vnc_console(self.server_id,
console_type)
console_type)['console']
self.assertEqual(console_type, body['type'])
self.assertNotEqual('', body['url'])
self._validate_url(body['url'])

View File

@ -45,7 +45,7 @@ class ServerAddressesTestJSON(base.BaseV2ComputeTest):
# All public and private addresses for
# a server should be returned
addresses = self.client.list_addresses(self.server['id'])
addresses = self.client.list_addresses(self.server['id'])['addresses']
# We do not know the exact network configuration, but an instance
# should at least have a single public or private address
@ -63,7 +63,7 @@ class ServerAddressesTestJSON(base.BaseV2ComputeTest):
# Providing a network type should filter
# the addresses return by that type
addresses = self.client.list_addresses(self.server['id'])
addresses = self.client.list_addresses(self.server['id'])['addresses']
# Once again we don't know the environment's exact network config,
# but the response for each individual network should be the same

View File

@ -34,12 +34,13 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
def setUp(self):
super(ServerMetadataTestJSON, self).setUp()
meta = {'key1': 'value1', 'key2': 'value2'}
self.client.set_server_metadata(self.server_id, meta)
self.client.set_server_metadata(self.server_id, meta)['metadata']
@test.idempotent_id('479da087-92b3-4dcf-aeb3-fd293b2d14ce')
def test_list_server_metadata(self):
# All metadata key/value pairs for a server should be returned
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
# Verify the expected metadata items are in the list
expected = {'key1': 'value1', 'key2': 'value2'}
@ -50,11 +51,13 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
# The server's metadata should be replaced with the provided values
# Create a new set of metadata for the server
req_metadata = {'meta2': 'data2', 'meta3': 'data3'}
self.client.set_server_metadata(self.server_id, req_metadata)
self.client.set_server_metadata(self.server_id,
req_metadata)['metadata']
# Verify the expected values are correct, and that the
# previous values have been removed
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
self.assertEqual(resp_metadata, req_metadata)
@test.idempotent_id('344d981e-0c33-4997-8a5d-6c1d803e4134')
@ -65,7 +68,8 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
self.client.update_server_metadata(self.server_id, meta)
# Verify the values have been updated to the proper values
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
expected = {'key1': 'alt1', 'key2': 'value2', 'key3': 'value3'}
self.assertEqual(expected, resp_metadata)
@ -75,14 +79,16 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
# passed
meta = {}
self.client.update_server_metadata(self.server_id, meta)
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
expected = {'key1': 'value1', 'key2': 'value2'}
self.assertEqual(expected, resp_metadata)
@test.idempotent_id('3043c57d-7e0e-49a6-9a96-ad569c265e6a')
def test_get_server_metadata_item(self):
# The value for a specific metadata key should be returned
meta = self.client.get_server_metadata_item(self.server_id, 'key2')
meta = self.client.get_server_metadata_item(self.server_id,
'key2')['meta']
self.assertEqual('value2', meta['key2'])
@test.idempotent_id('58c02d4f-5c67-40be-8744-d3fa5982eb1c')
@ -93,7 +99,8 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
self.client.set_server_metadata_item(self.server_id, 'nova', meta)
# Verify the meta item's value has been updated
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
expected = {'key1': 'value1', 'key2': 'value2', 'nova': 'alt'}
self.assertEqual(expected, resp_metadata)
@ -103,6 +110,7 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
self.client.delete_server_metadata_item(self.server_id, 'key1')
# Verify the metadata item has been removed
resp_metadata = self.client.list_server_metadata(self.server_id)
resp_metadata = (self.client.list_server_metadata(self.server_id)
['metadata'])
expected = {'key2': 'value2'}
self.assertEqual(expected, resp_metadata)

View File

@ -52,9 +52,9 @@ class ServersTestJSON(base.BaseV2ComputeTest):
wait_until='ACTIVE')
id2 = server['id']
self.assertNotEqual(id1, id2, "Did not create a new server")
server = self.client.show_server(id1)
server = self.client.show_server(id1)['server']
name1 = server['name']
server = self.client.show_server(id2)
server = self.client.show_server(id2)['server']
name2 = server['name']
self.assertEqual(name1, name2)
@ -68,7 +68,7 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.keypairs_client.list_keypairs()
server = self.create_test_server(key_name=key_name)
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual(key_name, server['key_name'])
def _update_server_name(self, server_id, status):
@ -80,7 +80,7 @@ class ServersTestJSON(base.BaseV2ComputeTest):
waiters.wait_for_server_status(self.client, server_id, status)
# Verify the name of the server has changed
server = self.client.show_server(server_id)
server = self.client.show_server(server_id)['server']
self.assertEqual(new_name, server['name'])
return server
@ -112,7 +112,7 @@ class ServersTestJSON(base.BaseV2ComputeTest):
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
# Verify the access addresses have been updated
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual('1.1.1.1', server['accessIPv4'])
self.assertEqual('::babe:202:202', server['accessIPv6'])
@ -121,5 +121,5 @@ class ServersTestJSON(base.BaseV2ComputeTest):
# Create a server without an IPv4 address(only IPv6 address).
server = self.create_test_server(accessIPv6='2001:2001::3')
waiters.wait_for_server_status(self.client, server['id'], 'ACTIVE')
server = self.client.show_server(server['id'])
server = self.client.show_server(server['id'])['server']
self.assertEqual('2001:2001::3', server['accessIPv6'])

View File

@ -476,7 +476,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.server_id,
'SHELVED')
server = self.client.show_server(self.server_id)
server = self.client.show_server(self.server_id)['server']
image_name = server['name'] + '-shelved'
params = {'name': image_name}
images = self.images_client.list_images(**params)['images']

View File

@ -64,7 +64,7 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
def resource_setup(cls):
super(AuthorizationTestJSON, cls).resource_setup()
server = cls.create_test_server(wait_until='ACTIVE')
cls.server = cls.client.show_server(server['id'])
cls.server = cls.client.show_server(server['id'])['server']
name = data_utils.rand_name('image')
body = cls.glance_client.create_image(name=name,

View File

@ -70,8 +70,8 @@ class AttachVolumeTestJSON(base.BaseV2ComputeTest):
adminPass=admin_pass)
# Record addresses so that we can ssh later
self.server['addresses'] = (
self.servers_client.list_addresses(self.server['id']))
self.server['addresses'] = self.servers_client.list_addresses(
self.server['id'])['addresses']
# Create a volume and wait for it to become ready
self.volume = self.volumes_client.create_volume(
@ -84,7 +84,7 @@ class AttachVolumeTestJSON(base.BaseV2ComputeTest):
self.attachment = self.servers_client.attach_volume(
self.server['id'],
volumeId=self.volume['id'],
device='/dev/%s' % self.device)
device='/dev/%s' % self.device)['volumeAttachment']
self.volumes_client.wait_for_volume_status(self.volume['id'], 'in-use')
self.addCleanup(self._detach, self.server['id'], self.volume['id'])
@ -139,14 +139,14 @@ class AttachVolumeTestJSON(base.BaseV2ComputeTest):
self._create_and_attach()
# List Volume attachment of the server
body = self.servers_client.list_volume_attachments(
self.server['id'])
self.server['id'])['volumeAttachments']
self.assertEqual(1, len(body))
self.assertIn(self.attachment, body)
# Get Volume attachment of the server
body = self.servers_client.get_volume_attachment(
self.server['id'],
self.attachment['id'])
self.attachment['id'])['volumeAttachment']
self.assertEqual(self.server['id'], body['serverId'])
self.assertEqual(self.volume['id'], body['volumeId'])
self.assertEqual(self.attachment['id'], body['id'])

View File

@ -87,7 +87,7 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
server_id = body['physical_resource_id']
LOG.debug('Console output for %s', server_id)
output = cls.servers_client.get_console_output(
server_id, None).data
server_id, None)['output']
LOG.debug(output)
raise e
@ -184,7 +184,7 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
def test_created_server(self):
"""Verifies created sever."""
server_id = self.test_resources.get('Server')['physical_resource_id']
server = self.servers_client.show_server(server_id)
server = self.servers_client.show_server(server_id)['server']
self.assertEqual(self.keypair_name, server['key_name'])
self.assertEqual('ACTIVE', server['status'])
network = server['addresses'][self.neutron_basic_template['resources'][

View File

@ -457,7 +457,7 @@ class JavelinCheck(unittest.TestCase):
found,
"Couldn't find expected server %s" % server['name'])
found = client.servers.show_server(found['id'])
found = client.servers.show_server(found['id'])['server']
# validate neutron is enabled and ironic disabled:
if (CONF.service_available.neutron and
not CONF.baremetal.driver_enabled):
@ -869,7 +869,7 @@ def create_servers(servers):
kwargs['networks'] = [{'uuid': get_net_id(network)}
for network in server['networks']]
body = client.servers.create_server(
server['name'], image_id, flavor_id, **kwargs)
server['name'], image_id, flavor_id, **kwargs)['server']
server_id = body['id']
client.servers.wait_for_server_status(server_id, 'ACTIVE')
# create security group(s) after server spawning

View File

@ -18,6 +18,7 @@ from oslo_utils import excutils
from tempest_lib.common.utils import data_utils
from tempest.common import fixed_network
from tempest.common import service_client
from tempest.common import waiters
from tempest import config
@ -88,12 +89,15 @@ def create_test_server(clients, validatable=False, validation_resources=None,
**kwargs)
# handle the case of multiple servers
servers = [body]
servers = []
if 'min_count' in kwargs or 'max_count' in kwargs:
# Get servers created which name match with name param.
body_servers = clients.servers_client.list_servers()
servers = \
[s for s in body_servers['servers'] if s['name'].startswith(name)]
else:
body = service_client.ResponseBody(body.response, body['server'])
servers = [body]
# The name of the method to associate a floating IP to as server is too
# long for PEP8 compliance so:

View File

@ -34,7 +34,7 @@ def wait_for_server_status(client, server_id, status, ready_wait=True,
# NOTE(afazekas): UNKNOWN status possible on ERROR
# or in a very early stage.
body = client.show_server(server_id)
body = client.show_server(server_id)['server']
old_status = server_status = body['status']
old_task_state = task_state = _get_task_state(body)
start_time = int(time.time())
@ -61,7 +61,7 @@ def wait_for_server_status(client, server_id, status, ready_wait=True,
return
time.sleep(client.build_interval)
body = client.show_server(server_id)
body = client.show_server(server_id)['server']
server_status = body['status']
task_state = _get_task_state(body)
if (server_status != old_status) or (task_state != old_task_state):
@ -102,7 +102,7 @@ def wait_for_server_termination(client, server_id, ignore_error=False):
start_time = int(time.time())
while True:
try:
body = client.show_server(server_id)
body = client.show_server(server_id)['server']
except lib_exc.NotFound:
return

View File

@ -179,7 +179,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
LOG.debug("Creating a server (name: %s, image: %s, flavor: %s)",
name, image, flavor)
server = self.servers_client.create_server(name, image, flavor,
**create_kwargs)
**create_kwargs)['server']
if wait_on_delete:
self.addCleanup(waiters.wait_for_server_termination,
self.servers_client,
@ -197,7 +197,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
# The instance retrieved on creation is missing network
# details, necessitating retrieval after it becomes active to
# ensure correct details.
server = self.servers_client.show_server(server['id'])
server = self.servers_client.show_server(server['id'])['server']
self.assertEqual(server['name'], name)
return server
@ -400,7 +400,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
servers = servers['servers']
for server in servers:
console_output = self.servers_client.get_console_output(
server['id'], length=None).data
server['id'], length=None)['output']
LOG.debug('Console output for %s\nbody=\n%s',
server['id'], console_output)
@ -450,7 +450,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
def nova_volume_attach(self):
volume = self.servers_client.attach_volume(
self.server['id'], volumeId=self.volume['id'], device='/dev/%s'
% CONF.compute.volume_device_name)
% CONF.compute.volume_device_name)['volumeAttachment']
self.assertEqual(self.volume['id'], volume['id'])
self.volumes_client.wait_for_volume_status(volume['id'], 'in-use')
# Refresh the volume after the attachment
@ -1278,7 +1278,8 @@ class BaremetalScenarioTest(ScenarioTest):
waiters.wait_for_server_status(self.servers_client,
self.instance['id'], 'ACTIVE')
self.node = self.get_node(instance_id=self.instance['id'])
self.instance = self.servers_client.show_server(self.instance['id'])
self.instance = (self.servers_client.show_server(self.instance['id'])
['server'])
def terminate_instance(self):
self.servers_client.delete_server(self.instance['id'])

View File

@ -62,7 +62,8 @@ class TestMinimumBasicScenario(manager.ScenarioTest):
self.assertIn(self.server['id'], [x['id'] for x in servers])
def nova_show(self):
got_server = self.servers_client.show_server(self.server['id'])
got_server = (self.servers_client.show_server(self.server['id'])
['server'])
excluded_keys = ['OS-EXT-AZ:availability_zone']
# Exclude these keys because of LP:#1486475
excluded_keys.extend(['OS-EXT-STS:power_state', 'updated'])
@ -98,7 +99,8 @@ class TestMinimumBasicScenario(manager.ScenarioTest):
self.server['id'], secgroup['name'])
def wait_for_secgroup_add():
body = self.servers_client.show_server(self.server['id'])
body = (self.servers_client.show_server(self.server['id'])
['server'])
return {'name': secgroup['name']} in body['security_groups']
if not test.call_until_true(wait_for_secgroup_add,

View File

@ -81,19 +81,22 @@ class TestServerAdvancedOps(manager.ScenarioTest):
self.servers_client.suspend_server(instance_id)
waiters.wait_for_server_status(self.servers_client, instance_id,
'SUSPENDED')
fetched_instance = self.servers_client.show_server(instance_id)
fetched_instance = (self.servers_client.show_server(instance_id)
['server'])
LOG.debug("Resuming instance %s. Current status: %s",
instance_id, fetched_instance['status'])
self.servers_client.resume_server(instance_id)
waiters.wait_for_server_status(self.servers_client, instance_id,
'ACTIVE')
fetched_instance = self.servers_client.show_server(instance_id)
fetched_instance = (self.servers_client.show_server(instance_id)
['server'])
LOG.debug("Suspending instance %s. Current status: %s",
instance_id, fetched_instance['status'])
self.servers_client.suspend_server(instance_id)
waiters.wait_for_server_status(self.servers_client, instance_id,
'SUSPENDED')
fetched_instance = self.servers_client.show_server(instance_id)
fetched_instance = (self.servers_client.show_server(instance_id)
['server'])
LOG.debug("Resuming instance %s. Current status: %s",
instance_id, fetched_instance['status'])
self.servers_client.resume_server(instance_id)

View File

@ -106,7 +106,7 @@ class TestStampPattern(manager.ScenarioTest):
def _attach_volume(self, server, volume):
attached_volume = self.servers_client.attach_volume(
server['id'], volumeId=volume['id'], device='/dev/%s'
% CONF.compute.volume_device_name)
% CONF.compute.volume_device_name)['volumeAttachment']
self.assertEqual(volume['id'], attached_volume['id'])
self._wait_for_volume_status(attached_volume, 'in-use')

View File

@ -95,7 +95,7 @@ class ServersClient(service_client.ServiceClient):
else:
create_schema = schema.create_server
self.validate_response(create_schema, resp, body)
return service_client.ResponseBody(resp, body['server'])
return service_client.ResponseBody(resp, body)
def update_server(self, server_id, **kwargs):
"""Updates the properties of an existing server.
@ -110,14 +110,14 @@ class ServersClient(service_client.ServiceClient):
resp, body = self.put("servers/%s" % server_id, post_body)
body = json.loads(body)
self.validate_response(schema.update_server, resp, body)
return service_client.ResponseBody(resp, body['server'])
return service_client.ResponseBody(resp, body)
def show_server(self, server_id):
"""Returns the details of an existing server."""
resp, body = self.get("servers/%s" % server_id)
body = json.loads(body)
self.validate_response(schema.get_server, resp, body)
return service_client.ResponseBody(resp, body['server'])
return service_client.ResponseBody(resp, body)
def delete_server(self, server_id):
"""Deletes the given server."""
@ -147,7 +147,7 @@ class ServersClient(service_client.ServiceClient):
resp, body = self.get("servers/%s/ips" % server_id)
body = json.loads(body)
self.validate_response(schema.list_addresses, resp, body)
return service_client.ResponseBody(resp, body['addresses'])
return service_client.ResponseBody(resp, body)
def list_addresses_by_network(self, server_id, network_id):
"""Lists all addresses of a specific network type for a server."""
@ -157,30 +157,27 @@ class ServersClient(service_client.ServiceClient):
self.validate_response(schema.list_addresses_by_network, resp, body)
return service_client.ResponseBody(resp, body)
def action(self, server_id, action_name, response_key,
def action(self, server_id, action_name,
schema=schema.server_actions_common_schema,
response_class=service_client.ResponseBody, **kwargs):
**kwargs):
post_body = json.dumps({action_name: kwargs})
resp, body = self.post('servers/%s/action' % server_id,
post_body)
if response_key is not None:
if body:
body = json.loads(body)
self.validate_response(schema, resp, body)
body = body[response_key]
else:
self.validate_response(schema, resp, body)
return response_class(resp, body)
self.validate_response(schema, resp, body)
return service_client.ResponseBody(resp, body)
def create_backup(self, server_id, backup_type, rotation, name):
"""Backup a server instance."""
return self.action(server_id, "createBackup", None,
return self.action(server_id, "createBackup",
backup_type=backup_type,
rotation=rotation,
name=name)
def change_password(self, server_id, adminPass):
"""Changes the root password for the server."""
return self.action(server_id, 'changePassword', None,
return self.action(server_id, 'changePassword',
adminPass=adminPass)
def get_password(self, server_id):
@ -204,7 +201,7 @@ class ServersClient(service_client.ServiceClient):
def reboot_server(self, server_id, reboot_type):
"""Reboots a server."""
return self.action(server_id, 'reboot', None, type=reboot_type)
return self.action(server_id, 'reboot', type=reboot_type)
def rebuild_server(self, server_id, image_ref, **kwargs):
"""Rebuilds a server with a new image.
@ -219,7 +216,7 @@ class ServersClient(service_client.ServiceClient):
rebuild_schema = schema.rebuild_server_with_admin_pass
else:
rebuild_schema = schema.rebuild_server
return self.action(server_id, 'rebuild', 'server',
return self.action(server_id, 'rebuild',
rebuild_schema, **kwargs)
def resize_server(self, server_id, flavor_ref, **kwargs):
@ -231,23 +228,23 @@ class ServersClient(service_client.ServiceClient):
kwargs['flavorRef'] = flavor_ref
if 'disk_config' in kwargs:
kwargs['OS-DCF:diskConfig'] = kwargs.pop('disk_config')
return self.action(server_id, 'resize', None, **kwargs)
return self.action(server_id, 'resize', **kwargs)
def confirm_resize_server(self, server_id, **kwargs):
"""Confirms the flavor change for a server."""
return self.action(server_id, 'confirmResize',
None, schema.server_actions_confirm_resize,
schema.server_actions_confirm_resize,
**kwargs)
def revert_resize_server(self, server_id, **kwargs):
"""Reverts a server back to its original flavor."""
return self.action(server_id, 'revertResize', None, **kwargs)
return self.action(server_id, 'revertResize', **kwargs)
def list_server_metadata(self, server_id):
resp, body = self.get("servers/%s/metadata" % server_id)
body = json.loads(body)
self.validate_response(schema.list_server_metadata, resp, body)
return service_client.ResponseBody(resp, body['metadata'])
return service_client.ResponseBody(resp, body)
def set_server_metadata(self, server_id, meta, no_metadata_field=False):
if no_metadata_field:
@ -258,7 +255,7 @@ class ServersClient(service_client.ServiceClient):
post_body)
body = json.loads(body)
self.validate_response(schema.set_server_metadata, resp, body)
return service_client.ResponseBody(resp, body['metadata'])
return service_client.ResponseBody(resp, body)
def update_server_metadata(self, server_id, meta):
post_body = json.dumps({'metadata': meta})
@ -267,14 +264,14 @@ class ServersClient(service_client.ServiceClient):
body = json.loads(body)
self.validate_response(schema.update_server_metadata,
resp, body)
return service_client.ResponseBody(resp, body['metadata'])
return service_client.ResponseBody(resp, body)
def get_server_metadata_item(self, server_id, key):
resp, body = self.get("servers/%s/metadata/%s" % (server_id, key))
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return service_client.ResponseBody(resp, body['meta'])
return service_client.ResponseBody(resp, body)
def set_server_metadata_item(self, server_id, key, meta):
post_body = json.dumps({'meta': meta})
@ -283,7 +280,7 @@ class ServersClient(service_client.ServiceClient):
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return service_client.ResponseBody(resp, body['meta'])
return service_client.ResponseBody(resp, body)
def delete_server_metadata_item(self, server_id, key):
resp, body = self.delete("servers/%s/metadata/%s" %
@ -293,10 +290,10 @@ class ServersClient(service_client.ServiceClient):
return service_client.ResponseBody(resp, body)
def stop_server(self, server_id, **kwargs):
return self.action(server_id, 'os-stop', None, **kwargs)
return self.action(server_id, 'os-stop', **kwargs)
def start_server(self, server_id, **kwargs):
return self.action(server_id, 'os-start', None, **kwargs)
return self.action(server_id, 'os-start', **kwargs)
def attach_volume(self, server_id, **kwargs):
"""Attaches a volume to a server instance."""
@ -305,7 +302,7 @@ class ServersClient(service_client.ServiceClient):
post_body)
body = json.loads(body)
self.validate_response(schema.attach_volume, resp, body)
return service_client.ResponseBody(resp, body['volumeAttachment'])
return service_client.ResponseBody(resp, body)
def detach_volume(self, server_id, volume_id):
"""Detaches a volume from a server instance."""
@ -320,7 +317,7 @@ class ServersClient(service_client.ServiceClient):
server_id, attach_id))
body = json.loads(body)
self.validate_response(schema.get_volume_attachment, resp, body)
return service_client.ResponseBody(resp, body['volumeAttachment'])
return service_client.ResponseBody(resp, body)
def list_volume_attachments(self, server_id):
"""Returns the list of volume attachments for a given instance."""
@ -328,15 +325,15 @@ class ServersClient(service_client.ServiceClient):
server_id))
body = json.loads(body)
self.validate_response(schema.list_volume_attachments, resp, body)
return service_client.ResponseBodyList(resp, body['volumeAttachments'])
return service_client.ResponseBody(resp, body)
def add_security_group(self, server_id, name):
"""Adds a security group to the server."""
return self.action(server_id, 'addSecurityGroup', None, name=name)
return self.action(server_id, 'addSecurityGroup', name=name)
def remove_security_group(self, server_id, name):
"""Removes a security group from the server."""
return self.action(server_id, 'removeSecurityGroup', None, name=name)
return self.action(server_id, 'removeSecurityGroup', name=name)
def live_migrate_server(self, server_id, **kwargs):
"""This should be called with administrator privileges ."""
@ -350,53 +347,52 @@ class ServersClient(service_client.ServiceClient):
def migrate_server(self, server_id, **kwargs):
"""Migrates a server to a new host."""
return self.action(server_id, 'migrate', None, **kwargs)
return self.action(server_id, 'migrate', **kwargs)
def lock_server(self, server_id, **kwargs):
"""Locks the given server."""
return self.action(server_id, 'lock', None, **kwargs)
return self.action(server_id, 'lock', **kwargs)
def unlock_server(self, server_id, **kwargs):
"""UNlocks the given server."""
return self.action(server_id, 'unlock', None, **kwargs)
return self.action(server_id, 'unlock', **kwargs)
def suspend_server(self, server_id, **kwargs):
"""Suspends the provided server."""
return self.action(server_id, 'suspend', None, **kwargs)
return self.action(server_id, 'suspend', **kwargs)
def resume_server(self, server_id, **kwargs):
"""Un-suspends the provided server."""
return self.action(server_id, 'resume', None, **kwargs)
return self.action(server_id, 'resume', **kwargs)
def pause_server(self, server_id, **kwargs):
"""Pauses the provided server."""
return self.action(server_id, 'pause', None, **kwargs)
return self.action(server_id, 'pause', **kwargs)
def unpause_server(self, server_id, **kwargs):
"""Un-pauses the provided server."""
return self.action(server_id, 'unpause', None, **kwargs)
return self.action(server_id, 'unpause', **kwargs)
def reset_state(self, server_id, state='error'):
"""Resets the state of a server to active/error."""
return self.action(server_id, 'os-resetState', None, state=state)
return self.action(server_id, 'os-resetState', state=state)
def shelve_server(self, server_id, **kwargs):
"""Shelves the provided server."""
return self.action(server_id, 'shelve', None, **kwargs)
return self.action(server_id, 'shelve', **kwargs)
def unshelve_server(self, server_id, **kwargs):
"""Un-shelves the provided server."""
return self.action(server_id, 'unshelve', None, **kwargs)
return self.action(server_id, 'unshelve', **kwargs)
def shelve_offload_server(self, server_id, **kwargs):
"""Shelve-offload the provided server."""
return self.action(server_id, 'shelveOffload', None, **kwargs)
return self.action(server_id, 'shelveOffload', **kwargs)
def get_console_output(self, server_id, length):
kwargs = {'length': length} if length else {}
return self.action(server_id, 'os-getConsoleOutput', 'output',
return self.action(server_id, 'os-getConsoleOutput',
schema.get_console_output,
response_class=service_client.ResponseBodyData,
**kwargs)
def list_virtual_interfaces(self, server_id):
@ -411,14 +407,13 @@ class ServersClient(service_client.ServiceClient):
def rescue_server(self, server_id, **kwargs):
"""Rescue the provided server."""
return self.action(server_id, 'rescue', 'adminPass',
return self.action(server_id, 'rescue',
schema.rescue_server,
response_class=service_client.ResponseBodyData,
**kwargs)
def unrescue_server(self, server_id):
"""Unrescue the provided server."""
return self.action(server_id, 'unrescue', None)
return self.action(server_id, 'unrescue')
def get_server_diagnostics(self, server_id):
"""Get the usage data for a server."""
@ -431,7 +426,7 @@ class ServersClient(service_client.ServiceClient):
server_id)
body = json.loads(body)
self.validate_response(schema.list_instance_actions, resp, body)
return service_client.ResponseBodyList(resp, body['instanceActions'])
return service_client.ResponseBody(resp, body)
def get_instance_action(self, server_id, request_id):
"""Returns the action details of the provided server."""
@ -439,26 +434,26 @@ class ServersClient(service_client.ServiceClient):
(server_id, request_id))
body = json.loads(body)
self.validate_response(schema.get_instance_action, resp, body)
return service_client.ResponseBody(resp, body['instanceAction'])
return service_client.ResponseBody(resp, body)
def force_delete_server(self, server_id, **kwargs):
"""Force delete a server."""
return self.action(server_id, 'forceDelete', None, **kwargs)
return self.action(server_id, 'forceDelete', **kwargs)
def restore_soft_deleted_server(self, server_id, **kwargs):
"""Restore a soft-deleted server."""
return self.action(server_id, 'restore', None, **kwargs)
return self.action(server_id, 'restore', **kwargs)
def reset_network(self, server_id, **kwargs):
"""Resets the Network of a server"""
return self.action(server_id, 'resetNetwork', None, **kwargs)
return self.action(server_id, 'resetNetwork', **kwargs)
def inject_network_info(self, server_id, **kwargs):
"""Inject the Network Info into server"""
return self.action(server_id, 'injectNetworkInfo', None, **kwargs)
return self.action(server_id, 'injectNetworkInfo', **kwargs)
def get_vnc_console(self, server_id, console_type):
"""Get URL of VNC console."""
return self.action(server_id, "os-getVNCConsole",
"console", schema.get_vnc_console,
schema.get_vnc_console,
type=console_type)

View File

@ -30,7 +30,7 @@ class ServerCreateDestroyTest(stressaction.StressAction):
name = data_utils.rand_name("instance")
self.logger.info("creating %s" % name)
server = self.manager.servers_client.create_server(
name, self.image, self.flavor)
name, self.image, self.flavor)['server']
server_id = server['id']
waiters.wait_for_server_status(self.manager.servers_client, server_id,
'ACTIVE')

View File

@ -77,7 +77,7 @@ class FloatingStress(stressaction.StressAction):
vm_args['security_groups'] = [self.sec_grp]
server = servers_client.create_server(name, self.image,
self.flavor,
**vm_args)
**vm_args)['server']
self.server_id = server['id']
if self.wait_after_vm_create:
waiters.wait_for_server_status(self.manager.servers_client,

View File

@ -39,7 +39,7 @@ class VolumeAttachDeleteTest(stressaction.StressAction):
vm_name = data_utils.rand_name("instance")
self.logger.info("creating vm: %s" % vm_name)
server = self.manager.servers_client.create_server(
vm_name, self.image, self.flavor)
vm_name, self.image, self.flavor)['server']
server_id = server['id']
waiters.wait_for_server_status(self.manager.servers_client, server_id,
'ACTIVE')

View File

@ -41,7 +41,7 @@ class VolumeVerifyStress(stressaction.StressAction):
vm_args['key_name'] = self.key['name']
server = servers_client.create_server(name, self.image,
self.flavor,
**vm_args)
**vm_args)['server']
self.server_id = server['id']
waiters.wait_for_server_status(self.manager.servers_client,
self.server_id, 'ACTIVE')