)]}'
{"watcher/api/controllers/v1/action_plan.py":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"6af419d1cbf8e2657fa6e63d40ef829f88384b4f","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            \u0027ActionPlan\u0027, action_plan_uuid, eager\u003dTrue)"},{"line_number":460,"context_line":"        policy.enforce(context, \u0027action_plan:delete\u0027, action_plan,"},{"line_number":461,"context_line":"                       action\u003d\u0027action_plan:delete\u0027)"},{"line_number":462,"context_line":"        not_allowed_states \u003d [ap_objects.State.CANCELLING,"},{"line_number":463,"context_line":"                              ap_objects.State.ONGOING,"},{"line_number":464,"context_line":"                              ap_objects.State.PENDING]"},{"line_number":465,"context_line":"        db_action_plan \u003d objects.ActionPlan.get_by_uuid(pecan.request.context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_77f5f882","line":462,"range":{"start_line":462,"start_character":8,"end_line":462,"end_character":26},"updated":"2017-07-26 05:27:52.000000000","message":"Doc says only FAILED, SUCCEEDED and CANCELLED will be moved to DELETED state.\nhttps://docs.openstack.org/watcher/latest/architecture.html#action-plan-state-machine\n\nWhich is correct, doc or code?","commit_id":"44c5386a8e5cd4cb77360bf80cfae20e20d178d7"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"3d9b2a926263b50808e63c62af1cd35a8d6992ba","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            \u0027ActionPlan\u0027, action_plan_uuid, eager\u003dTrue)"},{"line_number":460,"context_line":"        policy.enforce(context, \u0027action_plan:delete\u0027, action_plan,"},{"line_number":461,"context_line":"                       action\u003d\u0027action_plan:delete\u0027)"},{"line_number":462,"context_line":"        not_allowed_states \u003d [ap_objects.State.CANCELLING,"},{"line_number":463,"context_line":"                              ap_objects.State.ONGOING,"},{"line_number":464,"context_line":"                              ap_objects.State.PENDING]"},{"line_number":465,"context_line":"        db_action_plan \u003d objects.ActionPlan.get_by_uuid(pecan.request.context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_d78384cb","line":462,"range":{"start_line":462,"start_character":8,"end_line":462,"end_character":26},"in_reply_to":"ff346bd7_77f5f882","updated":"2017-07-26 05:38:01.000000000","message":"i checked actionplan that is ongoing state can also be deleted, these are not allowed state to delete action plan","commit_id":"44c5386a8e5cd4cb77360bf80cfae20e20d178d7"}],"watcher/applier/actions/sleep.py":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"a7a4fc32e94ccca379e85647bb29245a5b0d30bc","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    def execute(self):"},{"line_number":69,"context_line":"        LOG.debug(\"Starting action sleep with duration: %s \", self.duration)"},{"line_number":70,"context_line":"        time.sleep(self.duration)"},{"line_number":71,"context_line":"        time.sleep(50)"},{"line_number":72,"context_line":"        return True"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def revert(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_ad9b41c7","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":22},"updated":"2017-07-25 01:16:06.000000000","message":"Why do we need sleep 50?","commit_id":"cd1a7949e0da52e0d8d6b2d7b3443be0ea1fc21f"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"6842f4f2b1ac1ef3210d47a44141ca0026c60c67","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    def execute(self):"},{"line_number":69,"context_line":"        LOG.debug(\"Starting action sleep with duration: %s \", self.duration)"},{"line_number":70,"context_line":"        time.sleep(self.duration)"},{"line_number":71,"context_line":"        time.sleep(50)"},{"line_number":72,"context_line":"        return True"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def revert(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_74ccd660","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":22},"in_reply_to":"ff346bd7_ad9b41c7","updated":"2017-07-26 04:35:24.000000000","message":"sorry, it was by mistake","commit_id":"cd1a7949e0da52e0d8d6b2d7b3443be0ea1fc21f"}]}
