)]}'
{"heat/engine/resource.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"87a9c8a954bd0b5f0e04cb2a1cf5df26ed93d2e8","unresolved":false,"context_lines":[{"line_number":1189,"context_line":"                        message\u003d\"%s\" % error_message)"},{"line_number":1190,"context_line":"                raise"},{"line_number":1191,"context_line":""},{"line_number":1192,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":1193,"context_line":"        \"\"\"Validate external resource which return from _show_resource\"\"\""},{"line_number":1194,"context_line":"        pass"},{"line_number":1195,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_027a3bba","line":1192,"range":{"start_line":1192,"start_character":38,"end_line":1192,"end_character":42},"updated":"2020-02-04 22:42:23.000000000","message":"Maybe call this show_result or something?","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"5eec09c61145ce7cdb7d894b8216b49abf7871a9","unresolved":false,"context_lines":[{"line_number":1189,"context_line":"                        message\u003d\"%s\" % error_message)"},{"line_number":1190,"context_line":"                raise"},{"line_number":1191,"context_line":""},{"line_number":1192,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":1193,"context_line":"        \"\"\"Validate external resource which return from _show_resource\"\"\""},{"line_number":1194,"context_line":"        pass"},{"line_number":1195,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_9648982b","line":1192,"range":{"start_line":1192,"start_character":38,"end_line":1192,"end_character":42},"in_reply_to":"3fa7e38b_027a3bba","updated":"2020-02-22 07:26:26.000000000","message":"Done","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"87a9c8a954bd0b5f0e04cb2a1cf5df26ed93d2e8","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"                raise"},{"line_number":1191,"context_line":""},{"line_number":1192,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":1193,"context_line":"        \"\"\"Validate external resource which return from _show_resource\"\"\""},{"line_number":1194,"context_line":"        pass"},{"line_number":1195,"context_line":""},{"line_number":1196,"context_line":"    @scheduler.wrappertask"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_c25c235a","line":1193,"updated":"2020-02-04 22:42:23.000000000","message":"Should we update the resource plugin guide in the docs also to indicate how people should use this?","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"15dd935c634ca230b193c82018501d8ba538fe52","unresolved":true,"context_lines":[{"line_number":1189,"context_line":"                        message\u003d\"%s\" % error_message)"},{"line_number":1190,"context_line":"                raise"},{"line_number":1191,"context_line":""},{"line_number":1192,"context_line":"    def _validate_external_rsrc(self, show_result):"},{"line_number":1193,"context_line":"        \"\"\"Validate external resource which returned from _show_resource\"\"\""},{"line_number":1194,"context_line":"        pass"},{"line_number":1195,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"801721fa_f2353872","line":1192,"range":{"start_line":1192,"start_character":7,"end_line":1192,"end_character":32},"updated":"2021-03-17 02:28:30.000000000","message":"I don\u0027t think it makes sense to have an \u0027_\u0027 in the beginning of an public interface for plugins.\n\nHow do we expect this to be used by any other resources that are external? Why not just override _show_resource() of RemoteStack?","commit_id":"7bcbf7479ad06129db8518a0e6ef6907034c315f"}],"heat/engine/resources/openstack/heat/remote_stack.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"e54dcd0683d3945a5ccca2c5b01ad9d7238a8c71","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_2b99ddce","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":49},"updated":"2020-01-07 19:44:51.000000000","message":"Won\u0027t this return e.g. \u0027F_A_I_L_E_D\u0027?","commit_id":"1f066bc5f138c58ca53b465e1a2ed9bbd281057e"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"87a9c8a954bd0b5f0e04cb2a1cf5df26ed93d2e8","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_a2e6c7ae","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":49},"in_reply_to":"3fa7e38b_1586ac17","updated":"2020-02-04 22:42:23.000000000","message":"You\u0027re correct, obviously.\n\nI think I must have missed the \u0027:\u0027 in \u0027[1:]\u0027 when I reviewed this before.","commit_id":"1f066bc5f138c58ca53b465e1a2ed9bbd281057e"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"a8f8f5564509b33f9928f391beabd3309a89a4ce","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_1586ac17","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":49},"in_reply_to":"3fa7e38b_2b99ddce","updated":"2020-01-22 03:16:57.000000000","message":"if stack_status is DELETE_FAILED, than \nstack_status.split(\u0027_\u0027)[1:] will give us [\u0027FAILED\u0027]\n\u0027_\u0027.join([\u0027FAILED\u0027]) will only be \u0027FAILED\u0027\n\nAnd if it\u0027s DELETE_IN_PROGRESS, than will get [\u0027IN\u0027, \u0027PROGRESS\u0027] -\u003e IN_PROGRESS\n\nF_A_I_L_E_D will only happen if we do \u0027_\u0027.join(\u0027FAILED\u0027) which we\u0027re not:)","commit_id":"1f066bc5f138c58ca53b465e1a2ed9bbd281057e"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"87a9c8a954bd0b5f0e04cb2a1cf5df26ed93d2e8","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_e2ba7f6e","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":48},"updated":"2020-02-04 22:42:23.000000000","message":"Could just do:\n\n  stack_status.split(\u0027_\u0027, 1)\n\nif I\u0027ve understood correctly this time.","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"5eec09c61145ce7cdb7d894b8216b49abf7871a9","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def _validate_external_rsrc(self, rsrc):"},{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_f6c46c96","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":48},"in_reply_to":"3fa7e38b_e2ba7f6e","updated":"2020-02-22 07:26:26.000000000","message":"\u003e Could just do:\n \u003e \n \u003e stack_status.split(\u0027_\u0027, 1)\n \u003e \n \u003e if I\u0027ve understood correctly this time.\n\nGood idea, and close, it will be stack_status.split(\u0027_\u0027, 1)[1]  :)","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"87a9c8a954bd0b5f0e04cb2a1cf5df26ed93d2e8","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""},{"line_number":302,"context_line":"                               \"%(external_id)s (%(type)s) is under \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_c213c367","line":299,"updated":"2020-02-04 22:42:23.000000000","message":"Are we sure it\u0027s actually a problem if the stack is in one of these states?","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"5eec09c61145ce7cdb7d894b8216b49abf7871a9","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        stack_status \u003d rsrc[\u0027stack_status\u0027]"},{"line_number":297,"context_line":"        if stack_status \u003d\u003d \u0027DELETE_COMPLETE\u0027 or ("},{"line_number":298,"context_line":"            \u0027_\u0027.join(stack_status.split(\u0027_\u0027)[1:]) in ["},{"line_number":299,"context_line":"                self.FAILED, self.IN_PROGRESS]"},{"line_number":300,"context_line":"        ):"},{"line_number":301,"context_line":"            error_message \u003d (_(\"Invalid external resource: Resource \""},{"line_number":302,"context_line":"                               \"%(external_id)s (%(type)s) is under \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_56cea0b6","line":299,"in_reply_to":"3fa7e38b_c213c367","updated":"2020-02-22 07:26:26.000000000","message":"IMO, to reference a failed or in-progress remote stack will lead to some unstable results. which is not that idea.\nI can live with allow stack in UPDATE_IN_PROGRESS(and which we need to add CREATE/DELETE_IN_PROGRESS in list) if that\u0027s more idea anyone","commit_id":"9467f39e3cc616839564eee8a8aaf3bdb56b7d60"}]}
