Merge "Avoid duplicate server creation in rebuild test"
diff --git a/tempest/api/compute/servers/test_server_actions.py b/tempest/api/compute/servers/test_server_actions.py
index 7afd9c2..3e54bf6 100644
--- a/tempest/api/compute/servers/test_server_actions.py
+++ b/tempest/api/compute/servers/test_server_actions.py
@@ -838,25 +838,16 @@
@classmethod
def resource_setup(cls):
super(ServerActionsV293TestJSON, cls).resource_setup()
- cls.server_id = cls.recreate_server(None, validatable=True)
+ cls.server_id = cls.recreate_server(None, volume_backed=True,
+ validatable=True)
@utils.services('volume')
@decorators.idempotent_id('6652dab9-ea24-4c93-ab5a-93d79c3041cf')
def test_rebuild_volume_backed_server(self):
"""Test rebuilding a volume backed server"""
- # We have to create a new server that is volume-backed since the one
- # from setUp is not volume-backed.
- kwargs = {'volume_backed': True,
- 'wait_until': 'ACTIVE'}
- validation_resources = {}
- if CONF.validation.run_validation:
- validation_resources = self.get_test_validation_resources(
- self.os_primary)
- kwargs.update({'validatable': True,
- 'validation_resources': validation_resources})
- server = self.create_test_server(**kwargs)
- server = self.servers_client.show_server(server['id'])['server']
- self.addCleanup(self.delete_server, server['id'])
+ self.validation_resources = self.get_class_validation_resources(
+ self.os_primary)
+ server = self.servers_client.show_server(self.server_id)['server']
volume_id = server['os-extended-volumes:volumes_attached'][0]['id']
volume_before_rebuild = self.volumes_client.show_volume(volume_id)
image_before_rebuild = (
@@ -872,10 +863,10 @@
# ~/.ssh/ (if allowed).
# 4.Plain username/password auth, if a password was given.
linux_client = remote_client.RemoteClient(
- self.get_server_ip(server, validation_resources),
+ self.get_server_ip(server, self.validation_resources),
self.ssh_user,
password=None,
- pkey=validation_resources['keypair']['private_key'],
+ pkey=self.validation_resources['keypair']['private_key'],
server=server,
servers_client=self.servers_client)
output = linux_client.exec_command('touch test_file')
@@ -925,10 +916,10 @@
# ~/.ssh/ (if allowed).
# 4.Plain username/password auth, if a password was given.
linux_client = remote_client.RemoteClient(
- self.get_server_ip(rebuilt_server, validation_resources),
+ self.get_server_ip(rebuilt_server, self.validation_resources),
self.ssh_alt_user,
password,
- validation_resources['keypair']['private_key'],
+ self.validation_resources['keypair']['private_key'],
server=rebuilt_server,
servers_client=self.servers_client)
linux_client.validate_authentication()