)]}'
{"heat/engine/stack_resource.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"d7a5367586cad5a22ea9a2b79c9a74605960acb6","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if nested_stack is not None:"},{"line_number":124,"context_line":"            res_diff \u003d ("},{"line_number":125,"context_line":"                len(template[tmpl.RESOURCES]) - len(nested_stack.resources))"},{"line_number":126,"context_line":"            new_size \u003d nested_stack.root_stack.total_resources() + res_diff"},{"line_number":127,"context_line":"            if new_size \u003e cfg.CONF.max_resources_per_stack:"},{"line_number":128,"context_line":"                raise exception.StackResourceLimitExceeded()"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FEnc%3D","line":126,"updated":"2013-09-12 15:47:31.000000000","message":"The number of resources (after the update completes) is simply len(template[tmpl.RESOURCES]) isn\u0027t it, so why do we need to calculate res_diff, instead of just saying:\n\nnew_size \u003d nested_stack.root_stack.total_resources() + len(template[tmpl.RESOURCES])\n\nMaybe I\u0027m missing something?","commit_id":"5becc85c76d90b8b5e236f4227d5db9daef4ee2b"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f90ab1dd52e2a55349d4d490e16eb66c382a5733","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if nested_stack is not None:"},{"line_number":124,"context_line":"            res_diff \u003d ("},{"line_number":125,"context_line":"                len(template[tmpl.RESOURCES]) - len(nested_stack.resources))"},{"line_number":126,"context_line":"            new_size \u003d nested_stack.root_stack.total_resources() + res_diff"},{"line_number":127,"context_line":"            if new_size \u003e cfg.CONF.max_resources_per_stack:"},{"line_number":128,"context_line":"                raise exception.StackResourceLimitExceeded()"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FDfo%3D","line":126,"in_reply_to":"AAAASn%2F%2FEnc%3D","updated":"2013-09-12 20:47:40.000000000","message":"nested_stack.root_stack.total_resources() already has the current stack\u0027s resources already in it, total_resources() is recursive. So the new_size you\u0027re suggesting would be counting any unchanged resources from the new template twice.\n\nWill add a test to verify this, but with more than one level of nesting this should still be accurate, since the code is are calculating the delta that each nested template would incur on the whole stack every time.","commit_id":"5becc85c76d90b8b5e236f4227d5db9daef4ee2b"}],"heat/tests/test_nested_stack.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"10d7f442ede2cc46913f68adb4401442fd61a36f","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        stack \u003d self.create_stack(self.test_template)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        cfg.CONF.set_override(\u0027max_resources_per_stack\u0027, 2)"},{"line_number":234,"context_line":"        self.addCleanup(cfg.CONF.clear_override, \u0027max_resources_per_stack\u0027)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        rsrc \u003d stack[\u0027the_nested\u0027]"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FSbs%3D","line":234,"updated":"2013-09-07 03:19:15.000000000","message":"clear_override no longer required","commit_id":"4944a3023f2f06851d3056c4024d7284525192ba"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"10d7f442ede2cc46913f68adb4401442fd61a36f","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        stack \u003d self.create_stack(self.test_template)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        cfg.CONF.set_override(\u0027max_resources_per_stack\u0027, 1)"},{"line_number":277,"context_line":"        self.addCleanup(cfg.CONF.clear_override, \u0027max_resources_per_stack\u0027)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        rsrc \u003d stack[\u0027the_nested\u0027]"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FSbo%3D","line":277,"updated":"2013-09-07 03:19:15.000000000","message":"clear_override no longer required","commit_id":"4944a3023f2f06851d3056c4024d7284525192ba"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"d7a5367586cad5a22ea9a2b79c9a74605960acb6","unresolved":false,"context_lines":[{"line_number":265,"context_line":"Outputs:"},{"line_number":266,"context_line":"  Bar:"},{"line_number":267,"context_line":"    Value: foo"},{"line_number":268,"context_line":"\u0027\u0027\u0027)"},{"line_number":269,"context_line":"        self.m.ReplayAll()"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        stack \u003d self.create_stack(self.test_template)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FEaI%3D","line":268,"updated":"2013-09-12 15:47:31.000000000","message":"It\u0027d be nice to add a test which checks the limit is enforced over more than one level of nesting","commit_id":"5becc85c76d90b8b5e236f4227d5db9daef4ee2b"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f90ab1dd52e2a55349d4d490e16eb66c382a5733","unresolved":false,"context_lines":[{"line_number":265,"context_line":"Outputs:"},{"line_number":266,"context_line":"  Bar:"},{"line_number":267,"context_line":"    Value: foo"},{"line_number":268,"context_line":"\u0027\u0027\u0027)"},{"line_number":269,"context_line":"        self.m.ReplayAll()"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        stack \u003d self.create_stack(self.test_template)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FDfQ%3D","line":268,"in_reply_to":"AAAASn%2F%2FEaI%3D","updated":"2013-09-12 20:47:40.000000000","message":"Agreed... and admit fully that I reached a point of exhaustion by the time I wrote these tests. ;)","commit_id":"5becc85c76d90b8b5e236f4227d5db9daef4ee2b"}]}
