Merge "Refactor volume_boot_pattern test"
This commit is contained in:
commit
113fc9fb26
@ -95,32 +95,17 @@ class TestVolumeBootPattern(manager.ScenarioTest):
|
|||||||
vol_name = data_utils.rand_name('volume')
|
vol_name = data_utils.rand_name('volume')
|
||||||
return self.create_volume(name=vol_name, snapshot_id=snap_id)
|
return self.create_volume(name=vol_name, snapshot_id=snap_id)
|
||||||
|
|
||||||
def _ssh_to_server(self, server, keypair):
|
def _get_server_ip(self, server):
|
||||||
if CONF.compute.use_floatingip_for_ssh:
|
if CONF.compute.use_floatingip_for_ssh:
|
||||||
ip = self.create_floating_ip(server)['ip']
|
ip = self.create_floating_ip(server)['ip']
|
||||||
else:
|
else:
|
||||||
ip = server
|
ip = server
|
||||||
|
return ip
|
||||||
return self.get_remote_client(ip, private_key=keypair['private_key'],
|
|
||||||
log_console_of_servers=[server])
|
|
||||||
|
|
||||||
def _get_content(self, ssh_client):
|
|
||||||
return ssh_client.exec_command('cat /tmp/text')
|
|
||||||
|
|
||||||
def _write_text(self, ssh_client):
|
|
||||||
text = data_utils.rand_name('text')
|
|
||||||
ssh_client.exec_command('echo "%s" > /tmp/text; sync' % (text))
|
|
||||||
|
|
||||||
return self._get_content(ssh_client)
|
|
||||||
|
|
||||||
def _delete_server(self, server):
|
def _delete_server(self, server):
|
||||||
self.servers_client.delete_server(server['id'])
|
self.servers_client.delete_server(server['id'])
|
||||||
waiters.wait_for_server_termination(self.servers_client, server['id'])
|
waiters.wait_for_server_termination(self.servers_client, server['id'])
|
||||||
|
|
||||||
def _check_content_of_written_file(self, ssh_client, expected):
|
|
||||||
actual = self._get_content(ssh_client)
|
|
||||||
self.assertEqual(expected, actual)
|
|
||||||
|
|
||||||
@test.idempotent_id('557cd2c2-4eb8-4dce-98be-f86765ff311b')
|
@test.idempotent_id('557cd2c2-4eb8-4dce-98be-f86765ff311b')
|
||||||
@test.attr(type='smoke')
|
@test.attr(type='smoke')
|
||||||
@test.services('compute', 'volume', 'image')
|
@test.services('compute', 'volume', 'image')
|
||||||
@ -134,9 +119,9 @@ class TestVolumeBootPattern(manager.ScenarioTest):
|
|||||||
keypair, security_group)
|
keypair, security_group)
|
||||||
|
|
||||||
# write content to volume on instance
|
# write content to volume on instance
|
||||||
ssh_client_for_instance_1st = self._ssh_to_server(instance_1st,
|
ip_instance_1st = self._get_server_ip(instance_1st)
|
||||||
keypair)
|
timestamp = self.create_timestamp(ip_instance_1st,
|
||||||
text = self._write_text(ssh_client_for_instance_1st)
|
private_key=keypair['private_key'])
|
||||||
|
|
||||||
# delete instance
|
# delete instance
|
||||||
self._delete_server(instance_1st)
|
self._delete_server(instance_1st)
|
||||||
@ -146,9 +131,10 @@ class TestVolumeBootPattern(manager.ScenarioTest):
|
|||||||
keypair, security_group)
|
keypair, security_group)
|
||||||
|
|
||||||
# check the content of written file
|
# check the content of written file
|
||||||
ssh_client_for_instance_2nd = self._ssh_to_server(instance_2nd,
|
ip_instance_2nd = self._get_server_ip(instance_2nd)
|
||||||
keypair)
|
timestamp2 = self.get_timestamp(ip_instance_2nd,
|
||||||
self._check_content_of_written_file(ssh_client_for_instance_2nd, text)
|
private_key=keypair['private_key'])
|
||||||
|
self.assertEqual(timestamp, timestamp2)
|
||||||
|
|
||||||
# snapshot a volume
|
# snapshot a volume
|
||||||
snapshot = self._create_snapshot_from_volume(volume_origin['id'])
|
snapshot = self._create_snapshot_from_volume(volume_origin['id'])
|
||||||
@ -160,8 +146,10 @@ class TestVolumeBootPattern(manager.ScenarioTest):
|
|||||||
keypair, security_group))
|
keypair, security_group))
|
||||||
|
|
||||||
# check the content of written file
|
# check the content of written file
|
||||||
ssh_client = self._ssh_to_server(instance_from_snapshot, keypair)
|
ip_instance_from_snapshot = self._get_server_ip(instance_from_snapshot)
|
||||||
self._check_content_of_written_file(ssh_client, text)
|
timestamp3 = self.get_timestamp(ip_instance_from_snapshot,
|
||||||
|
private_key=keypair['private_key'])
|
||||||
|
self.assertEqual(timestamp, timestamp3)
|
||||||
|
|
||||||
@test.idempotent_id('36c34c67-7b54-4b59-b188-02a2f458a63b')
|
@test.idempotent_id('36c34c67-7b54-4b59-b188-02a2f458a63b')
|
||||||
@test.services('compute', 'volume', 'image')
|
@test.services('compute', 'volume', 'image')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user