summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/create_instance.py
diff options
context:
space:
mode:
authorspisarski <s.pisarski@cablelabs.com>2017-05-16 13:57:26 -0600
committerspisarski <s.pisarski@cablelabs.com>2017-05-16 13:57:26 -0600
commit6fd1af82cd7bf41274c4e1620006004b79628759 (patch)
treee60a9f18c777892f5fe3cb0a8b279cc99b847e20 /snaps/openstack/create_instance.py
parentf57080bd2a6412c8fdc50c68111e780f6c36a360 (diff)
Ensure creators' constructors cannot raise exceptions.
While creating unit tests for vPing that is using SNAPS, exceptions can be raised when retrieving their respective OpenStack clients with incorrect credentials. Moved client retrieval to the create() method which one should expect exceptions to be raised. JIRA: SNAPS-81 Change-Id: Id8e4279f60b97704b25a89c6312dcf2ebdc3f459 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/create_instance.py')
-rw-r--r--snaps/openstack/create_instance.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/snaps/openstack/create_instance.py b/snaps/openstack/create_instance.py
index 9fa3232..e1e38a1 100644
--- a/snaps/openstack/create_instance.py
+++ b/snaps/openstack/create_instance.py
@@ -49,8 +49,8 @@ class OpenStackVmInstance:
"""
self.__os_creds = os_creds
- self.__nova = nova_utils.nova_client(self.__os_creds)
- self.__neutron = neutron_utils.neutron_client(self.__os_creds)
+ self.__nova = None
+ self.__neutron = None
self.instance_settings = instance_settings
self.image_settings = image_settings
@@ -74,16 +74,14 @@ class OpenStackVmInstance:
Additionally, when True, floating IPs will not be applied until VM is active.
:return: The VM reference object
"""
- try:
- self.__ports = self.__setup_ports(self.instance_settings.port_settings, cleanup)
- self.__lookup_existing_vm_by_name()
- if not self.__vm and not cleanup:
- self.__create_vm(block)
- return self.__vm
- except Exception as e:
- logger.exception('Error occurred while setting up instance')
- self.clean()
- raise e
+ self.__nova = nova_utils.nova_client(self.__os_creds)
+ self.__neutron = neutron_utils.neutron_client(self.__os_creds)
+
+ self.__ports = self.__setup_ports(self.instance_settings.port_settings, cleanup)
+ self.__lookup_existing_vm_by_name()
+ if not self.__vm and not cleanup:
+ self.__create_vm(block)
+ return self.__vm
def __lookup_existing_vm_by_name(self):
"""