summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/tests/create_stack_tests.py
diff options
context:
space:
mode:
authorspisarski <s.pisarski@cablelabs.com>2018-03-07 16:58:42 -0700
committerspisarski <s.pisarski@cablelabs.com>2018-03-13 07:45:22 -0600
commit95e5df0e17e947901b6360323006636d17312aa8 (patch)
tree84394641b3b840cc3ef490eeee8c862496d86ff4 /snaps/openstack/tests/create_stack_tests.py
parent6c60d13052ca1196333782edd4bf118ba25e0bda (diff)
Reverse engineer OpenStackHeatStack
Added support for obtaining an initialized OpenStackHeatStack object from an existing Stack object JIRA: SNAPS-278 Change-Id: I68cb0c85179868e4e3899b5516316dda3321e9f6 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/tests/create_stack_tests.py')
-rw-r--r--snaps/openstack/tests/create_stack_tests.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/snaps/openstack/tests/create_stack_tests.py b/snaps/openstack/tests/create_stack_tests.py
index f728211..6325b7a 100644
--- a/snaps/openstack/tests/create_stack_tests.py
+++ b/snaps/openstack/tests/create_stack_tests.py
@@ -35,6 +35,7 @@ import logging
import unittest
import uuid
+from snaps.openstack import create_stack
from snaps.openstack.create_stack import (
StackSettings, StackCreationError, StackError, OpenStackHeatStack)
from snaps.openstack.tests import openstack_tests, create_instance_tests
@@ -216,6 +217,12 @@ class CreateStackSuccessTests(OSIntegrationTestCase):
self.assertEqual(created_stack.id, retrieved_stack.id)
self.assertEqual(0, len(self.stack_creator.get_outputs()))
+ derived_creator = create_stack.generate_creator(
+ self.os_creds, retrieved_stack,
+ [self.image_creator.image_settings])
+ derived_stack = derived_creator.get_stack()
+ self.assertEqual(retrieved_stack, derived_stack)
+
def test_create_stack_short_timeout(self):
"""
Tests the creation of an OpenStack stack from Heat template file.
@@ -510,6 +517,39 @@ class CreateStackFloatingIpTests(OSIntegrationTestCase):
vm_settings = vm_inst_creator.instance_settings
self.assertEqual(0, len(vm_settings.floating_ip_settings))
+ def test_connect_via_ssh_heat_vm_derived(self):
+ """
+ Tests the the retrieval of two VM instance creators from a derived
+ OpenStackHeatStack object and attempt to connect via
+ SSH to the first one with a floating IP.
+ """
+ stack_settings = StackConfig(
+ name=self.__class__.__name__ + '-' + str(self.guid) + '-stack',
+ template_path=self.heat_tmplt_path,
+ env_values=self.env_values)
+ self.stack_creator = OpenStackHeatStack(
+ self.os_creds, stack_settings,
+ [self.image_creator.image_settings])
+ created_stack = self.stack_creator.create()
+ self.assertIsNotNone(created_stack)
+
+ derived_stack = create_stack.generate_creator(
+ self.os_creds, created_stack,
+ [self.image_creator.image_settings])
+
+ self.vm_inst_creators = derived_stack.get_vm_inst_creators(
+ heat_keypair_option='private_key')
+ self.assertIsNotNone(self.vm_inst_creators)
+ self.assertEqual(2, len(self.vm_inst_creators))
+
+ for vm_inst_creator in self.vm_inst_creators:
+ if vm_inst_creator.get_vm_inst().name == self.vm_inst1_name:
+ self.assertTrue(
+ create_instance_tests.validate_ssh_client(vm_inst_creator))
+ else:
+ vm_settings = vm_inst_creator.instance_settings
+ self.assertEqual(0, len(vm_settings.floating_ip_settings))
+
class CreateStackNestedResourceTests(OSIntegrationTestCase):
"""