)]}'
{"heat/engine/output.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"469bf9d9f15f45373ae30c8e8d1a520f275face3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        \"\"\"Validate the output value.\"\"\""},{"line_number":30,"context_line":"        function.validate(self._value, path)"},{"line_number":31,"context_line":"        if with_value:"},{"line_number":32,"context_line":"            self.get_value()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def dep_attrs(self, resource_name):"},{"line_number":35,"context_line":"        \"\"\"Iterate over attributes of a given resource that this references."}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_22547d51","line":32,"updated":"2016-10-13 17:12:25.000000000","message":"Why do we need to modify the API for this? Can\u0027t the caller just call get_value() to see if we can get a value without error?","commit_id":"7ff579cbf3267f42f2b98eddaa145971846b9a15"}],"heat/engine/stack.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"3f7a64f98037ba387a78f1e95d1c84007aa14116","unresolved":false,"context_lines":[{"line_number":2037,"context_line":"        status \u003d self.COMPLETE"},{"line_number":2038,"context_line":""},{"line_number":2039,"context_line":"        if self.action in [self.CREATE, self.UPDATE]:"},{"line_number":2040,"context_line":"            stack \u003d self.load(self.context, self.id)"},{"line_number":2041,"context_line":"            try:"},{"line_number":2042,"context_line":"                stack.validate_outputs()"},{"line_number":2043,"context_line":"            except exception.StackValidationFailed as ex:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_837835c6","line":2040,"range":{"start_line":2040,"start_character":19,"end_line":2040,"end_character":20},"updated":"2016-09-23 09:52:04.000000000","message":"Can you clarify why you need to re-load a copy of the stack here?","commit_id":"f5c3b765bc3c180b1132aea5d32bc00c3e675509"},{"author":{"_account_id":12363,"name":"Oleksii Chuprykov","email":"a.chuprikoff@gmail.com","username":"ochuprykov"},"change_message_id":"288a6aa5b415fca24a5468f0bfd6521eb4e8a41b","unresolved":false,"context_lines":[{"line_number":2037,"context_line":"        status \u003d self.COMPLETE"},{"line_number":2038,"context_line":""},{"line_number":2039,"context_line":"        if self.action in [self.CREATE, self.UPDATE]:"},{"line_number":2040,"context_line":"            stack \u003d self.load(self.context, self.id)"},{"line_number":2041,"context_line":"            try:"},{"line_number":2042,"context_line":"                stack.validate_outputs()"},{"line_number":2043,"context_line":"            except exception.StackValidationFailed as ex:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_66e89611","line":2040,"range":{"start_line":2040,"start_character":19,"end_line":2040,"end_character":20},"in_reply_to":"5a8bc5a2_837835c6","updated":"2016-09-23 10:21:25.000000000","message":"In convergence several workers work on the different copies(in memory) of the same stack, so this particular stack won\u0027t be changed and will have resources in INIT state, but we need all resources in COMPLETE state in order to do resolving for get_attr and get_res.","commit_id":"f5c3b765bc3c180b1132aea5d32bc00c3e675509"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"469bf9d9f15f45373ae30c8e8d1a520f275face3","unresolved":false,"context_lines":[{"line_number":1083,"context_line":""},{"line_number":1084,"context_line":"        if action \u003d\u003d self.CREATE:"},{"line_number":1085,"context_line":"            try:"},{"line_number":1086,"context_line":"                self.validate_outputs(with_value\u003dTrue)"},{"line_number":1087,"context_line":"            except Exception as ex:"},{"line_number":1088,"context_line":"                reason \u003d (\u0027Stack %s failed: %s\u0027 %"},{"line_number":1089,"context_line":"                          (self.action, six.text_type(ex)))"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_020f7937","line":1086,"updated":"2016-10-13 17:12:25.000000000","message":"We\u0027ve already validated the definitions at this point, all we really need to do here is:\n\n  for output in six.itervalues(self.outputs):\n      output.get_value()","commit_id":"7ff579cbf3267f42f2b98eddaa145971846b9a15"}]}
