Re-use stack_create method from base class
Change-Id: Icc46f6c61b2fa7974b39b76f2142f33bc50ae06b
diff --git a/scenario/test_server_cfn_init.py b/scenario/test_server_cfn_init.py
index 630e2e9..9d85120 100644
--- a/scenario/test_server_cfn_init.py
+++ b/scenario/test_server_cfn_init.py
@@ -30,7 +30,6 @@
self.sub_dir = 'templates'
def assign_keypair(self):
- self.stack_name = self._stack_rand_name()
if self.conf.keypair_name:
self.keypair = None
self.keypair_name = self.conf.keypair_name
@@ -40,7 +39,7 @@
def launch_stack(self):
net = self._get_default_network()
- self.parameters = {
+ parameters = {
'key_name': self.keypair_name,
'flavor': self.conf.instance_type,
'image': self.conf.image_ref,
@@ -49,19 +48,12 @@
}
# create the stack
- self.template = self._load_template(__file__, self.template_name,
- self.sub_dir)
- self.client.stacks.create(
- stack_name=self.stack_name,
- template=self.template,
- parameters=self.parameters)
+ template = self._load_template(__file__, self.template_name,
+ self.sub_dir)
+ return self.stack_create(template=template,
+ parameters=parameters)
- self.stack = self.client.stacks.get(self.stack_name)
- self.stack_identifier = '%s/%s' % (self.stack_name, self.stack.id)
- self.addCleanup(self._stack_delete, self.stack_identifier)
-
- def check_stack(self):
- sid = self.stack_identifier
+ def check_stack(self, sid):
self._wait_for_resource_status(
sid, 'WaitHandle', 'CREATE_COMPLETE')
self._wait_for_resource_status(
@@ -123,5 +115,5 @@
def test_server_cfn_init(self):
self.assign_keypair()
- self.launch_stack()
- self.check_stack()
+ sid = self.launch_stack()
+ self.check_stack(sid)
diff --git a/scenario/test_volumes.py b/scenario/test_volumes.py
index 9953648..6a80297 100644
--- a/scenario/test_volumes.py
+++ b/scenario/test_volumes.py
@@ -52,10 +52,8 @@
self.assertEqual(self.volume_description,
self._stack_output(stack, 'display_description'))
- def _create_stack(self, template_name, add_parameters={}):
- # TODO(shardy): refactor this into a generic base-class helper
+ def launch_stack(self, template_name, add_parameters={}):
net = self._get_default_network()
- stack_name = self._stack_rand_name()
template = self._load_template(__file__, template_name, 'templates')
parameters = {'key_name': self.keypair_name,
'instance_type': self.conf.instance_type,
@@ -64,18 +62,8 @@
'timeout': self.conf.build_timeout,
'network': net['id']}
parameters.update(add_parameters)
- ret_stack = self.client.stacks.create(
- stack_name=stack_name,
- template=template,
- parameters=parameters)
- stack_id = ret_stack['stack']['id']
- stack = self.client.stacks.get(stack_id)
- self.assertIsNotNone(stack)
- stack_identifier = '%s/%s' % (stack_name, stack.id)
-
- self.addCleanup(self._stack_delete, stack_identifier)
- self._wait_for_stack_status(stack_identifier, 'CREATE_COMPLETE')
- return stack, stack_identifier
+ return self.stack_create(template=template,
+ parameters=parameters)
@testcase.skip('Skipped until failure rate '
'can be reduced ref bug #1382300')
@@ -90,10 +78,12 @@
4. Create a new stack, where the volume is created from the backup
5. Verify the test data written in (1) is present in the new volume
"""
- stack, stack_identifier = self._create_stack(
+ stack_identifier = self.launch_stack(
template_name='test_volumes_delete_snapshot.yaml',
add_parameters={'volume_size': self.volume_size})
+ stack = self.client.stacks.get(stack_identifier)
+
# Verify with cinder that the volume exists, with matching details
volume_id = self._stack_output(stack, 'volume_id')
self._cinder_verify(volume_id, expected_status='in-use')
@@ -119,9 +109,10 @@
# Now, we create another stack where the volume is created from the
# backup created by the previous stack
try:
- stack2, stack_identifier2 = self._create_stack(
+ stack_identifier2 = self.launch_stack(
template_name='test_volumes_create_from_backup.yaml',
add_parameters={'backup_id': backup.id})
+ stack2 = self.client.stacks.get(stack_identifier2)
except exceptions.StackBuildErrorException as e:
LOG.error("Halting test due to bug: #1382300")
LOG.exception(e)