Merge "Stop sending underscores in header names to Swift"
diff --git a/tempest/api/compute/servers/test_server_actions.py b/tempest/api/compute/servers/test_server_actions.py
index c911039..ccbbd68 100644
--- a/tempest/api/compute/servers/test_server_actions.py
+++ b/tempest/api/compute/servers/test_server_actions.py
@@ -127,7 +127,7 @@
self.assertGreater(new_boot_time, boot_time,
'%s > %s' % (new_boot_time, boot_time))
- def _test_rebuild_server(self, server_id):
+ def _test_rebuild_server(self, server_id, **kwargs):
# Get the IPs the server has before rebuilding it
original_addresses = (self.client.show_server(server_id)['server']
['addresses'])
@@ -166,11 +166,17 @@
# 3.Any "id_rsa", "id_dsa" or "id_ecdsa" key discoverable in
# ~/.ssh/ (if allowed).
# 4.Plain username/password auth, if a password was given.
+
+ if 'validation_resources' in kwargs:
+ validation_resources = kwargs['validation_resources']
+ else:
+ validation_resources = self.validation_resources
+
linux_client = remote_client.RemoteClient(
- self.get_server_ip(rebuilt_server, self.validation_resources),
+ self.get_server_ip(rebuilt_server, validation_resources),
self.ssh_alt_user,
password,
- self.validation_resources['keypair']['private_key'],
+ validation_resources['keypair']['private_key'],
server=rebuilt_server,
servers_client=self.client)
linux_client.validate_authentication()
@@ -267,9 +273,13 @@
The server should be rebuilt using the provided image and data.
"""
tenant_network = self.get_tenant_network()
+ validation_resources = self.get_test_validation_resources(
+ self.os_primary)
_, servers = compute.create_test_server(
self.os_primary,
- wait_until='ACTIVE',
+ wait_until='SSHABLE',
+ validatable=True,
+ validation_resources=validation_resources,
tenant_network=tenant_network)
server = servers[0]
@@ -277,7 +287,9 @@
self.client, server['id'])
self.addCleanup(self.client.delete_server, server['id'])
- self._test_rebuild_server(server_id=server['id'])
+ self._test_rebuild_server(
+ server_id=server['id'],
+ validation_resources=validation_resources)
@decorators.idempotent_id('1499262a-9328-4eda-9068-db1ac57498d2')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
@@ -465,7 +477,9 @@
self.attach_volume(server, volume)
# run general rebuild test
- self._test_rebuild_server(server_id=server['id'])
+ self._test_rebuild_server(
+ server_id=server['id'],
+ validation_resources=validation_resources)
# make sure the volume is attached to the instance after rebuild
vol_after_rebuild = self.volumes_client.show_volume(volume['id'])
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index be2b2d6..57bc2e9 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -1199,14 +1199,15 @@
except (KeyError, IndexError):
return None
- def associate_floating_ip(self, floating_ip, server):
+ def associate_floating_ip(self, floating_ip, server, ip_addr=None,
+ **kwargs):
"""Associate floating ip to server
This wrapper utility attaches the floating_ip for
the respective port_id of server
"""
- port_id, _ = self.get_server_port_id_and_ip4(server)
- kwargs = dict(port_id=port_id)
+ port_id, _ = self.get_server_port_id_and_ip4(server, ip_addr=ip_addr)
+ kwargs.update({"port_id": port_id})
floating_ip = self.floating_ips_client.update_floatingip(
floating_ip['id'], **kwargs)['floatingip']
self.assertEqual(port_id, floating_ip['port_id'])