)]}'
{"heat/engine/service.py":[{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"f73320b58ee74501f03d74dee5ef3e8317bf2bb9","unresolved":false,"context_lines":[{"line_number":467,"context_line":"            except Exception as ex:"},{"line_number":468,"context_line":"                return {\u0027Error\u0027: str(ex)}"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        if len(tmpl_resources) \u003e cfg.CONF.max_resources_per_stack:"},{"line_number":471,"context_line":"            return {\u0027Error\u0027: \u0027The resource number exceeded limit.\u0027}"},{"line_number":472,"context_line":"        tmpl_params \u003d parser.Parameters(None, tmpl, validate_value\u003dFalse)"},{"line_number":473,"context_line":"        format_validate_parameter \u003d lambda p: dict(p.schema)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F7u0%3D","line":470,"updated":"2014-01-06 15:56:45.000000000","message":"This would make more sense up on line 440, right after the code that checks that tmpl_resources contains something.","commit_id":"142fdb0f0a11665e0c69d4da2866cd96aa4e1fb9"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"9e2bcf6ec2c1c6b23590e794f336aff05886e09f","unresolved":false,"context_lines":[{"line_number":467,"context_line":"            except Exception as ex:"},{"line_number":468,"context_line":"                return {\u0027Error\u0027: str(ex)}"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        if len(tmpl_resources) \u003e cfg.CONF.max_resources_per_stack:"},{"line_number":471,"context_line":"            return {\u0027Error\u0027: \u0027The resource number exceeded limit.\u0027}"},{"line_number":472,"context_line":"        tmpl_params \u003d parser.Parameters(None, tmpl, validate_value\u003dFalse)"},{"line_number":473,"context_line":"        format_validate_parameter \u003d lambda p: dict(p.schema)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F50o%3D","line":470,"in_reply_to":"AAAAUH%2F%2F7u0%3D","updated":"2014-01-07 01:37:44.000000000","message":"Done.","commit_id":"142fdb0f0a11665e0c69d4da2866cd96aa4e1fb9"},{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"8a54d6452c0274715d8d8d0c0db58004c36d8c6b","unresolved":false,"context_lines":[{"line_number":437,"context_line":""},{"line_number":438,"context_line":"        if not tmpl_resources:"},{"line_number":439,"context_line":"            return {\u0027Error\u0027: \u0027At least one Resources member must be defined.\u0027}"},{"line_number":440,"context_line":"        if len(tmpl_resources) \u003e cfg.CONF.max_resources_per_stack:"},{"line_number":441,"context_line":"            return {\u0027Error\u0027: \u0027The resource number exceeded limit.\u0027}"},{"line_number":442,"context_line":"        for res in tmpl_resources.values():"},{"line_number":443,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F4Y8%3D","line":440,"updated":"2014-01-07 09:58:41.000000000","message":"AFAICT, passing this test can only give users some level of confidence that the template would not exceed the max resource limit. Because checking the total number of resources is a recursive process - we need to add up the total number of resources in the whole template hierarchy if the template has nested template resources. I\u0027d rather choose to not check that at all in validate_template. After all, validate_template is to check the correctness of the template, and the max resource limit is more of a runtime limitation.","commit_id":"3c216135eaeff14c2bee476d32cd25c60b8d5e04"}]}
