]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Allowed the database call to return no parsed template.
authorChris Alfonso <calfonso@redhat.com>
Thu, 10 May 2012 19:31:31 +0000 (15:31 -0400)
committerChris Alfonso <calfonso@redhat.com>
Thu, 10 May 2012 19:31:31 +0000 (15:31 -0400)
The database impl was raising an exception if no parsed template
exists.  The logic that was looking up the parsed template
expects None to be returned if the template isn't stored.

* I also fixed some pep8 errors.

heat/db/sqlalchemy/api.py
heat/metadata/api/v1/__init__.py
heat/metadata/api/v1/metadata.py
heat/tests/__init__.py
heat/tests/test_cfn.py
heat/tests/test_stacks.py
heat/tests/v1_1/fakes.py
tools/experimental_ssh_eventlet.py

index 1e8c10f005f07acafc4739542246d5fa559e18cf..61b5a295e4518d5b87ef5fc870c3c4c11e2aee97 100644 (file)
@@ -60,10 +60,6 @@ def raw_template_create(context, values):
 def parsed_template_get(context, template_id):
     result = model_query(context, models.ParsedTemplate).\
                         filter_by(id=template_id).first()
-
-    if not result:
-        raise Exception("parsed template with id %s not found" % template_id)
-
     return result
 
 
index a213e06b3f594429f990460bccf94cab70aef44f..0eabaad1e566bebe2f425370d5d19a822bc16941 100644 (file)
@@ -46,7 +46,8 @@ class API(wsgi.Router):
                        controller=metadata_controller, action='create_stack',
                        conditions=dict(method=['PUT']))
         mapper.connect('/stacks/:stack_name/resources/:resource_id',
-                       controller=metadata_controller, action='update_metadata',
+                       controller=metadata_controller,\
+                       action='update_metadata',
                        conditions=dict(method=['PUT']))
         mapper.connect('/events/',
                        controller=metadata_controller, action='create_event',
index 7acd585eb8d1fc4d40b24044a014e1d84e6f038c..f02c451bae0b5fbf3edc59bed8e12552e4583606 100644 (file)
@@ -13,7 +13,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import logging
 import json
 
 from webob.exc import Response
@@ -73,10 +72,10 @@ class MetadataController:
         if error:
             if error == 'stack':
                 return json_error(404,
-                                  'The stack "%s" does not exist.' % stack_name)
+                            'The stack "%s" does not exist.' % stack_name)
             else:
                 return json_error(404,
-                                  'The resource "%s" does not exist.' % resource_id)
+                            'The resource "%s" does not exist.' % resource_id)
         return metadata
 
     def update_metadata(self, req, body, stack_name, resource_id):
@@ -89,10 +88,10 @@ class MetadataController:
         if error:
             if error == 'stack':
                 return json_error(404,
-                                  'The stack "%s" does not exist.' % stack_name)
+                        'The stack "%s" does not exist.' % stack_name)
             else:
                 return json_error(404,
-                                  'The resource "%s" does not exist.' % resource_id)
+                        'The resource "%s" does not exist.' % resource_id)
         return json_response(201, {
             'resource': resource_id,
             'metadata': body,
index 6328de3ee9be051b5bd3c674e7055c76195b729b..a83367ed0e328c110b21c31cb68faa953ce8d1f2 100644 (file)
@@ -22,17 +22,19 @@ import shutil
 
 from heat.db.sqlalchemy.session import get_engine
 
+
 def reset_db():
     if os.path.exists('heat-test.db'):
         os.remove('heat-test.db')
-    
+
+
 def setup():
     import mox  # Fail fast if you don't have mox. Workaround for bug 810424
 
     from heat import db
     from heat.db import migration
-    reset_db() 
+
+    reset_db()
     migration.db_sync()
     engine = get_engine()
     conn = engine.connect()
-
index 6d68774a1113b033b3916786ec254246f88fe043..44cc77aa35ec069d9d8d80d1ca844fd5e996cf72 100644 (file)
@@ -117,7 +117,8 @@ runas=root
 
 
 def tearDown_metadata_files():
-    shutil.rmtree('/tmp/_files_test_', ignore_errors=True)
+    shutil.rmtree('/tmp/_files_test_',\
+                ignore_errors=True)
 
 
 class PopenMock:
index 78d61d92542a237a11334f106c3db8c645a03ee5..7e4e39dddaa502d72fb12f8d36f4c3eaa45f6acd 100644 (file)
@@ -14,22 +14,22 @@ from heat.engine import instance as instances
 import heat.db as db_api
 from heat.engine import parser
 
+
 @attr(tag=['unit', 'resource'])
 @attr(speed='fast')
-class instancesTest(unittest.TestCase):
+class stacksTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
         self.fc = fakes.FakeClient()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "instancesTest teardown complete"
+        print "stackTest teardown complete"
 
     def test_wordpress_single_instance_stack_create(self):
         f = open('../../templates/WordPress_Single_Instance_gold.template')
         t = json.loads(f.read())
         f.close()
-
         params = {}
         parameters = {}
         params['KeyStoneCreds'] = None
@@ -40,15 +40,11 @@ class instancesTest(unittest.TestCase):
         instances.Instance.nova().AndReturn(self.fc)
         instances.Instance.nova().AndReturn(self.fc)
         instances.Instance.nova().AndReturn(self.fc)
-        #instance = instances.Instance('WebServer',\
-        #                              t['Resources']['WebServer'], stack)
         instance = stack.resources['WebServer']
         instance.itype_oflavor['m1.large'] = 'm1.large'
         instance.stack.resolve_attributes(instance.t)
         instance.stack.resolve_joins(instance.t)
         instance.stack.resolve_base64(instance.t)
-       
         server_userdata = instance._build_userdata(\
                                 instance.t['Properties']['UserData'])
         self.m.StubOutWithMock(self.fc.servers, 'create')
@@ -57,17 +53,15 @@ class instancesTest(unittest.TestCase):
                 userdata=server_userdata).\
                 AndReturn(self.fc.servers.list()[1])
         self.m.ReplayAll()
-
         stack.create_blocking()
         assert(stack.resources['WebServer'] != None)
         assert(stack.resources['WebServer'].instance_id > 0)
         assert(stack.resources['WebServer'].ipaddress != '0.0.0.0')
-   
+
     def test_wordpress_single_instance_stack_delete(self):
         f = open('../../templates/WordPress_Single_Instance_gold.template')
         t = json.loads(f.read())
         f.close()
-
         params = {}
         parameters = {}
         params['KeyStoneCreds'] = None
@@ -79,13 +73,11 @@ class instancesTest(unittest.TestCase):
         instances.Instance.nova().AndReturn(self.fc)
         instances.Instance.nova().AndReturn(self.fc)
         instances.Instance.nova().AndReturn(self.fc)
         instance = stack.resources['WebServer']
         instance.itype_oflavor['m1.large'] = 'm1.large'
         instance.stack.resolve_attributes(instance.t)
         instance.stack.resolve_joins(instance.t)
         instance.stack.resolve_base64(instance.t)
-       
         server_userdata = instance._build_userdata(\
                                 instance.t['Properties']['UserData'])
         self.m.StubOutWithMock(self.fc.servers, 'create')
@@ -94,27 +86,22 @@ class instancesTest(unittest.TestCase):
                 userdata=server_userdata).\
                 AndReturn(self.fc.servers.list()[2])
         self.m.ReplayAll()
-        
         rt = {}
         rt['template'] = stack.t
         rt['stack_name'] = stack.name
         new_rt = db_api.raw_template_create(None, rt)
-
         s = {}
         s['name'] = stack.name
         s['raw_template_id'] = new_rt.id
         new_s = db_api.stack_create(None, s)
         stack.id = new_s.id
-
         pt = {}
         pt['template'] = stack.t
         pt['raw_template_id'] = new_rt.id
         new_pt = db_api.parsed_template_create(None, pt)
-
         stack.create_blocking()
         assert(stack.resources['WebServer'] != None)
         assert(stack.resources['WebServer'].instance_id > 0)
-
         stack.delete_blocking()
         assert(stack.resources['WebServer'].state == 'DELETE_COMPLETE')
         assert(stack.t['stack_status'] == 'DELETE_COMPLETE')
index daa40f1d74cb592fe2290a9e3ca778d2f94b6356..8e222ca3e55c0a28ea2d9dd6b7297a746ccb2f28 100644 (file)
@@ -203,7 +203,7 @@ class FakeHTTPClient(base_client.HTTPClient):
                 }
             },
             {
-                "id": 9999, 
+                "id": 9999,
                 "name": "sample-server3",
                 "image": {
                     "id": 3,
@@ -307,7 +307,6 @@ class FakeHTTPClient(base_client.HTTPClient):
     def delete_servers_9999_metadata_key2(self, **kw):
         return (204, None)
 
-
     def post_servers_9999_metadata(self, **kw):
         return (204, {'metadata': {'test_key': 'test_value'}})
 
index 30c556f022641899813c8ffd85ee2dc32d9b5515..723d764ae91db385c9ccf83f10ca123ba499f471 100755 (executable)
@@ -55,6 +55,7 @@ i = 1
 while True:
     pool.spawn_n(monitor, '192.168.122.238', 'root', i)
     i = i + 1
-    if i > 800: break
+    if i > 800:
+        break
 
 pool.waitall()