)]}'
{"nova/tests/unit/cells/test_cells_messaging.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":759,"context_line":"                                 \u0027instance_destroy_at_top\u0027)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        objects.Instance.get_by_uuid(self.ctxt, instance.uuid,"},{"line_number":762,"context_line":"                expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":763,"context_line":"                                \u0027security_groups\u0027, \u0027info_cache\u0027]).AndRaise("},{"line_number":764,"context_line":"                        exception.InstanceNotFound(instance_id\u003dinstance_uuid))"},{"line_number":765,"context_line":"        self.tgt_msg_runner.instance_destroy_at_top(self.ctxt,"},{"line_number":766,"context_line":"                                                    mox.IsA(objects.Instance))"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_50b59830","side":"PARENT","line":763,"range":{"start_line":761,"start_character":0,"end_line":763,"end_character":65},"updated":"2017-04-06 07:18:15.000000000","message":"This call is asserted before the patch is applied.\nSo it should be asserted after the patch is applied.","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":759,"context_line":"                                 \u0027instance_destroy_at_top\u0027)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        objects.Instance.get_by_uuid(self.ctxt, instance.uuid,"},{"line_number":762,"context_line":"                expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":763,"context_line":"                                \u0027security_groups\u0027, \u0027info_cache\u0027]).AndRaise("},{"line_number":764,"context_line":"                        exception.InstanceNotFound(instance_id\u003dinstance_uuid))"},{"line_number":765,"context_line":"        self.tgt_msg_runner.instance_destroy_at_top(self.ctxt,"},{"line_number":766,"context_line":"                                                    mox.IsA(objects.Instance))"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_5656b02b","side":"PARENT","line":763,"range":{"start_line":761,"start_character":0,"end_line":763,"end_character":65},"in_reply_to":"bff0334d_50b59830","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                                 \u0027update_cell_capabilities\u0027)"},{"line_number":792,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":793,"context_line":"                                 \u0027tell_parents_our_capabilities\u0027)"},{"line_number":794,"context_line":"        self.src_state_manager.get_our_capabilities().AndReturn(capabs)"},{"line_number":795,"context_line":"        self.tgt_state_manager.update_cell_capabilities(\u0027child-cell2\u0027,"},{"line_number":796,"context_line":"                                                        expected_capabs)"},{"line_number":797,"context_line":"        self.tgt_msg_runner.tell_parents_our_capabilities(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_f0cb8ca2","side":"PARENT","line":794,"range":{"start_line":794,"start_character":7,"end_line":794,"end_character":53},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                                 \u0027update_cell_capabilities\u0027)"},{"line_number":792,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":793,"context_line":"                                 \u0027tell_parents_our_capabilities\u0027)"},{"line_number":794,"context_line":"        self.src_state_manager.get_our_capabilities().AndReturn(capabs)"},{"line_number":795,"context_line":"        self.tgt_state_manager.update_cell_capabilities(\u0027child-cell2\u0027,"},{"line_number":796,"context_line":"                                                        expected_capabs)"},{"line_number":797,"context_line":"        self.tgt_msg_runner.tell_parents_our_capabilities(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_762e54a6","side":"PARENT","line":794,"range":{"start_line":794,"start_character":7,"end_line":794,"end_character":53},"in_reply_to":"bff0334d_f0cb8ca2","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":809,"context_line":"                                 \u0027update_cell_capacities\u0027)"},{"line_number":810,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":811,"context_line":"                                 \u0027tell_parents_our_capacities\u0027)"},{"line_number":812,"context_line":"        self.src_state_manager.get_our_capacities().AndReturn(capacs)"},{"line_number":813,"context_line":"        self.tgt_state_manager.update_cell_capacities(\u0027child-cell2\u0027,"},{"line_number":814,"context_line":"                                                      capacs)"},{"line_number":815,"context_line":"        self.tgt_msg_runner.tell_parents_our_capacities(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_50bc7804","side":"PARENT","line":812,"range":{"start_line":812,"start_character":8,"end_line":812,"end_character":51},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":809,"context_line":"                                 \u0027update_cell_capacities\u0027)"},{"line_number":810,"context_line":"        self.mox.StubOutWithMock(self.tgt_msg_runner,"},{"line_number":811,"context_line":"                                 \u0027tell_parents_our_capacities\u0027)"},{"line_number":812,"context_line":"        self.src_state_manager.get_our_capacities().AndReturn(capacs)"},{"line_number":813,"context_line":"        self.tgt_state_manager.update_cell_capacities(\u0027child-cell2\u0027,"},{"line_number":814,"context_line":"                                                      capacs)"},{"line_number":815,"context_line":"        self.tgt_msg_runner.tell_parents_our_capacities(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_967318e8","side":"PARENT","line":812,"range":{"start_line":812,"start_character":8,"end_line":812,"end_character":51},"in_reply_to":"bff0334d_50bc7804","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":851,"context_line":""},{"line_number":852,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_compute_host\u0027)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        objects.Service.get_by_compute_host(self.ctxt,"},{"line_number":855,"context_line":"                fake_host_name).AndReturn(\u0027fake-service\u0027)"},{"line_number":856,"context_line":"        self.mox.ReplayAll()"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        response \u003d self.src_msg_runner.service_get_by_compute_host("}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_f0402c0a","side":"PARENT","line":855,"range":{"start_line":854,"start_character":8,"end_line":855,"end_character":31},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":851,"context_line":""},{"line_number":852,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_compute_host\u0027)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        objects.Service.get_by_compute_host(self.ctxt,"},{"line_number":855,"context_line":"                fake_host_name).AndReturn(\u0027fake-service\u0027)"},{"line_number":856,"context_line":"        self.mox.ReplayAll()"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        response \u003d self.src_msg_runner.service_get_by_compute_host("}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_36632c1d","side":"PARENT","line":855,"range":{"start_line":854,"start_character":8,"end_line":855,"end_character":31},"in_reply_to":"bff0334d_f0402c0a","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":872,"context_line":"        fake_service.compute_node \u003d objects.ComputeNode(id\u003d1, host\u003d\u0027fake_host\u0027)"},{"line_number":873,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_args\u0027)"},{"line_number":874,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027save\u0027)"},{"line_number":875,"context_line":"        objects.Service.get_by_args("},{"line_number":876,"context_line":"            self.ctxt, \u0027fake_host\u0027, \u0027nova-compute\u0027).AndReturn(fake_service)"},{"line_number":877,"context_line":"        fake_service.save()"},{"line_number":878,"context_line":"        self.mox.ReplayAll()"},{"line_number":879,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_b04aa424","side":"PARENT","line":876,"range":{"start_line":875,"start_character":8,"end_line":876,"end_character":51},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":872,"context_line":"        fake_service.compute_node \u003d objects.ComputeNode(id\u003d1, host\u003d\u0027fake_host\u0027)"},{"line_number":873,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_args\u0027)"},{"line_number":874,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027save\u0027)"},{"line_number":875,"context_line":"        objects.Service.get_by_args("},{"line_number":876,"context_line":"            self.ctxt, \u0027fake_host\u0027, \u0027nova-compute\u0027).AndReturn(fake_service)"},{"line_number":877,"context_line":"        fake_service.save()"},{"line_number":878,"context_line":"        self.mox.ReplayAll()"},{"line_number":879,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_76abf41c","side":"PARENT","line":876,"range":{"start_line":875,"start_character":8,"end_line":876,"end_character":51},"in_reply_to":"bff0334d_b04aa424","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":874,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027save\u0027)"},{"line_number":875,"context_line":"        objects.Service.get_by_args("},{"line_number":876,"context_line":"            self.ctxt, \u0027fake_host\u0027, \u0027nova-compute\u0027).AndReturn(fake_service)"},{"line_number":877,"context_line":"        fake_service.save()"},{"line_number":878,"context_line":"        self.mox.ReplayAll()"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"        response \u003d self.src_msg_runner.service_update("}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_70541ccb","side":"PARENT","line":877,"range":{"start_line":877,"start_character":8,"end_line":877,"end_character":27},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":874,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027save\u0027)"},{"line_number":875,"context_line":"        objects.Service.get_by_args("},{"line_number":876,"context_line":"            self.ctxt, \u0027fake_host\u0027, \u0027nova-compute\u0027).AndReturn(fake_service)"},{"line_number":877,"context_line":"        fake_service.save()"},{"line_number":878,"context_line":"        self.mox.ReplayAll()"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"        response \u003d self.src_msg_runner.service_update("}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_96ae782c","side":"PARENT","line":877,"range":{"start_line":877,"start_character":8,"end_line":877,"end_character":27},"in_reply_to":"bff0334d_70541ccb","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        fake_host_name \u003d \u0027fake-host-name\u0027"},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_compute_host\u0027)"},{"line_number":893,"context_line":"        objects.Service.get_by_compute_host(self.ctxt, fake_host_name)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        target \u003d oslo_messaging.Target(topic\u003d\u0027fake-topic\u0027)"},{"line_number":896,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_d05e48e5","side":"PARENT","line":893,"range":{"start_line":893,"start_character":7,"end_line":893,"end_character":70},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        fake_host_name \u003d \u0027fake-host-name\u0027"},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"        self.mox.StubOutWithMock(objects.Service, \u0027get_by_compute_host\u0027)"},{"line_number":893,"context_line":"        objects.Service.get_by_compute_host(self.ctxt, fake_host_name)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        target \u003d oslo_messaging.Target(topic\u003d\u0027fake-topic\u0027)"},{"line_number":896,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_d6a3e04e","side":"PARENT","line":893,"range":{"start_line":893,"start_character":7,"end_line":893,"end_character":70},"in_reply_to":"bff0334d_d05e48e5","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":896,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":899,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":900,"context_line":"        rpcclient.prepare(timeout\u003d5).AndReturn(rpcclient)"},{"line_number":901,"context_line":"        rpcclient.call(mox.IgnoreArg(),"},{"line_number":902,"context_line":"                       \u0027fake_rpc_method\u0027).AndReturn(\u0027fake_result\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_506a3880","side":"PARENT","line":899,"range":{"start_line":899,"start_character":8,"end_line":899,"end_character":30},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":896,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":899,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":900,"context_line":"        rpcclient.prepare(timeout\u003d5).AndReturn(rpcclient)"},{"line_number":901,"context_line":"        rpcclient.call(mox.IgnoreArg(),"},{"line_number":902,"context_line":"                       \u0027fake_rpc_method\u0027).AndReturn(\u0027fake_result\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_564590b2","side":"PARENT","line":899,"range":{"start_line":899,"start_character":8,"end_line":899,"end_character":30},"in_reply_to":"bff0334d_506a3880","updated":"2017-04-06 09:27:53.000000000","message":"these three function as my comments mentioned, if i mock the RPCClient instance to a mock object, the mock object\u0027s method cannot be mocked, such as RPCClient().prepare\u0026call. Do not know why this will happen. So I faked the RPCClient and three functions of it. Any suggestion?","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":899,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":900,"context_line":"        rpcclient.prepare(timeout\u003d5).AndReturn(rpcclient)"},{"line_number":901,"context_line":"        rpcclient.call(mox.IgnoreArg(),"},{"line_number":902,"context_line":"                       \u0027fake_rpc_method\u0027).AndReturn(\u0027fake_result\u0027)"},{"line_number":903,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_100a70d1","side":"PARENT","line":900,"range":{"start_line":900,"start_character":8,"end_line":900,"end_character":36},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":898,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":899,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":900,"context_line":"        rpcclient.prepare(timeout\u003d5).AndReturn(rpcclient)"},{"line_number":901,"context_line":"        rpcclient.call(mox.IgnoreArg(),"},{"line_number":902,"context_line":"                       \u0027fake_rpc_method\u0027).AndReturn(\u0027fake_result\u0027)"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_f00eece3","side":"PARENT","line":901,"range":{"start_line":901,"start_character":8,"end_line":901,"end_character":22},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":924,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":927,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":928,"context_line":"        rpcclient.cast(mox.IgnoreArg(), \u0027fake_rpc_method\u0027)"},{"line_number":929,"context_line":""},{"line_number":930,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_302e9443","side":"PARENT","line":927,"range":{"start_line":927,"start_character":8,"end_line":927,"end_character":30},"updated":"2017-04-06 07:18:15.000000000","message":"ditto","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":924,"context_line":"        rpcclient \u003d self.mox.CreateMockAnything()"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"        self.mox.StubOutWithMock(rpc, \u0027get_client\u0027)"},{"line_number":927,"context_line":"        rpc.get_client(target).AndReturn(rpcclient)"},{"line_number":928,"context_line":"        rpcclient.cast(mox.IgnoreArg(), \u0027fake_rpc_method\u0027)"},{"line_number":929,"context_line":""},{"line_number":930,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_d6d520bb","side":"PARENT","line":927,"range":{"start_line":927,"start_character":8,"end_line":927,"end_character":30},"in_reply_to":"bff0334d_302e9443","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"47d90a3028438ee8ddc541a807dee3915dcf62aa"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":705,"context_line":"        self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"},{"line_number":706,"context_line":"                build_inst_kwargs)"},{"line_number":707,"context_line":"        self.tgt_scheduler.build_instances.assert_called_with("},{"line_number":708,"context_line":"                mock.ANY, build_inst_kwargs)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    def _run_compute_api_method(self, method_name):"},{"line_number":711,"context_line":"        instance \u003d fake_instance.fake_instance_obj(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_e234e64c","line":708,"range":{"start_line":708,"start_character":16,"end_line":708,"end_character":24},"updated":"2017-04-06 07:18:15.000000000","message":"It should be self.ctxt.","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":705,"context_line":"        self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"},{"line_number":706,"context_line":"                build_inst_kwargs)"},{"line_number":707,"context_line":"        self.tgt_scheduler.build_instances.assert_called_with("},{"line_number":708,"context_line":"                mock.ANY, build_inst_kwargs)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    def _run_compute_api_method(self, method_name):"},{"line_number":711,"context_line":"        instance \u003d fake_instance.fake_instance_obj(self.ctxt)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_2332cdf2","line":708,"range":{"start_line":708,"start_character":16,"end_line":708,"end_character":24},"in_reply_to":"bff0334d_e234e64c","updated":"2017-04-06 09:27:53.000000000","message":"when scheduler.build_instances called, it really should be an instance of _TargetedMessage.But we cannot new a _TargetedMessage and assert the parameter. The new _TargetedMessage and the message in code path has different uuid. Any suggestion? What we can do our best is to assert the type is _TargetedMessage.","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            self.assertRaises(exception.InstanceNotFound,"},{"line_number":768,"context_line":"                              response.value_or_raise)"},{"line_number":769,"context_line":"            des_top.assert_called_with(self.ctxt,"},{"line_number":770,"context_line":"                                       test.MatchType(objects.Instance))"},{"line_number":771,"context_line":""},{"line_number":772,"context_line":"    def test_update_capabilities(self):"},{"line_number":773,"context_line":"        # Route up to API"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_10d7104e","line":770,"updated":"2017-04-06 07:18:15.000000000","message":"So add \n\n    mock_get_by_uuid.assert_called_once_with(\n        self.ctxt, instance.uuid,\n        expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027,\n                        \u0027security_groups\u0027, \u0027info_cache\u0027])","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            self.assertRaises(exception.InstanceNotFound,"},{"line_number":768,"context_line":"                              response.value_or_raise)"},{"line_number":769,"context_line":"            des_top.assert_called_with(self.ctxt,"},{"line_number":770,"context_line":"                                       test.MatchType(objects.Instance))"},{"line_number":771,"context_line":""},{"line_number":772,"context_line":"    def test_update_capabilities(self):"},{"line_number":773,"context_line":"        # Route up to API"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_1636e804","line":770,"in_reply_to":"bff0334d_10d7104e","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ff9f3b08933dd2ccb56413a41f68255ce3ebe216","unresolved":false,"context_lines":[{"line_number":852,"context_line":"                                       topic\u003d\u0027compute\u0027)"},{"line_number":853,"context_line":"        fake_service.compute_node \u003d objects.ComputeNode(id\u003d1, host\u003d\u0027fake_host\u0027)"},{"line_number":854,"context_line":"        mock_get_args.return_value \u003d fake_service"},{"line_number":855,"context_line":"        fake_service.save()"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        response \u003d self.src_msg_runner.service_update("},{"line_number":858,"context_line":"                self.ctxt, self.tgt_cell_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_30ffb402","line":855,"range":{"start_line":855,"start_character":1,"end_line":855,"end_character":27},"updated":"2017-04-06 07:18:15.000000000","message":"It should be removed.","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"ce529b8cfdc94d8250be2e489d76f7c3bffba52e","unresolved":false,"context_lines":[{"line_number":852,"context_line":"                                       topic\u003d\u0027compute\u0027)"},{"line_number":853,"context_line":"        fake_service.compute_node \u003d objects.ComputeNode(id\u003d1, host\u003d\u0027fake_host\u0027)"},{"line_number":854,"context_line":"        mock_get_args.return_value \u003d fake_service"},{"line_number":855,"context_line":"        fake_service.save()"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        response \u003d self.src_msg_runner.service_update("},{"line_number":858,"context_line":"                self.ctxt, self.tgt_cell_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_b6b17c92","line":855,"range":{"start_line":855,"start_character":1,"end_line":855,"end_character":27},"in_reply_to":"bff0334d_30ffb402","updated":"2017-04-06 09:27:53.000000000","message":"Done","commit_id":"171e21be00648da5e938238980d361f4f070b04c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6dbf6382e9146a665e4ab5b1d5aadf16b504e6ac","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        build_inst_kwargs \u003d {\u0027filter_properties\u0027: {},"},{"line_number":703,"context_line":"                             \u0027key1\u0027: \u0027value1\u0027,"},{"line_number":704,"context_line":"                             \u0027key2\u0027: \u0027value2\u0027}"},{"line_number":705,"context_line":"        self.tgt_scheduler.build_instances \u003d mock.Mock()"},{"line_number":706,"context_line":"        self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"},{"line_number":707,"context_line":"                build_inst_kwargs)"},{"line_number":708,"context_line":"        self.tgt_scheduler.build_instances.assert_called_with("}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_1f5db9e8","line":705,"range":{"start_line":705,"start_character":8,"end_line":705,"end_character":56},"updated":"2017-05-19 14:47:06.000000000","message":"I don\u0027t think you can do this. This will affect \u0027self.tgt_scheduler\u0027 for all using that object here. Instead you should set this as a decorator like so:\n\n  with mock.patch.object(self.tgt_scheduler, \u0027build_instances\u0027) as mock_build_instances:\n      ... (other two lines)","commit_id":"2638b924c812e031dc177b29f0ae5d6afe8309bf"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"e870dd4c030d863221d840af60bbd97f2e10219d","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        build_inst_kwargs \u003d {\u0027filter_properties\u0027: {},"},{"line_number":703,"context_line":"                             \u0027key1\u0027: \u0027value1\u0027,"},{"line_number":704,"context_line":"                             \u0027key2\u0027: \u0027value2\u0027}"},{"line_number":705,"context_line":"        self.tgt_scheduler.build_instances \u003d mock.Mock()"},{"line_number":706,"context_line":"        self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"},{"line_number":707,"context_line":"                build_inst_kwargs)"},{"line_number":708,"context_line":"        self.tgt_scheduler.build_instances.assert_called_with("}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_7b0ee932","line":705,"range":{"start_line":705,"start_character":8,"end_line":705,"end_character":56},"in_reply_to":"ff0f0b1f_1f5db9e8","updated":"2017-05-22 00:49:13.000000000","message":"Done","commit_id":"2638b924c812e031dc177b29f0ae5d6afe8309bf"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e0e3aa6e2ef5097b5ec7fc316c0cc637daae76b4","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        build_inst_kwargs \u003d {\u0027filter_properties\u0027: {},"},{"line_number":703,"context_line":"                             \u0027key1\u0027: \u0027value1\u0027,"},{"line_number":704,"context_line":"                             \u0027key2\u0027: \u0027value2\u0027}"},{"line_number":705,"context_line":"        self.tgt_scheduler.build_instances \u003d mock.Mock()"},{"line_number":706,"context_line":"        with mock.patch.object(self.tgt_scheduler,"},{"line_number":707,"context_line":"                               \u0027build_instances\u0027) as mock_build_instances:"},{"line_number":708,"context_line":"            self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_91446076","line":705,"range":{"start_line":705,"start_character":0,"end_line":705,"end_character":56},"updated":"2017-05-26 04:45:01.000000000","message":"this is not needed.","commit_id":"e5d1d4ff7324e127088502712622e491cf7c6204"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"527760b78596c9a383c54ad0fdee761febaa39bf","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        build_inst_kwargs \u003d {\u0027filter_properties\u0027: {},"},{"line_number":703,"context_line":"                             \u0027key1\u0027: \u0027value1\u0027,"},{"line_number":704,"context_line":"                             \u0027key2\u0027: \u0027value2\u0027}"},{"line_number":705,"context_line":"        self.tgt_scheduler.build_instances \u003d mock.Mock()"},{"line_number":706,"context_line":"        with mock.patch.object(self.tgt_scheduler,"},{"line_number":707,"context_line":"                               \u0027build_instances\u0027) as mock_build_instances:"},{"line_number":708,"context_line":"            self.src_msg_runner.build_instances(self.ctxt, self.tgt_cell_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_1d5bc154","line":705,"range":{"start_line":705,"start_character":0,"end_line":705,"end_character":56},"in_reply_to":"ff0f0b1f_91446076","updated":"2017-05-26 06:44:09.000000000","message":"Done","commit_id":"e5d1d4ff7324e127088502712622e491cf7c6204"}]}
