Don't obtain resources through stack.resources
A particular logical resource name can be looked up by subscripting the stack object directly. Change-Id: I621280318cfb104ab9bfe1ae7c31fe2b5e55cfc6
This commit is contained in:
parent
fa31873529
commit
ec29941bb8
|
@ -283,7 +283,7 @@ class Resource(object):
|
|||
value, att = value
|
||||
|
||||
try:
|
||||
target = self.stack.resources[value]
|
||||
target = self.stack[value]
|
||||
except KeyError:
|
||||
raise exception.InvalidTemplateReference(
|
||||
resource=value,
|
||||
|
|
|
@ -60,7 +60,7 @@ class User(resource.Resource):
|
|||
continue
|
||||
|
||||
try:
|
||||
policy_rsrc = self.stack.resources[policy]
|
||||
policy_rsrc = self.stack[policy]
|
||||
except KeyError:
|
||||
logger.error("Policy %s does not exist in stack %s" %
|
||||
(policy, self.stack.name))
|
||||
|
@ -124,7 +124,7 @@ class User(resource.Resource):
|
|||
logger.warning("Ignoring policy %s, " % policy
|
||||
+ "must be string resource name")
|
||||
continue
|
||||
policy_rsrc = self.stack.resources[policy]
|
||||
policy_rsrc = self.stack[policy]
|
||||
if not policy_rsrc.access_allowed(resource_name):
|
||||
return False
|
||||
return True
|
||||
|
|
|
@ -113,20 +113,20 @@ class AutoScalingTest(HeatTestCase):
|
|||
|
||||
def create_scaling_group(self, t, stack, resource_name):
|
||||
# create the launch configuration resource
|
||||
conf = stack.resources['LaunchConfig']
|
||||
conf = stack['LaunchConfig']
|
||||
self.assertEqual(None, conf.validate())
|
||||
scheduler.TaskRunner(conf.create)()
|
||||
self.assertEqual((conf.CREATE, conf.COMPLETE), conf.state)
|
||||
|
||||
# create the group resource
|
||||
rsrc = stack.resources[resource_name]
|
||||
rsrc = stack[resource_name]
|
||||
self.assertEqual(None, rsrc.validate())
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
|
||||
return rsrc
|
||||
|
||||
def create_scaling_policy(self, t, stack, resource_name):
|
||||
rsrc = stack.resources[resource_name]
|
||||
rsrc = stack[resource_name]
|
||||
self.assertEqual(None, rsrc.validate())
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
|
||||
|
@ -477,12 +477,12 @@ class AutoScalingTest(HeatTestCase):
|
|||
|
||||
self.m.ReplayAll()
|
||||
|
||||
conf = stack.resources['LaunchConfig']
|
||||
conf = stack['LaunchConfig']
|
||||
self.assertEqual(None, conf.validate())
|
||||
scheduler.TaskRunner(conf.create)()
|
||||
self.assertEqual((conf.CREATE, conf.COMPLETE), conf.state)
|
||||
|
||||
rsrc = stack.resources['WebServerGroup']
|
||||
rsrc = stack['WebServerGroup']
|
||||
self.assertEqual(None, rsrc.validate())
|
||||
self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(rsrc.create))
|
||||
|
@ -814,7 +814,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(2)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -848,7 +848,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_meta_expected(now, 'ExactCapacity : 2')
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -887,7 +887,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(2)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -941,7 +941,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_meta_expected(now, 'ExactCapacity : 2')
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -999,7 +999,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(2)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -1052,7 +1052,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Scale up one
|
||||
|
@ -1090,7 +1090,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(2)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0', 'WebServerGroup-1'],
|
||||
rsrc.get_instance_names())
|
||||
|
||||
|
@ -1123,7 +1123,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(1)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Scale up one
|
||||
|
@ -1179,7 +1179,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(1)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Scale up one
|
||||
|
@ -1238,7 +1238,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(1)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Create the scaling policy (with Cooldown=0) and scale up one
|
||||
|
@ -1297,7 +1297,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
self._stub_create(1)
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Create the scaling policy no Cooldown property, should behave the
|
||||
|
@ -1363,7 +1363,7 @@ class AutoScalingTest(HeatTestCase):
|
|||
|
||||
self.m.ReplayAll()
|
||||
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
|
||||
stack.resources['WebServerGroup'] = rsrc
|
||||
stack['WebServerGroup'] = rsrc
|
||||
self.assertEqual(['WebServerGroup-0'], rsrc.get_instance_names())
|
||||
|
||||
# Create initial scaling policy
|
||||
|
|
|
@ -217,18 +217,18 @@ class InstanceGroupTest(HeatTestCase):
|
|||
cookie).MultipleTimes().AndReturn(True)
|
||||
|
||||
def get_launch_conf_name(self, stack, ig_name):
|
||||
return stack.resources[ig_name].properties['LaunchConfigurationName']
|
||||
return stack[ig_name].properties['LaunchConfigurationName']
|
||||
|
||||
def test_parse_without_update_policy(self):
|
||||
tmpl = template_format.parse(asg_tmpl_without_updt_policy)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['WebServerGroup']
|
||||
grp = stack['WebServerGroup']
|
||||
self.assertFalse(grp.update_policy['AutoScalingRollingUpdate'])
|
||||
|
||||
def test_parse_with_update_policy(self):
|
||||
tmpl = template_format.parse(asg_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['WebServerGroup']
|
||||
grp = stack['WebServerGroup']
|
||||
self.assertTrue(grp.update_policy)
|
||||
self.assertTrue(len(grp.update_policy) == 1)
|
||||
self.assertTrue('AutoScalingRollingUpdate' in grp.update_policy)
|
||||
|
@ -241,7 +241,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
def test_parse_with_default_update_policy(self):
|
||||
tmpl = template_format.parse(asg_tmpl_with_default_updt_policy)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['WebServerGroup']
|
||||
grp = stack['WebServerGroup']
|
||||
self.assertTrue(grp.update_policy)
|
||||
self.assertTrue(len(grp.update_policy) == 1)
|
||||
self.assertTrue('AutoScalingRollingUpdate' in grp.update_policy)
|
||||
|
@ -263,7 +263,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
current_stack = utils.parse_stack(current_tmpl)
|
||||
|
||||
# get the json snippet for the current InstanceGroup resource
|
||||
current_grp = current_stack.resources['WebServerGroup']
|
||||
current_grp = current_stack['WebServerGroup']
|
||||
current_snippets = dict((r.name, r.parsed_template())
|
||||
for r in current_stack)
|
||||
current_grp_json = current_snippets[current_grp.name]
|
||||
|
@ -274,7 +274,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
|
||||
# get the updated json snippet for the InstanceGroup resource in the
|
||||
# context of the current stack
|
||||
updated_grp = updated_stack.resources['WebServerGroup']
|
||||
updated_grp = updated_stack['WebServerGroup']
|
||||
updated_grp_json = current_stack.resolve_runtime_data(updated_grp.t)
|
||||
|
||||
# identify the template difference
|
||||
|
@ -302,28 +302,28 @@ class InstanceGroupTest(HeatTestCase):
|
|||
# setup stack from the initial template
|
||||
tmpl = template_format.parse(asg_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
nested = stack.resources['WebServerGroup'].nested()
|
||||
nested = stack['WebServerGroup'].nested()
|
||||
|
||||
# test stack create
|
||||
# test the number of instance creation
|
||||
# test that physical resource name of launch configuration is used
|
||||
size = int(stack.resources['WebServerGroup'].properties['MinSize'])
|
||||
size = int(stack['WebServerGroup'].properties['MinSize'])
|
||||
self._stub_create(size)
|
||||
self.m.ReplayAll()
|
||||
stack.create()
|
||||
self.m.VerifyAll()
|
||||
self.assertEqual(stack.state, ('CREATE', 'COMPLETE'))
|
||||
conf = stack.resources['LaunchConfig']
|
||||
conf = stack['LaunchConfig']
|
||||
conf_name_pattern = '%s-LaunchConfig-[a-zA-Z0-9]+$' % stack.name
|
||||
regex_pattern = re.compile(conf_name_pattern)
|
||||
self.assertTrue(regex_pattern.match(conf.FnGetRefId()))
|
||||
nested = stack.resources['WebServerGroup'].nested()
|
||||
self.assertTrue(len(nested.resources), size)
|
||||
nested = stack['WebServerGroup'].nested()
|
||||
self.assertTrue(len(nested), size)
|
||||
|
||||
# test stack update
|
||||
# test that update policy is updated
|
||||
# test that launch configuration is replaced
|
||||
current_grp = stack.resources['WebServerGroup']
|
||||
current_grp = stack['WebServerGroup']
|
||||
self.assertTrue('AutoScalingRollingUpdate'
|
||||
in current_grp.update_policy)
|
||||
current_policy = current_grp.update_policy['AutoScalingRollingUpdate']
|
||||
|
@ -334,7 +334,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
updated_stack = utils.parse_stack(updated_tmpl)
|
||||
stack.update(updated_stack)
|
||||
self.assertEqual(stack.state, ('UPDATE', 'COMPLETE'))
|
||||
updated_grp = stack.resources['WebServerGroup']
|
||||
updated_grp = stack['WebServerGroup']
|
||||
self.assertTrue('AutoScalingRollingUpdate'
|
||||
in updated_grp.update_policy)
|
||||
updated_policy = updated_grp.update_policy['AutoScalingRollingUpdate']
|
||||
|
@ -348,27 +348,27 @@ class InstanceGroupTest(HeatTestCase):
|
|||
# setup stack from the initial template
|
||||
tmpl = template_format.parse(asg_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
nested = stack.resources['WebServerGroup'].nested()
|
||||
nested = stack['WebServerGroup'].nested()
|
||||
|
||||
# test stack create
|
||||
# test the number of instance creation
|
||||
# test that physical resource name of launch configuration is used
|
||||
size = int(stack.resources['WebServerGroup'].properties['MinSize'])
|
||||
size = int(stack['WebServerGroup'].properties['MinSize'])
|
||||
self._stub_create(size)
|
||||
self.m.ReplayAll()
|
||||
stack.create()
|
||||
self.m.VerifyAll()
|
||||
self.assertEqual(stack.state, ('CREATE', 'COMPLETE'))
|
||||
conf = stack.resources['LaunchConfig']
|
||||
conf = stack['LaunchConfig']
|
||||
conf_name_pattern = '%s-LaunchConfig-[a-zA-Z0-9]+$' % stack.name
|
||||
regex_pattern = re.compile(conf_name_pattern)
|
||||
self.assertTrue(regex_pattern.match(conf.FnGetRefId()))
|
||||
nested = stack.resources['WebServerGroup'].nested()
|
||||
self.assertTrue(len(nested.resources), size)
|
||||
nested = stack['WebServerGroup'].nested()
|
||||
self.assertTrue(len(nested), size)
|
||||
|
||||
# test stack update
|
||||
# test that update policy is removed
|
||||
current_grp = stack.resources['WebServerGroup']
|
||||
current_grp = stack['WebServerGroup']
|
||||
self.assertTrue('AutoScalingRollingUpdate'
|
||||
in current_grp.update_policy)
|
||||
current_policy = current_grp.update_policy['AutoScalingRollingUpdate']
|
||||
|
@ -378,5 +378,5 @@ class InstanceGroupTest(HeatTestCase):
|
|||
updated_stack = utils.parse_stack(updated_tmpl)
|
||||
stack.update(updated_stack)
|
||||
self.assertEqual(stack.state, ('UPDATE', 'COMPLETE'))
|
||||
updated_grp = stack.resources['WebServerGroup']
|
||||
updated_grp = stack['WebServerGroup']
|
||||
self.assertFalse(updated_grp.update_policy['AutoScalingRollingUpdate'])
|
||||
|
|
|
@ -131,7 +131,7 @@ def setup_mocks(mocks, stack):
|
|||
mocks.StubOutWithMock(instances.Instance, 'nova')
|
||||
instances.Instance.nova().MultipleTimes().AndReturn(fc)
|
||||
|
||||
instance = stack.resources['WebServer']
|
||||
instance = stack['WebServer']
|
||||
user_data = instance.properties['UserData']
|
||||
server_userdata = nova_utils.build_userdata(instance, user_data)
|
||||
instance.mime_string = server_userdata
|
||||
|
@ -239,9 +239,9 @@ class StackCreateTest(HeatTestCase):
|
|||
stack.store()
|
||||
stack.create()
|
||||
|
||||
self.assertNotEqual(stack.resources['WebServer'], None)
|
||||
self.assertTrue(stack.resources['WebServer'].resource_id > 0)
|
||||
self.assertNotEqual(stack.resources['WebServer'].ipaddress, '0.0.0.0')
|
||||
self.assertNotEqual(stack['WebServer'], None)
|
||||
self.assertTrue(stack['WebServer'].resource_id > 0)
|
||||
self.assertNotEqual(stack['WebServer'].ipaddress, '0.0.0.0')
|
||||
|
||||
def test_wordpress_single_instance_stack_delete(self):
|
||||
ctx = utils.dummy_context()
|
||||
|
@ -254,8 +254,8 @@ class StackCreateTest(HeatTestCase):
|
|||
db_s = db_api.stack_get(ctx, stack_id)
|
||||
self.assertNotEqual(db_s, None)
|
||||
|
||||
self.assertNotEqual(stack.resources['WebServer'], None)
|
||||
self.assertTrue(stack.resources['WebServer'].resource_id > 0)
|
||||
self.assertNotEqual(stack['WebServer'], None)
|
||||
self.assertTrue(stack['WebServer'].resource_id > 0)
|
||||
|
||||
self.m.StubOutWithMock(fc.client, 'get_servers_9999')
|
||||
get = fc.client.get_servers_9999
|
||||
|
@ -263,7 +263,7 @@ class StackCreateTest(HeatTestCase):
|
|||
mox.Replay(get)
|
||||
stack.delete()
|
||||
|
||||
rsrc = stack.resources['WebServer']
|
||||
rsrc = stack['WebServer']
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
self.assertEqual((stack.DELETE, stack.COMPLETE), rsrc.state)
|
||||
self.assertEqual(None, db_api.stack_get(ctx, stack_id))
|
||||
|
@ -385,7 +385,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
|||
|
||||
stack = get_wordpress_stack(stack_name, self.ctx)
|
||||
# force check for credentials on create
|
||||
stack.resources['WebServer'].requires_deferred_auth = True
|
||||
stack['WebServer'].requires_deferred_auth = True
|
||||
|
||||
self.m.StubOutWithMock(parser, 'Template')
|
||||
self.m.StubOutWithMock(environment, 'Environment')
|
||||
|
@ -697,7 +697,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
|||
|
||||
old_stack = get_wordpress_stack(stack_name, self.ctx)
|
||||
# force check for credentials on create
|
||||
old_stack.resources['WebServer'].requires_deferred_auth = True
|
||||
old_stack['WebServer'].requires_deferred_auth = True
|
||||
|
||||
sid = old_stack.store()
|
||||
s = db_api.stack_get(self.ctx, sid)
|
||||
|
@ -730,7 +730,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
|||
|
||||
def test_validate_deferred_auth_context_trusts(self):
|
||||
stack = get_wordpress_stack('test_deferred_auth', self.ctx)
|
||||
stack.resources['WebServer'].requires_deferred_auth = True
|
||||
stack['WebServer'].requires_deferred_auth = True
|
||||
ctx = utils.dummy_context(user=None, password=None)
|
||||
cfg.CONF.set_default('deferred_auth_method', 'trusts')
|
||||
|
||||
|
@ -739,7 +739,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
|||
|
||||
def test_validate_deferred_auth_context_not_required(self):
|
||||
stack = get_wordpress_stack('test_deferred_auth', self.ctx)
|
||||
stack.resources['WebServer'].requires_deferred_auth = False
|
||||
stack['WebServer'].requires_deferred_auth = False
|
||||
ctx = utils.dummy_context(user=None, password=None)
|
||||
cfg.CONF.set_default('deferred_auth_method', 'password')
|
||||
|
||||
|
@ -749,7 +749,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
|||
|
||||
def test_validate_deferred_auth_context_missing_credentials(self):
|
||||
stack = get_wordpress_stack('test_deferred_auth', self.ctx)
|
||||
stack.resources['WebServer'].requires_deferred_auth = True
|
||||
stack['WebServer'].requires_deferred_auth = True
|
||||
cfg.CONF.set_default('deferred_auth_method', 'password')
|
||||
|
||||
# missing username
|
||||
|
|
|
@ -83,7 +83,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
def create_resource(self, t, stack, resource_name):
|
||||
# subsequent resources may need to reference previous created resources
|
||||
# use the stack's resource objects instead of instantiating new ones
|
||||
rsrc = stack.resources[resource_name]
|
||||
rsrc = stack[resource_name]
|
||||
self.assertEqual(None, rsrc.validate())
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
|
||||
|
@ -146,7 +146,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
stack = utils.parse_stack(t)
|
||||
|
||||
conf = self.create_resource(t, stack, 'JobServerConfig')
|
||||
rsrc = stack.resources['JobServerGroup']
|
||||
rsrc = stack['JobServerGroup']
|
||||
|
||||
self.m.StubOutWithMock(instance.Instance, 'handle_create')
|
||||
not_found = exception.ImageNotFound(image_name='bla')
|
||||
|
@ -218,11 +218,11 @@ class InstanceGroupTest(HeatTestCase):
|
|||
exception.ResourceFailure,
|
||||
self.create_resource, t, stack, 'JobServerGroup')
|
||||
|
||||
rsrc = stack.resources['JobServerGroup']
|
||||
rsrc = stack['JobServerGroup']
|
||||
self.assertEqual((rsrc.CREATE, rsrc.FAILED), rsrc.state)
|
||||
|
||||
# The failed inner resource remains
|
||||
child_resource = rsrc.nested().resources['JobServerGroup-0']
|
||||
child_resource = rsrc.nested()['JobServerGroup-0']
|
||||
self.assertEqual((child_resource.CREATE, child_resource.FAILED),
|
||||
child_resource.state)
|
||||
|
||||
|
@ -262,7 +262,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
self.assertEqual((rsrc.UPDATE, rsrc.FAILED), rsrc.state)
|
||||
|
||||
# The failed inner resource remains
|
||||
child_resource = rsrc.nested().resources['JobServerGroup-1']
|
||||
child_resource = rsrc.nested()['JobServerGroup-1']
|
||||
self.assertEqual((child_resource.CREATE, child_resource.FAILED),
|
||||
child_resource.state)
|
||||
|
||||
|
|
|
@ -211,18 +211,18 @@ class InstanceGroupTest(HeatTestCase):
|
|||
cookie).MultipleTimes().AndReturn(True)
|
||||
|
||||
def get_launch_conf_name(self, stack, ig_name):
|
||||
return stack.resources[ig_name].properties['LaunchConfigurationName']
|
||||
return stack[ig_name].properties['LaunchConfigurationName']
|
||||
|
||||
def test_parse_without_update_policy(self):
|
||||
tmpl = template_format.parse(ig_tmpl_without_updt_policy)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['JobServerGroup']
|
||||
grp = stack['JobServerGroup']
|
||||
self.assertFalse(grp.update_policy['RollingUpdate'])
|
||||
|
||||
def test_parse_with_update_policy(self):
|
||||
tmpl = template_format.parse(ig_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['JobServerGroup']
|
||||
grp = stack['JobServerGroup']
|
||||
self.assertTrue(grp.update_policy)
|
||||
self.assertTrue(len(grp.update_policy) == 1)
|
||||
self.assertTrue('RollingUpdate' in grp.update_policy)
|
||||
|
@ -235,7 +235,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
def test_parse_with_default_update_policy(self):
|
||||
tmpl = template_format.parse(ig_tmpl_with_default_updt_policy)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
grp = stack.resources['JobServerGroup']
|
||||
grp = stack['JobServerGroup']
|
||||
self.assertTrue(grp.update_policy)
|
||||
self.assertTrue(len(grp.update_policy) == 1)
|
||||
self.assertTrue('RollingUpdate' in grp.update_policy)
|
||||
|
@ -257,7 +257,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
current_stack = utils.parse_stack(current_tmpl)
|
||||
|
||||
# get the json snippet for the current InstanceGroup resource
|
||||
current_grp = current_stack.resources['JobServerGroup']
|
||||
current_grp = current_stack['JobServerGroup']
|
||||
current_snippets = dict((r.name, r.parsed_template())
|
||||
for r in current_stack)
|
||||
current_grp_json = current_snippets[current_grp.name]
|
||||
|
@ -268,7 +268,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
|
||||
# get the updated json snippet for the InstanceGroup resource in the
|
||||
# context of the current stack
|
||||
updated_grp = updated_stack.resources['JobServerGroup']
|
||||
updated_grp = updated_stack['JobServerGroup']
|
||||
updated_grp_json = current_stack.resolve_runtime_data(updated_grp.t)
|
||||
|
||||
# identify the template difference
|
||||
|
@ -296,28 +296,28 @@ class InstanceGroupTest(HeatTestCase):
|
|||
# setup stack from the initial template
|
||||
tmpl = template_format.parse(ig_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
nested = stack.resources['JobServerGroup'].nested()
|
||||
nested = stack['JobServerGroup'].nested()
|
||||
|
||||
# test stack create
|
||||
# test the number of instance creation
|
||||
# test that physical resource name of launch configuration is used
|
||||
size = int(stack.resources['JobServerGroup'].properties['Size'])
|
||||
size = int(stack['JobServerGroup'].properties['Size'])
|
||||
self._stub_create(size)
|
||||
self.m.ReplayAll()
|
||||
stack.create()
|
||||
self.m.VerifyAll()
|
||||
self.assertEqual(stack.state, ('CREATE', 'COMPLETE'))
|
||||
conf = stack.resources['JobServerConfig']
|
||||
conf = stack['JobServerConfig']
|
||||
conf_name_pattern = '%s-JobServerConfig-[a-zA-Z0-9]+$' % stack.name
|
||||
regex_pattern = re.compile(conf_name_pattern)
|
||||
self.assertTrue(regex_pattern.match(conf.FnGetRefId()))
|
||||
nested = stack.resources['JobServerGroup'].nested()
|
||||
self.assertTrue(len(nested.resources), size)
|
||||
nested = stack['JobServerGroup'].nested()
|
||||
self.assertTrue(len(nested), size)
|
||||
|
||||
# test stack update
|
||||
# test that update policy is updated
|
||||
# test that launch configuration is replaced
|
||||
current_grp = stack.resources['JobServerGroup']
|
||||
current_grp = stack['JobServerGroup']
|
||||
self.assertTrue('RollingUpdate' in current_grp.update_policy)
|
||||
current_policy = current_grp.update_policy['RollingUpdate']
|
||||
self.assertTrue(current_policy and len(current_policy) > 0)
|
||||
|
@ -327,7 +327,7 @@ class InstanceGroupTest(HeatTestCase):
|
|||
updated_stack = utils.parse_stack(updated_tmpl)
|
||||
stack.update(updated_stack)
|
||||
self.assertEqual(stack.state, ('UPDATE', 'COMPLETE'))
|
||||
updated_grp = stack.resources['JobServerGroup']
|
||||
updated_grp = stack['JobServerGroup']
|
||||
self.assertTrue('RollingUpdate' in updated_grp.update_policy)
|
||||
updated_policy = updated_grp.update_policy['RollingUpdate']
|
||||
self.assertTrue(updated_policy and len(updated_policy) > 0)
|
||||
|
@ -340,27 +340,27 @@ class InstanceGroupTest(HeatTestCase):
|
|||
# setup stack from the initial template
|
||||
tmpl = template_format.parse(ig_tmpl_with_updt_policy_1)
|
||||
stack = utils.parse_stack(tmpl)
|
||||
nested = stack.resources['JobServerGroup'].nested()
|
||||
nested = stack['JobServerGroup'].nested()
|
||||
|
||||
# test stack create
|
||||
# test the number of instance creation
|
||||
# test that physical resource name of launch configuration is used
|
||||
size = int(stack.resources['JobServerGroup'].properties['Size'])
|
||||
size = int(stack['JobServerGroup'].properties['Size'])
|
||||
self._stub_create(size)
|
||||
self.m.ReplayAll()
|
||||
stack.create()
|
||||
self.m.VerifyAll()
|
||||
self.assertEqual(stack.state, ('CREATE', 'COMPLETE'))
|
||||
conf = stack.resources['JobServerConfig']
|
||||
conf = stack['JobServerConfig']
|
||||
conf_name_pattern = '%s-JobServerConfig-[a-zA-Z0-9]+$' % stack.name
|
||||
regex_pattern = re.compile(conf_name_pattern)
|
||||
self.assertTrue(regex_pattern.match(conf.FnGetRefId()))
|
||||
nested = stack.resources['JobServerGroup'].nested()
|
||||
self.assertTrue(len(nested.resources), size)
|
||||
nested = stack['JobServerGroup'].nested()
|
||||
self.assertTrue(len(nested), size)
|
||||
|
||||
# test stack update
|
||||
# test that update policy is removed
|
||||
current_grp = stack.resources['JobServerGroup']
|
||||
current_grp = stack['JobServerGroup']
|
||||
self.assertTrue('RollingUpdate' in current_grp.update_policy)
|
||||
current_policy = current_grp.update_policy['RollingUpdate']
|
||||
self.assertTrue(current_policy and len(current_policy) > 0)
|
||||
|
@ -369,5 +369,5 @@ class InstanceGroupTest(HeatTestCase):
|
|||
updated_stack = utils.parse_stack(updated_tmpl)
|
||||
stack.update(updated_stack)
|
||||
self.assertEqual(stack.state, ('UPDATE', 'COMPLETE'))
|
||||
updated_grp = stack.resources['JobServerGroup']
|
||||
updated_grp = stack['JobServerGroup']
|
||||
self.assertFalse(updated_grp.update_policy['RollingUpdate'])
|
||||
|
|
|
@ -239,7 +239,7 @@ class instancesTest(HeatTestCase):
|
|||
|
||||
# create network interface
|
||||
scheduler.TaskRunner(nic.create)()
|
||||
stack.resources["nic1"] = nic
|
||||
stack["nic1"] = nic
|
||||
|
||||
scheduler.TaskRunner(instance.create)()
|
||||
return instance
|
||||
|
|
|
@ -172,8 +172,8 @@ class MetadataRefreshTest(HeatTestCase):
|
|||
self.assertEqual(self.stack.state,
|
||||
(self.stack.CREATE, self.stack.COMPLETE))
|
||||
|
||||
s1 = self.stack.resources['S1']
|
||||
s2 = self.stack.resources['S2']
|
||||
s1 = self.stack['S1']
|
||||
s2 = self.stack['S2']
|
||||
files = s1.metadata['AWS::CloudFormation::Init']['config']['files']
|
||||
cont = files['/tmp/random_file']['content']
|
||||
self.assertEqual((s2.CREATE, s2.COMPLETE), s2.state)
|
||||
|
|
|
@ -161,7 +161,7 @@ Outputs:
|
|||
stack.create()
|
||||
self.assertEquals(stack.state, (stack.CREATE, stack.COMPLETE))
|
||||
self.assertIn('NestedResource',
|
||||
stack.resources['the_nested'].nested().resources)
|
||||
stack['the_nested'].nested())
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
|
|
|
@ -665,20 +665,20 @@ class StackTest(HeatTestCase):
|
|||
def test_total_resources_nested(self):
|
||||
self._setup_nested('zyzzyx')
|
||||
self.assertEqual(4, self.stack.total_resources())
|
||||
self.assertNotEqual(None, self.stack.resources['A'].nested())
|
||||
self.assertNotEqual(None, self.stack['A'].nested())
|
||||
self.assertEqual(
|
||||
2, self.stack.resources['A'].nested().total_resources())
|
||||
2, self.stack['A'].nested().total_resources())
|
||||
self.assertEqual(
|
||||
4,
|
||||
self.stack.resources['A'].nested().root_stack.total_resources())
|
||||
self.stack['A'].nested().root_stack.total_resources())
|
||||
|
||||
@utils.stack_delete_after
|
||||
def test_root_stack(self):
|
||||
self._setup_nested('toor')
|
||||
self.assertEqual(self.stack, self.stack.root_stack)
|
||||
self.assertNotEqual(None, self.stack.resources['A'].nested())
|
||||
self.assertNotEqual(None, self.stack['A'].nested())
|
||||
self.assertEqual(
|
||||
self.stack, self.stack.resources['A'].nested().root_stack)
|
||||
self.stack, self.stack['A'].nested().root_stack)
|
||||
|
||||
@utils.stack_delete_after
|
||||
def test_load_parent_resource(self):
|
||||
|
|
|
@ -182,12 +182,12 @@ class ServerTagsTest(HeatTestCase):
|
|||
t['Resources']['WebServer']['Properties']['Tags'] = intags
|
||||
|
||||
# create the launch configuration
|
||||
conf = stack.resources['Config']
|
||||
conf = stack['Config']
|
||||
self.assertEqual(None, conf.validate())
|
||||
scheduler.TaskRunner(conf.create)()
|
||||
self.assertEqual((conf.CREATE, conf.COMPLETE), conf.state)
|
||||
|
||||
group = stack.resources['WebServer']
|
||||
group = stack['WebServer']
|
||||
|
||||
nova_tags['metering.groupname'] = utils.PhysName(stack.name,
|
||||
group.name)
|
||||
|
@ -229,11 +229,11 @@ class ServerTagsTest(HeatTestCase):
|
|||
t['Resources']['WebServer']['Properties']['Tags'] += intags
|
||||
|
||||
# create the launch configuration
|
||||
conf = stack.resources['Config']
|
||||
conf = stack['Config']
|
||||
self.assertEqual(None, conf.validate())
|
||||
scheduler.TaskRunner(conf.create)()
|
||||
self.assertEqual((conf.CREATE, conf.COMPLETE), conf.state)
|
||||
group = stack.resources['WebServer']
|
||||
group = stack['WebServer']
|
||||
|
||||
group_refid = utils.PhysName(stack.name, group.name)
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
created_time = datetime.datetime(2012, 11, 29, 13, 49, 37)
|
||||
rsrc.created_time = created_time
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
@ -123,7 +123,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
first_url = rsrc.FnGetAtt('AlarmUrl')
|
||||
|
@ -138,7 +138,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
rsrc.delete()
|
||||
|
@ -162,7 +162,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
self.assertTrue(rsrc.requires_deferred_auth)
|
||||
|
||||
|
@ -179,7 +179,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['resource_X']
|
||||
rsrc = self.stack['resource_X']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
err_metadata = {'Data': 'foo', 'Status': 'SUCCESS', 'UniqueId': '123'}
|
||||
|
@ -197,7 +197,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
# manually override the action to DELETE
|
||||
rsrc.action = rsrc.DELETE
|
||||
|
@ -226,7 +226,7 @@ class SignalTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['signal_handler']
|
||||
rsrc = self.stack['signal_handler']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
self.assertRaises(exception.ResourceFailure,
|
||||
|
|
|
@ -144,7 +144,7 @@ class SqlAlchemyTest(HeatTestCase):
|
|||
self._mock_create(self.m)
|
||||
self.m.ReplayAll()
|
||||
stack.create()
|
||||
rsrc = stack.resources['WebServer']
|
||||
rsrc = stack['WebServer']
|
||||
db_api.resource_data_set(rsrc, 'test', 'test_data')
|
||||
self.assertEqual('test_data', db_api.resource_data_get(rsrc, 'test'))
|
||||
db_api.resource_data_delete(rsrc, 'test')
|
||||
|
|
|
@ -145,7 +145,7 @@ class JsonYamlResolvedCompareTest(HeatTestCase):
|
|||
self.assertEqual(set(stack1.resources.keys()),
|
||||
set(stack2.resources.keys()))
|
||||
for key in stack1.resources:
|
||||
self.assertEqual(stack1.resources[key].t, stack2.resources[key].t)
|
||||
self.assertEqual(stack1[key].t, stack2[key].t)
|
||||
|
||||
@skipIf(clients.neutronclient is None, 'neutronclient unavailable')
|
||||
def test_neutron_resolved(self):
|
||||
|
|
|
@ -337,7 +337,7 @@ class AccessKeyTest(UserPolicyTestCase):
|
|||
# Set the resource properties UserName to an unknown user
|
||||
t['Resources']['HostKeys']['Properties']['UserName'] = 'NonExistant'
|
||||
stack = utils.parse_stack(t)
|
||||
stack.resources['CfnUser'].resource_id = self.fc.user_id
|
||||
stack['CfnUser'].resource_id = self.fc.user_id
|
||||
|
||||
rsrc = user.AccessKey('HostKeys',
|
||||
t['Resources']['HostKeys'],
|
||||
|
|
|
@ -551,14 +551,14 @@ class validateTest(HeatTestCase):
|
|||
t = template_format.parse(test_template_volumeattach % 'vdq')
|
||||
stack = parser.Stack(self.ctx, 'test_stack', parser.Template(t))
|
||||
|
||||
volumeattach = stack.resources['MountPoint']
|
||||
volumeattach = stack['MountPoint']
|
||||
self.assertTrue(volumeattach.validate() is None)
|
||||
|
||||
def test_validate_volumeattach_invalid(self):
|
||||
t = template_format.parse(test_template_volumeattach % 'sda')
|
||||
stack = parser.Stack(self.ctx, 'test_stack', parser.Template(t))
|
||||
|
||||
volumeattach = stack.resources['MountPoint']
|
||||
volumeattach = stack['MountPoint']
|
||||
self.assertRaises(exception.StackValidationFailed,
|
||||
volumeattach.validate)
|
||||
|
||||
|
@ -716,7 +716,7 @@ class validateTest(HeatTestCase):
|
|||
instances.Instance.nova().AndReturn(self.fc)
|
||||
self.m.ReplayAll()
|
||||
|
||||
resource = stack.resources['Instance']
|
||||
resource = stack['Instance']
|
||||
self.assertRaises(exception.UserKeyPairMissing, resource.validate)
|
||||
|
||||
def test_unregistered_image(self):
|
||||
|
@ -731,7 +731,7 @@ class validateTest(HeatTestCase):
|
|||
instances.Instance.nova().AndReturn(self.fc)
|
||||
self.m.ReplayAll()
|
||||
|
||||
resource = stack.resources['Instance']
|
||||
resource = stack['Instance']
|
||||
self.assertRaises(exception.ImageNotFound, resource.validate)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -762,7 +762,7 @@ class validateTest(HeatTestCase):
|
|||
instances.Instance.nova().AndReturn(self.fc)
|
||||
self.m.ReplayAll()
|
||||
|
||||
resource = stack.resources['Instance']
|
||||
resource = stack['Instance']
|
||||
self.assertRaises(exception.NoUniqueImageFound, resource.validate)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -777,7 +777,7 @@ class validateTest(HeatTestCase):
|
|||
instances.Instance.nova().AndReturn(self.fc)
|
||||
self.m.ReplayAll()
|
||||
|
||||
resource = stack.resources['Instance']
|
||||
resource = stack['Instance']
|
||||
self.assertRaises(exception.ResourcePropertyConflict,
|
||||
resource.validate)
|
||||
|
||||
|
@ -791,7 +791,7 @@ class validateTest(HeatTestCase):
|
|||
instances.Instance.nova().AndReturn(self.fc)
|
||||
self.m.ReplayAll()
|
||||
|
||||
resource = stack.resources['Instance']
|
||||
resource = stack['Instance']
|
||||
self.assertRaises(exception.ResourcePropertyConflict,
|
||||
resource.validate)
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertEqual(rsrc.state,
|
||||
(rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
|
@ -155,7 +155,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.FAILED))
|
||||
reason = rsrc.status_reason
|
||||
self.assertTrue(reason.startswith('WaitConditionFailure:'))
|
||||
|
@ -178,7 +178,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertEqual(rsrc.state,
|
||||
(rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
|
@ -198,7 +198,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.FAILED))
|
||||
reason = rsrc.status_reason
|
||||
self.assertTrue(reason.startswith('WaitConditionFailure:'))
|
||||
|
@ -232,7 +232,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.FAILED))
|
||||
reason = rsrc.status_reason
|
||||
|
@ -250,13 +250,13 @@ class WaitConditionTest(HeatTestCase):
|
|||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
wc_att = rsrc.FnGetAtt('Data')
|
||||
self.assertEqual(wc_att, unicode({}))
|
||||
|
||||
handle = self.stack.resources['WaitHandle']
|
||||
handle = self.stack['WaitHandle']
|
||||
self.assertEqual(handle.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
test_metadata = {'Data': 'foo', 'Reason': 'bar',
|
||||
|
@ -288,7 +288,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
stack_id=stack_id)
|
||||
self.m.ReplayAll()
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertRaises(ValueError, rsrc.handle_create)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -307,7 +307,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
self.stack = self.create_stack(template=json.dumps(t), stub=False,
|
||||
stack_id=stack_id)
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertRaises(ValueError, rsrc.handle_create)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -326,7 +326,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
self.stack = self.create_stack(stack_id=stack_id,
|
||||
template=json.dumps(t), stub=False)
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertRaises(ValueError, rsrc.handle_create)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -345,7 +345,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
self.stack = self.create_stack(stack_id=stack_id,
|
||||
template=json.dumps(t), stub=False)
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertRaises(ValueError, rsrc.handle_create)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -363,7 +363,7 @@ class WaitConditionTest(HeatTestCase):
|
|||
self.stack = self.create_stack(stack_id=stack_id,
|
||||
template=json.dumps(t), stub=False)
|
||||
|
||||
rsrc = self.stack.resources['WaitForTheHandle']
|
||||
rsrc = self.stack['WaitForTheHandle']
|
||||
self.assertRaises(ValueError, rsrc.handle_create)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
@ -424,7 +424,7 @@ class WaitConditionHandleTest(HeatTestCase):
|
|||
self.stack = self.create_stack(stack_id=stack_id,
|
||||
stack_name=stack_name)
|
||||
|
||||
rsrc = self.stack.resources['WaitHandle']
|
||||
rsrc = self.stack['WaitHandle']
|
||||
# clear the url
|
||||
db_api.resource_data_set(rsrc, 'ec2_signed_url', None, False)
|
||||
|
||||
|
@ -452,7 +452,7 @@ class WaitConditionHandleTest(HeatTestCase):
|
|||
@utils.stack_delete_after
|
||||
def test_metadata_update(self):
|
||||
self.stack = self.create_stack()
|
||||
rsrc = self.stack.resources['WaitHandle']
|
||||
rsrc = self.stack['WaitHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
test_metadata = {'Data': 'foo', 'Reason': 'bar',
|
||||
|
@ -467,7 +467,7 @@ class WaitConditionHandleTest(HeatTestCase):
|
|||
@utils.stack_delete_after
|
||||
def test_metadata_update_invalid(self):
|
||||
self.stack = self.create_stack()
|
||||
rsrc = self.stack.resources['WaitHandle']
|
||||
rsrc = self.stack['WaitHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
# metadata_update should raise a ValueError if the metadata
|
||||
|
@ -511,7 +511,7 @@ class WaitConditionHandleTest(HeatTestCase):
|
|||
@utils.stack_delete_after
|
||||
def test_get_status(self):
|
||||
self.stack = self.create_stack()
|
||||
rsrc = self.stack.resources['WaitHandle']
|
||||
rsrc = self.stack['WaitHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
# UnsetStubs, don't want get_status stubbed anymore..
|
||||
|
@ -538,7 +538,7 @@ class WaitConditionHandleTest(HeatTestCase):
|
|||
@utils.stack_delete_after
|
||||
def test_get_status_reason(self):
|
||||
self.stack = self.create_stack()
|
||||
rsrc = self.stack.resources['WaitHandle']
|
||||
rsrc = self.stack['WaitHandle']
|
||||
self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE))
|
||||
|
||||
test_metadata = {'Data': 'foo', 'Reason': 'bar',
|
||||
|
|
Loading…
Reference in New Issue