]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Fix stack creation - CREATE_FAILED issue
authorChris Alfonso <calfonso@redhat.com>
Wed, 9 May 2012 13:45:15 +0000 (09:45 -0400)
committerChris Alfonso <calfonso@redhat.com>
Wed, 9 May 2012 13:45:15 +0000 (09:45 -0400)
The stack creation call to validate the stack was resetting the
stack template attribute.  I've made a copy of the stack purely
for validation purposes.

heat/engine/manager.py
heat/tests/test_resources.py

index 74cecaa41d27220a3f9ad36e251991c1e7f2d899..9c5499a42da50f3638c6168321151f6f928c81d1 100644 (file)
@@ -126,7 +126,11 @@ class EngineManager(manager.Manager):
         metadata_server = config.FLAGS.heat_metadata_server_url
         stack = parser.Stack(stack_name, template, 0, params,
                              metadata_server=metadata_server)
-        response = stack.validate()
+        # We don't want to reset the stack template, so we are making
+        # an instance just for validation.
+        stack_validator = parser.Stack(stack_name, template, 0, params,
+                             metadata_server=metadata_server)
+        response = stack_validator.validate()
         if 'Malformed Query Response' in response['ValidateTemplateResult']['Description']:
             return response['ValidateTemplateResult']['Description']
         rt = {}
index 91358527b4bf97fe2d3f9b618a4a3438d315645e..dc5f7f10bd502bcbd3f84ee8dd3bf57c0c664bce 100644 (file)
@@ -64,7 +64,6 @@ class instancesTest(unittest.TestCase):
         # need to resolve the template functions
         server_userdata = instance._build_userdata(\
                                 instance.t['Properties']['UserData'])
-        
         self.m.StubOutWithMock(self.fc.servers, 'create')
         self.fc.servers.create(image=1, flavor=1, key_name='test',\
                 name='test_resource_name', security_groups=None,\
@@ -115,7 +114,6 @@ class instancesTest(unittest.TestCase):
         # need to resolve the template functions
         server_userdata = instance._build_userdata(\
                                 instance.t['Properties']['UserData'])
-        
         self.m.StubOutWithMock(self.fc.servers, 'create')
         self.fc.servers.create(image=1, flavor=1, key_name='test',\
                 name='test_resource_name', security_groups=None,\
@@ -128,7 +126,6 @@ class instancesTest(unittest.TestCase):
         instance.create()
 
         # this makes sure the auto increment worked on instance creation
-        
         assert(instance.id > 0)
 
         instance.delete()