)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"123dd320da4d80ae3f5b166408cd51da177bcf79","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Added instance actions for conductor"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"to track result of conductor actions"},{"line_number":10,"context_line":"wrap_instance_action decorator is moved to"},{"line_number":11,"context_line":"compute_utils and is added for migrate_server"},{"line_number":12,"context_line":"method"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a122d0e_216a8eb5","line":10,"updated":"2016-05-05 14:12:41.000000000","message":"It\u0027s wrap_instance_event","commit_id":"cb9a3da9029ec366552579110a062ebb79151d1c"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"07b3d1ba9fa5e1e7106f0bd82c1de55c98ce03cf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Added instance actions for conductor"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"to track result of conductor actions"},{"line_number":10,"context_line":"wrap_instance_action decorator is moved to"},{"line_number":11,"context_line":"compute_utils and is added for migrate_server"},{"line_number":12,"context_line":"method"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_3b1582e4","line":10,"in_reply_to":"1a122d0e_216a8eb5","updated":"2016-05-11 09:40:00.000000000","message":"Done","commit_id":"cb9a3da9029ec366552579110a062ebb79151d1c"}],"nova/compute/utils.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"123dd320da4d80ae3f5b166408cd51da177bcf79","unresolved":false,"context_lines":[{"line_number":523,"context_line":"        return False"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"def wrap_instance_event(event_prefix\u003d\u0027compute\u0027):"},{"line_number":527,"context_line":"    \"\"\"Wraps a method to log the event taken on the instance, and result."},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    This decorator wraps a method to log the start and result of an event, as"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_e14c1678","line":526,"updated":"2016-05-05 14:12:41.000000000","message":"I would prefer that event_prefix did not default to \u0027compute\u0027 and was required to be set by all users of this decorator. But it\u0027s a minor thing and not worth holding up the patch for.","commit_id":"cb9a3da9029ec366552579110a062ebb79151d1c"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"07b3d1ba9fa5e1e7106f0bd82c1de55c98ce03cf","unresolved":false,"context_lines":[{"line_number":523,"context_line":"        return False"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"def wrap_instance_event(event_prefix\u003d\u0027compute\u0027):"},{"line_number":527,"context_line":"    \"\"\"Wraps a method to log the event taken on the instance, and result."},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    This decorator wraps a method to log the start and result of an event, as"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_5bf166cc","line":526,"in_reply_to":"1a122d0e_e14c1678","updated":"2016-05-11 09:40:00.000000000","message":"Done","commit_id":"cb9a3da9029ec366552579110a062ebb79151d1c"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"82fff89f9bb301780b415d0a900c4457dcbe7d6d","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        return False"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"def wrap_instance_event(event_prefix):"},{"line_number":550,"context_line":"    \"\"\"Wraps a method to log the event taken on the instance, and result."},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    This decorator wraps a method to log the start and result of an event, as"}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_5e5eec45","line":549,"updated":"2016-06-10 16:40:01.000000000","message":"Looking at this now \u0027event_\u0027 is redundant. This should just be \u0027prefix\u0027. Could be changed in a followup though.","commit_id":"093b429579ccb086c608df460aadaf366c59fe5b"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"964c2fe3c298939ec8aeec918792659417f7c439","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        return False"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"def wrap_instance_event(event_prefix):"},{"line_number":550,"context_line":"    \"\"\"Wraps a method to log the event taken on the instance, and result."},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    This decorator wraps a method to log the start and result of an event, as"}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_f03cb830","line":549,"in_reply_to":"7aa08908_5e5eec45","updated":"2016-06-14 09:18:12.000000000","message":"Done","commit_id":"093b429579ccb086c608df460aadaf366c59fe5b"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"186680a77f65ee7693489ff22fc9ceba8940bea5","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                               block_migration, disk_over_commit, request_spec)"},{"line_number":199,"context_line":"        elif not live and not rebuild and flavor:"},{"line_number":200,"context_line":"            instance_uuid \u003d instance.uuid"},{"line_number":201,"context_line":"            with compute_utils.EventReporter(context, \u0027cold_migrate\u0027,"},{"line_number":202,"context_line":"                                             instance_uuid):"},{"line_number":203,"context_line":"                self._cold_migrate(context, instance, flavor,"},{"line_number":204,"context_line":"                                   scheduler_hint[\u0027filter_properties\u0027],"},{"line_number":205,"context_line":"                                   reservations, clean_shutdown, request_spec)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5fc1f717_a841b5a8","line":202,"range":{"start_line":201,"start_character":12,"end_line":202,"end_character":60},"updated":"2019-04-03 21:03:13.000000000","message":"Gah, we already had this...","commit_id":"51fdeaf5e057dd7b41ba839e32d8710d40cba599"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9492d9e015c0b4ec861e81b5f473955c1dff14a2","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"                                self.conductor_manager.compute_rpcapi)"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"    def test_migrate_server_fails_with_rebuild(self):"},{"line_number":1312,"context_line":"        instance \u003d fake_instance.fake_db_instance(uuid\u003d\u0027uuid\u0027,"},{"line_number":1313,"context_line":"                                                  vm_state\u003dvm_states.ACTIVE)"},{"line_number":1314,"context_line":"        inst_obj \u003d objects.Instance._from_db_object("},{"line_number":1315,"context_line":"            self.context, objects.Instance(), instance, [])"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_5b411a0b","line":1312,"range":{"start_line":1312,"start_character":56,"end_line":1312,"end_character":60},"updated":"2016-06-22 01:14:40.000000000","message":"We should also use real uuids now.","commit_id":"3ad27b8edd2a80d374f70fd9928d81361d39d752"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"963130846e9797eb44fe20c24da4bbf1bbd6e78c","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"                                self.conductor_manager.compute_rpcapi)"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"    def test_migrate_server_fails_with_rebuild(self):"},{"line_number":1312,"context_line":"        instance \u003d fake_instance.fake_db_instance(uuid\u003d\u0027uuid\u0027,"},{"line_number":1313,"context_line":"                                                  vm_state\u003dvm_states.ACTIVE)"},{"line_number":1314,"context_line":"        inst_obj \u003d objects.Instance._from_db_object("},{"line_number":1315,"context_line":"            self.context, objects.Instance(), instance, [])"},{"line_number":1316,"context_line":"        self.assertRaises(NotImplementedError, self.conductor.migrate_server,"},{"line_number":1317,"context_line":"            self.context, inst_obj, None, True, True, None, None, None)"},{"line_number":1318,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_e8f2be99","line":1315,"range":{"start_line":1312,"start_character":8,"end_line":1315,"end_character":59},"updated":"2016-06-22 00:42:56.000000000","message":"I realize this is already a pattern in this test class, but why not just use the fake_instance_obj helper that does this for you?\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/unit/fake_instance.py#L103","commit_id":"3ad27b8edd2a80d374f70fd9928d81361d39d752"}]}
