)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d5467bcfd892f477a1be6b6624da65390e338d60","unresolved":false,"context_lines":[{"line_number":21,"context_line":"re-creating those resources from the source cell into"},{"line_number":22,"context_line":"the target cell."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The existing action_start() and event_start() methods"},{"line_number":25,"context_line":"will not work for this scenario since those depend on the"},{"line_number":26,"context_line":"current context but we need to clone actions/events created"},{"line_number":27,"context_line":"with an older/different context."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Part of blueprint cross-cell-resize"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_68b7e4d8","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":32},"updated":"2018-11-07 14:32:44.000000000","message":"there isn\u0027t a way to use a cell-setting context manager when calling action_start() during a cross-cell migration?","commit_id":"95e8ab1be1e03dc7c53c4f32822275ef5362bbf2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b3026fa41b379b405079398d05b48574ce6ddf93","unresolved":false,"context_lines":[{"line_number":21,"context_line":"re-creating those resources from the source cell into"},{"line_number":22,"context_line":"the target cell."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The existing action_start() and event_start() methods"},{"line_number":25,"context_line":"will not work for this scenario since those depend on the"},{"line_number":26,"context_line":"current context but we need to clone actions/events created"},{"line_number":27,"context_line":"with an older/different context."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Part of blueprint cross-cell-resize"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_a89e5cf7","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":32},"in_reply_to":"3f79a3b5_68b7e4d8","updated":"2018-11-07 14:45:13.000000000","message":"That\u0027s not the problem. The problem is the action_start() method creates an instance action event based on the current time and request context, but what I need is to essentially replicate existing actions from the source cell in the target cell so the action history isn\u0027t lost.","commit_id":"95e8ab1be1e03dc7c53c4f32822275ef5362bbf2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4e7b241f0e28fc9d232be78f90590e8c5d27f483","unresolved":false,"context_lines":[{"line_number":14,"context_line":"where the resize completes. Not only that, but we want"},{"line_number":15,"context_line":"to also make sure the history of actions performed on"},{"line_number":16,"context_line":"an instance are copied into the target cell database"},{"line_number":17,"context_line":"in case the resize is confirmed there."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This adds a create() method for the InstanceAction"},{"line_number":20,"context_line":"and InstanceActionEvent objects to allow directly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"bfb3d3c7_03bb8bc4","line":17,"updated":"2019-05-30 15:30:04.000000000","message":"Theoretical question without digging deep into the implementation: When we revert do we makes sure that any new action / event added only in the target cell is copied back to the source cell? Or we parallel updating the data in the source and the target cell during the resize?","commit_id":"bf190cb469588b799d001bafe3e27f3aee596b04"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fc0c31a9fb8187bae611b63c55a805e1e0477fdb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"where the resize completes. Not only that, but we want"},{"line_number":15,"context_line":"to also make sure the history of actions performed on"},{"line_number":16,"context_line":"an instance are copied into the target cell database"},{"line_number":17,"context_line":"in case the resize is confirmed there."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This adds a create() method for the InstanceAction"},{"line_number":20,"context_line":"and InstanceActionEvent objects to allow directly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"bfb3d3c7_8808e191","line":17,"in_reply_to":"bfb3d3c7_03bb8bc4","updated":"2019-05-31 14:34:03.000000000","message":"\u003e When we revert do we makes sure that any new action / event added only in the target cell is copied back to the source cell?\n\nYes, but it\u0027s not all the way done yet, see:\n\nhttps://review.opendev.org/#/c/638046/26/nova/conductor/tasks/cross_cell_migrate.py@1214","commit_id":"bf190cb469588b799d001bafe3e27f3aee596b04"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcf42491ac7588d30a600d464998124de5de4e23","unresolved":false,"context_lines":[{"line_number":14,"context_line":"where the resize completes. Not only that, but we want"},{"line_number":15,"context_line":"to also make sure the history of actions performed on"},{"line_number":16,"context_line":"an instance are copied into the target cell database"},{"line_number":17,"context_line":"in case the resize is confirmed there."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This adds a create() method for the InstanceAction"},{"line_number":20,"context_line":"and InstanceActionEvent objects to allow directly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"9fb8cfa7_5fb5a1ed","line":17,"in_reply_to":"bfb3d3c7_8808e191","updated":"2019-06-03 09:09:09.000000000","message":"Thanks for the pointer. Cool that it is not forgotten.","commit_id":"bf190cb469588b799d001bafe3e27f3aee596b04"}],"nova/objects/instance_action.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fac7c0990d734799d9803a67dbe5f774ec76d9e7","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        db_action \u003d db.action_finish(self._context, values)"},{"line_number":100,"context_line":"        self._from_db_object(self._context, self, db_action)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    # NOTE(mriedem): In most cases, the action_start() method should be used"},{"line_number":103,"context_line":"    # to create new InstanceAction records. This method should only be used"},{"line_number":104,"context_line":"    # in specific exceptional cases like when cloning actions from one cell"},{"line_number":105,"context_line":"    # database to another."},{"line_number":106,"context_line":"    @base.remotable"},{"line_number":107,"context_line":"    def create(self):"},{"line_number":108,"context_line":"        if \u0027id\u0027 in self:"}],"source_content_type":"text/x-python","patch_set":46,"id":"7faddb67_df8092c2","line":105,"range":{"start_line":102,"start_character":0,"end_line":105,"end_character":26},"updated":"2019-08-09 15:46:33.000000000","message":"I guess we couldn\u0027t just add a \u0027if context is None: context\u003dself._context\u0027 check in \u0027action_start\u0027","commit_id":"b92276d4ed68a8da96702dcea059af87e56b5f8c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"11cc740e5614f0fcb315ab33ceb8d25b6ff39fba","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        db_action \u003d db.action_finish(self._context, values)"},{"line_number":100,"context_line":"        self._from_db_object(self._context, self, db_action)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    # NOTE(mriedem): In most cases, the action_start() method should be used"},{"line_number":103,"context_line":"    # to create new InstanceAction records. This method should only be used"},{"line_number":104,"context_line":"    # in specific exceptional cases like when cloning actions from one cell"},{"line_number":105,"context_line":"    # database to another."},{"line_number":106,"context_line":"    @base.remotable"},{"line_number":107,"context_line":"    def create(self):"},{"line_number":108,"context_line":"        if \u0027id\u0027 in self:"}],"source_content_type":"text/x-python","patch_set":46,"id":"7faddb67_532c99ab","line":105,"range":{"start_line":102,"start_character":0,"end_line":105,"end_character":26},"in_reply_to":"7faddb67_df8092c2","updated":"2019-08-09 19:29:02.000000000","message":"The context is required on action_start and can\u0027t be None because of the decorator:\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/1.36.0/oslo_versionedobjects/base.py#L171\n\nOtherwise the indirection API will blow up.\n\nhttps://github.com/openstack/nova/blob/6b7d0caad86fe32ffc49a8672de1eb7258f3b919/nova/conductor/manager.py#L139","commit_id":"b92276d4ed68a8da96702dcea059af87e56b5f8c"}],"nova/tests/unit/objects/test_instance_action.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"6db32f3a5909c9871fd92eff2cbc4f92cf14f5ce","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        action.create()"},{"line_number":195,"context_line":"        mock_action_start.assert_called_once_with("},{"line_number":196,"context_line":"            self.context, expected_updates)"},{"line_number":197,"context_line":"        self.compare_obj(action, fake_action)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"class TestInstanceActionObject(test_objects._LocalTest,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_e5eb9ead","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":45},"updated":"2019-01-22 06:42:07.000000000","message":"Yeah, this one seem tested the created_at that I cared about.","commit_id":"57bdb6f273c2947aa9fe80fff2c61a633eace915"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"6db32f3a5909c9871fd92eff2cbc4f92cf14f5ce","unresolved":false,"context_lines":[{"line_number":395,"context_line":"        event.create(fake_action[\u0027instance_uuid\u0027], fake_action[\u0027request_id\u0027])"},{"line_number":396,"context_line":"        mock_action_event_start.assert_called_once_with("},{"line_number":397,"context_line":"            self.context, expected_updates)"},{"line_number":398,"context_line":"        self.compare_obj(event, fake_event)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"class TestInstanceActionEventObject(test_objects._LocalTest,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_a5cd965e","line":398,"range":{"start_line":398,"start_character":8,"end_line":398,"end_character":43},"updated":"2019-01-22 06:42:07.000000000","message":"this too :)","commit_id":"57bdb6f273c2947aa9fe80fff2c61a633eace915"}]}
