From 6c5dc1025d91ccb9119635d86f7d0f1e64280b1e Mon Sep 17 00:00:00 2001 From: spisarski Date: Thu, 13 Apr 2017 10:04:47 -0600 Subject: Ensuring each port manipulation test waits for the instance to become active The problem with OpenStack is that when one attempts to delete an instance that is still spawning, it can take an inordinate amount of time for OpenStack to complete the request resulting in artifacts being left. JIRA: SNAPS-64 Change-Id: I39f33291e650c00a8b5a40cb0051b99b71923acf Signed-off-by: spisarski --- snaps/openstack/create_instance.py | 3 ++- snaps/openstack/tests/create_instance_tests.py | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/snaps/openstack/create_instance.py b/snaps/openstack/create_instance.py index 793f4c7..12add1a 100644 --- a/snaps/openstack/create_instance.py +++ b/snaps/openstack/create_instance.py @@ -141,7 +141,8 @@ class OpenStackVmInstance: logger.info('Created instance with name - ' + self.instance_settings.name) if block: - self.vm_active(block=True) + if not self.vm_active(block=True): + raise Exception('Fatal error, VM did not become ACTIVE within the alloted time') # TODO - the call above should add security groups. The return object shows they exist but the association # had never been made by OpenStack. This call is here to ensure they have been added diff --git a/snaps/openstack/tests/create_instance_tests.py b/snaps/openstack/tests/create_instance_tests.py index 765def7..9fe5fef 100644 --- a/snaps/openstack/tests/create_instance_tests.py +++ b/snaps/openstack/tests/create_instance_tests.py @@ -919,7 +919,7 @@ class CreateInstancePortManipulationTests(OSIntegrationTestCase): self.inst_creator = OpenStackVmInstance(self.os_creds, instance_settings, self.image_creators[-1].image_settings) - self.inst_creator.create() + self.inst_creator.create(block=True) self.assertEquals(ip, self.inst_creator.get_port_ip( self.port_1_name, subnet_name=self.net_config.network_settings.subnet_settings[0].name)) @@ -955,7 +955,7 @@ class CreateInstancePortManipulationTests(OSIntegrationTestCase): self.inst_creator = OpenStackVmInstance(self.os_creds, instance_settings, self.image_creators[-1].image_settings) - self.inst_creator.create() + self.inst_creator.create(block=True) self.assertEquals(mac_addr, self.inst_creator.get_port_mac(self.port_1_name)) @@ -991,7 +991,7 @@ class CreateInstancePortManipulationTests(OSIntegrationTestCase): self.inst_creator = OpenStackVmInstance(self.os_creds, instance_settings, self.image_creators[-1].image_settings) - self.inst_creator.create() + self.inst_creator.create(block=True) self.assertEquals(ip, self.inst_creator.get_port_ip( self.port_1_name, subnet_name=self.net_config.network_settings.subnet_settings[0].name)) @@ -1012,7 +1012,7 @@ class CreateInstancePortManipulationTests(OSIntegrationTestCase): self.inst_creator = OpenStackVmInstance(self.os_creds, instance_settings, self.image_creators[-1].image_settings) - self.inst_creator.create() + self.inst_creator.create(block=True) port = self.inst_creator.get_port_by_name(port_settings.name) self.assertIsNotNone(port) -- cgit 1.2.3-korg