)]}'
{"ceilometer/compute/virt/xenapi/inspector.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"a49b8710c7e3027653b4be5597f195dcdd1eabe8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self.session \u003d get_api_session(self.conf)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _lookup_by_name(self, instance_name):"},{"line_number":69,"context_line":"        vm_refs \u003d self.session.call_xenapi(\"VM.get_by_name_label\","},{"line_number":70,"context_line":"                                           instance_name)"},{"line_number":71,"context_line":"        n \u003d len(vm_refs)"},{"line_number":72,"context_line":"        if n \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_93d8807f","line":69,"updated":"2017-05-09 09:12:47.000000000","message":"While we\u0027re here, can we convert calls to the new format?\nvm_refs \u003d self.session.VM.get_by_name_label(instance_name)","commit_id":"325e53dceab81c5c5e9c3eb97c4887205aaca1a5"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"bae2faa15c93212ef90febbbf5b074d6438a6ab6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self.session \u003d get_api_session(self.conf)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _lookup_by_name(self, instance_name):"},{"line_number":69,"context_line":"        vm_refs \u003d self.session.call_xenapi(\"VM.get_by_name_label\","},{"line_number":70,"context_line":"                                           instance_name)"},{"line_number":71,"context_line":"        n \u003d len(vm_refs)"},{"line_number":72,"context_line":"        if n \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_2cc70367","line":69,"in_reply_to":"3f044301_93d8807f","updated":"2017-05-10 01:12:59.000000000","message":"Yes, we can change this way, will update in next patch","commit_id":"325e53dceab81c5c5e9c3eb97c4887205aaca1a5"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"a49b8710c7e3027653b4be5597f195dcdd1eabe8","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":122,"context_line":"        dom_id \u003d self.session.call_xenapi(\"VM.get_domid\", vm_ref)"},{"line_number":123,"context_line":"        vif_refs \u003d self.session.call_xenapi(\"VM.get_VIFs\", vm_ref)"},{"line_number":124,"context_line":"        bw_all \u003d self.session.call_plugin_serialized(\u0027bandwidth\u0027,"},{"line_number":125,"context_line":"                                                     \u0027fetch_all_bandwidth\u0027)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        for vif_ref in vif_refs or []:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_b3ddbc71","line":124,"updated":"2017-05-09 09:12:47.000000000","message":"I forgot this had a plugin call; let\u0027s use os-xenapi v2 for this.","commit_id":"325e53dceab81c5c5e9c3eb97c4887205aaca1a5"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"bae2faa15c93212ef90febbbf5b074d6438a6ab6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":122,"context_line":"        dom_id \u003d self.session.call_xenapi(\"VM.get_domid\", vm_ref)"},{"line_number":123,"context_line":"        vif_refs \u003d self.session.call_xenapi(\"VM.get_VIFs\", vm_ref)"},{"line_number":124,"context_line":"        bw_all \u003d self.session.call_plugin_serialized(\u0027bandwidth\u0027,"},{"line_number":125,"context_line":"                                                     \u0027fetch_all_bandwidth\u0027)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        for vif_ref in vif_refs or []:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_eca23bae","line":124,"in_reply_to":"3f044301_b3ddbc71","updated":"2017-05-10 01:12:59.000000000","message":"Yes, you are right, this part cannot change, we can change it when we are using os-xenapi v2","commit_id":"325e53dceab81c5c5e9c3eb97c4887205aaca1a5"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"f211a5d669c65ab050ac7db73c1dcaf54c799853","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":148,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":149,"context_line":"        vif_refs \u003d self.session.VM.get_VIFs(vm_ref)"},{"line_number":150,"context_line":"        LOG.debug(\"inspect_vnic_rates\", instance\u003dinstance)"},{"line_number":151,"context_line":"        if vif_refs:"},{"line_number":152,"context_line":"            for vif_ref in vif_refs:"},{"line_number":153,"context_line":"                vif_rec \u003d self.session.VIF.get_record(vif_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_61a18c94","line":150,"updated":"2017-05-10 10:27:43.000000000","message":"I\u0027m not sure I see the value in adding debug statements about entering functions","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"7eff0fb0fb13bab6b93797692b2a67e55d9674ac","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":148,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":149,"context_line":"        vif_refs \u003d self.session.VM.get_VIFs(vm_ref)"},{"line_number":150,"context_line":"        LOG.debug(\"inspect_vnic_rates\", instance\u003dinstance)"},{"line_number":151,"context_line":"        if vif_refs:"},{"line_number":152,"context_line":"            for vif_ref in vif_refs:"},{"line_number":153,"context_line":"                vif_rec \u003d self.session.VIF.get_record(vif_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_c5205b4b","line":150,"in_reply_to":"3f044301_61a18c94","updated":"2017-05-11 01:11:44.000000000","message":"I will delete this, after deploying ceilometer, I just want to double check all the functions are called as expected, so add such debug log","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"7eff0fb0fb13bab6b93797692b2a67e55d9674ac","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":170,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":171,"context_line":"        vbd_refs \u003d self.session.VM.get_VBDs(vm_ref)"},{"line_number":172,"context_line":"        LOG.debug(\"inspect_disk_rates\", instance\u003dinstance)"},{"line_number":173,"context_line":"        if vbd_refs:"},{"line_number":174,"context_line":"            for vbd_ref in vbd_refs:"},{"line_number":175,"context_line":"                vbd_rec \u003d self.session.VBD.get_record(vbd_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_a519cf22","line":172,"updated":"2017-05-11 01:11:44.000000000","message":"will delete also","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"}],"ceilometer/tests/unit/compute/virt/xenapi/test_inspector.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"f211a5d669c65ab050ac7db73c1dcaf54c799853","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        vbd_rec \u003d {"},{"line_number":190,"context_line":"            \u0027device\u0027: \u0027xvdd\u0027"},{"line_number":191,"context_line":"        }"},{"line_number":192,"context_line":"        side_effects \u003d [[\u0027vm_ref\u0027], [\u0027vbd_ref\u0027], vbd_rec, 1024.0, 2048.0]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        session \u003d self.inspector.session"},{"line_number":195,"context_line":"        with mock.patch.object(session, \u0027xenapi_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_c1e4e0e2","side":"PARENT","line":192,"updated":"2017-05-10 10:27:43.000000000","message":"Using the new method of calls shows a big benefit here; the side_effects were incomprehensible before...","commit_id":"a3ea364ae2eafbde507190b0d95fe2a5b3c670f2"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"7eff0fb0fb13bab6b93797692b2a67e55d9674ac","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        vbd_rec \u003d {"},{"line_number":190,"context_line":"            \u0027device\u0027: \u0027xvdd\u0027"},{"line_number":191,"context_line":"        }"},{"line_number":192,"context_line":"        side_effects \u003d [[\u0027vm_ref\u0027], [\u0027vbd_ref\u0027], vbd_rec, 1024.0, 2048.0]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        session \u003d self.inspector.session"},{"line_number":195,"context_line":"        with mock.patch.object(session, \u0027xenapi_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_85ba5307","side":"PARENT","line":192,"in_reply_to":"3f044301_c1e4e0e2","updated":"2017-05-11 01:11:44.000000000","message":"indeed","commit_id":"a3ea364ae2eafbde507190b0d95fe2a5b3c670f2"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"f211a5d669c65ab050ac7db73c1dcaf54c799853","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_41c33039","line":40,"updated":"2017-05-10 10:27:43.000000000","message":"Can\u0027t we use decorators here?","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"7eff0fb0fb13bab6b93797692b2a67e55d9674ac","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_c5e5fb0a","line":40,"in_reply_to":"3f044301_41c33039","updated":"2017-05-11 01:11:44.000000000","message":"Seems not, because we are mock session Line:39 and this session is also a mock Line:29-31","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"305f7fe13da6bf25dafc982ee43726f22add7ebf","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_31a16495","line":40,"in_reply_to":"3f044301_c5ce1b81","updated":"2017-05-12 11:46:33.000000000","message":"Ah, indeed.  Understood.","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"531d57ddd2b6adf7520ab7e9a5a2bfdb9811243b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f044301_c5ce1b81","line":40,"in_reply_to":"3f044301_c5e5fb0a","updated":"2017-05-11 01:16:55.000000000","message":"Also, the VM,VIF object is not the direct properties or functions see https://github.com/openstack/os-xenapi/blob/master/os_xenapi/client/session.py#L98, so even we don\u0027t mock the session, we cannot not directly use decorators to mock session.VM","commit_id":"4d61beb3f89d501dd5fe040c8cda381a1dbc1673"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"60d91db0cb43ef820506b065eaee368a94f47086","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"},{"line_number":44,"context_line":"            mock_name.return_value \u003d [\u0027vm_ref\u0027]"},{"line_number":45,"context_line":"            mock_vcpu.return_value \u003d \u00271\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_00fa2d41","line":42,"range":{"start_line":40,"start_character":0,"end_line":42,"end_character":68},"updated":"2017-05-15 13:03:43.000000000","message":"can you wrap this in parentheses instead of using slash","commit_id":"f2279a62226eb37a7b4e735be3c7a877d0006472"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8c07e1beef16bb1a49cc1fb113340ecf1c38d7a5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fake_free_mem \u003d 65536.0"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        session \u003d self.inspector.session"},{"line_number":40,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":41,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":42,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":43,"context_line":"                as mock_query:"},{"line_number":44,"context_line":"            mock_name.return_value \u003d [\u0027vm_ref\u0027]"},{"line_number":45,"context_line":"            mock_vcpu.return_value \u003d \u00271\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_91ed5ef1","line":42,"range":{"start_line":40,"start_character":0,"end_line":42,"end_character":68},"in_reply_to":"1f013ff3_00fa2d41","updated":"2017-05-16 00:27:21.000000000","message":"sure","commit_id":"f2279a62226eb37a7b4e735be3c7a877d0006472"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"60d91db0cb43ef820506b065eaee368a94f47086","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        fake_free_mem \u003d 0"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        session \u003d self.inspector.session"},{"line_number":58,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":59,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":60,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":61,"context_line":"                as mock_query:"},{"line_number":62,"context_line":"            mock_name.return_value \u003d [\u0027vm_ref\u0027]"},{"line_number":63,"context_line":"            mock_vcpu.return_value \u003d \u00271\u0027"},{"line_number":64,"context_line":"            mock_query.side_effect \u003d [0.4, fake_total_mem, fake_free_mem]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_c099e51f","line":61,"range":{"start_line":58,"start_character":0,"end_line":61,"end_character":30},"updated":"2017-05-15 13:03:43.000000000","message":"same","commit_id":"f2279a62226eb37a7b4e735be3c7a877d0006472"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8c07e1beef16bb1a49cc1fb113340ecf1c38d7a5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        fake_free_mem \u003d 0"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        session \u003d self.inspector.session"},{"line_number":58,"context_line":"        with mock.patch.object(session.VM, \u0027get_by_name_label\u0027) as mock_name, \\"},{"line_number":59,"context_line":"                mock.patch.object(session.VM, \u0027get_VCPUs_max\u0027) as mock_vcpu, \\"},{"line_number":60,"context_line":"                mock.patch.object(session.VM, \u0027query_data_source\u0027) \\"},{"line_number":61,"context_line":"                as mock_query:"},{"line_number":62,"context_line":"            mock_name.return_value \u003d [\u0027vm_ref\u0027]"},{"line_number":63,"context_line":"            mock_vcpu.return_value \u003d \u00271\u0027"},{"line_number":64,"context_line":"            mock_query.side_effect \u003d [0.4, fake_total_mem, fake_free_mem]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_11bb8ee2","line":61,"range":{"start_line":58,"start_character":0,"end_line":61,"end_character":30},"in_reply_to":"1f013ff3_c099e51f","updated":"2017-05-16 00:27:21.000000000","message":"sure","commit_id":"f2279a62226eb37a7b4e735be3c7a877d0006472"}]}
