)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"e64e79b21b86c1d41c5571c20e8758b3d2cda8a5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XenAPI support: Changes for cpu_util"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implemented inspect_cpu_util() to inspect the CPU utilization (%) for an instance."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0cd1c926f074be632d9c5ce071dfd4d0d3ba78a7"},{"line_number":12,"context_line":"Implements: blueprint xenapi-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7ac7a964_8eb65adb","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":82},"updated":"2014-08-14 10:41:55.000000000","message":"just a nit: this line does not fit 80 symbols margin, that\u0027s against stylish rules inside the OS ecosystem. May you please fix this small thing as well?","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"59a708c866405701802fe5c459fcd6e4a43aabfd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XenAPI support: Changes for cpu_util"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implemented inspect_cpu_util() to inspect the CPU utilization (%) for an instance."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0cd1c926f074be632d9c5ce071dfd4d0d3ba78a7"},{"line_number":12,"context_line":"Implements: blueprint xenapi-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7ac7a964_3e5d5422","line":9,"in_reply_to":"7ac7a964_8eb65adb","updated":"2014-08-15 01:49:29.000000000","message":"it will be fixed next post. thanks.","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"}],"ceilometer/compute/virt/xenapi/inspector.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"aa132f607411209b4256f823229ab853aa304ecd","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            if uuid:"},{"line_number":113,"context_line":"                yield virt_inspector.Instance(name, uuid)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def inspect_cpu_util(self, instance, duration\u003dNone):"},{"line_number":116,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":117,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":118,"context_line":"        metrics_ref \u003d self._call_xenapi(\"VM.get_metrics\", vm_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_d87ffbba","line":115,"updated":"2014-08-07 05:20:21.000000000","message":"So xen doesn\u0027t support the duration parameter, right?","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"24ee57e486d05544bdb4af2edd1dcb3beef4f619","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            if uuid:"},{"line_number":113,"context_line":"                yield virt_inspector.Instance(name, uuid)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def inspect_cpu_util(self, instance, duration\u003dNone):"},{"line_number":116,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":117,"context_line":"        vm_ref \u003d self._lookup_by_name(instance_name)"},{"line_number":118,"context_line":"        metrics_ref \u003d self._call_xenapi(\"VM.get_metrics\", vm_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fb8bd966","line":115,"in_reply_to":"baada198_d87ffbba","updated":"2014-08-07 05:39:17.000000000","message":"Yes. no duration related information in XenAPI.","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"aa132f607411209b4256f823229ab853aa304ecd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":122,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":123,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":124,"context_line":"            return None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        utils \u003d 0.0"},{"line_number":127,"context_line":"        for num in range(int(vcpus_number)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_f8a59f48","line":124,"updated":"2014-08-07 05:20:21.000000000","message":"return None would cause the CPUUtilPollster fail with vague exception, how about raise exception here?","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":7641,"name":"Shuangtai Tian","email":"hitianst@gmail.com","username":"shuangtai"},"change_message_id":"3f1bdbe88f0345a48c2f99cc647742c8a88a118f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":122,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":123,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":124,"context_line":"            return None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        utils \u003d 0.0"},{"line_number":127,"context_line":"        for num in range(int(vcpus_number)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_46178c53","line":124,"in_reply_to":"baada198_3be5513e","updated":"2014-08-07 07:07:10.000000000","message":"vcpus_number maybe equal to 0 ?","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"59a708c866405701802fe5c459fcd6e4a43aabfd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":122,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":123,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":124,"context_line":"            return None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        utils \u003d 0.0"},{"line_number":127,"context_line":"        for num in range(int(vcpus_number)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_7e37cce3","line":124,"in_reply_to":"baada198_46178c53","updated":"2014-08-15 01:49:29.000000000","message":"\"len\" not \"value\". ^-^. maybe NULL","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"24ee57e486d05544bdb4af2edd1dcb3beef4f619","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":122,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":123,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":124,"context_line":"            return None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        utils \u003d 0.0"},{"line_number":127,"context_line":"        for num in range(int(vcpus_number)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3be5513e","line":124,"in_reply_to":"baada198_f8a59f48","updated":"2014-08-07 05:39:17.000000000","message":"sure.","commit_id":"1715fb3def6173cb3a4351240c399dcc7b5362cb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"98866672edbe108342a2f63a9e480d4e296d5406","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        vm_refs \u003d self._call_xenapi(\"VM.get_by_name_label\", instance_name)"},{"line_number":102,"context_line":"        n \u003d len(vm_refs)"},{"line_number":103,"context_line":"        if n \u003d\u003d 0:"},{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_fd53006a","line":104,"updated":"2014-08-18 13:35:42.000000000","message":"maybe log instead of raising error?","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"82f9189bd8f9c7c58f12e86e288ce3e3b4e1b1a7","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        vm_refs \u003d self._call_xenapi(\"VM.get_by_name_label\", instance_name)"},{"line_number":102,"context_line":"        n \u003d len(vm_refs)"},{"line_number":103,"context_line":"        if n \u003d\u003d 0:"},{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_cdb56432","line":104,"in_reply_to":"1abeadc6_07683486","updated":"2014-08-20 02:02:40.000000000","message":"This mean that no required instance exist, maybe due to poor connection or unrecoverable failure. And then next inspec_xxx() will fail, so I guess we could not only log.","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9364fde114ea55d41376d63e4e54e3a7600081f1","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        vm_refs \u003d self._call_xenapi(\"VM.get_by_name_label\", instance_name)"},{"line_number":102,"context_line":"        n \u003d len(vm_refs)"},{"line_number":103,"context_line":"        if n \u003d\u003d 0:"},{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_07683486","line":104,"in_reply_to":"1abeadc6_ab1a0615","updated":"2014-08-19 15:14:25.000000000","message":"can this be a result of a poor connection or is it expected that any failure will be unrecoverable? same question below...\n\ni\u0027m just concerned raising this exception is too aggressive? let me know if that\u0027s wrong.","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"52f47f881958f81438cb068fa241ed136da7d49a","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        vm_refs \u003d self._call_xenapi(\"VM.get_by_name_label\", instance_name)"},{"line_number":102,"context_line":"        n \u003d len(vm_refs)"},{"line_number":103,"context_line":"        if n \u003d\u003d 0:"},{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_ab1a0615","line":104,"in_reply_to":"1abeadc6_fd53006a","updated":"2014-08-19 02:23:25.000000000","message":"I guess raising should be better here. In fact, it is from libvirt implementation.","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"98866672edbe108342a2f63a9e480d4e296d5406","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"},{"line_number":108,"context_line":"        else:"},{"line_number":109,"context_line":"            return vm_refs[0]"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_7d60d035","line":107,"updated":"2014-08-18 13:35:42.000000000","message":"this error could be a bit more descriptive...\n\nalso, do you think it should be raised or something that is logged","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"52f47f881958f81438cb068fa241ed136da7d49a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            raise virt_inspector.InstanceNotFoundException("},{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException(instance_name)"},{"line_number":108,"context_line":"        else:"},{"line_number":109,"context_line":"            return vm_refs[0]"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_cbee62ec","line":107,"in_reply_to":"1abeadc6_7d60d035","updated":"2014-08-19 02:23:25.000000000","message":"I think that rasing should be better. but I will add more detail about this error.","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"98866672edbe108342a2f63a9e480d4e296d5406","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        metrics_rec \u003d self._call_xenapi(\"VM_metrics.get_record\","},{"line_number":124,"context_line":"                                        metrics_ref)"},{"line_number":125,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":126,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":127,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":128,"context_line":"            msg \u003d _(\"Could not get VM %s CPU Utilization\") % instance_name"},{"line_number":129,"context_line":"            raise XenapiException(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_5df9544c","line":126,"updated":"2014-08-18 13:35:42.000000000","message":"does this really use non-american spelling of utilisation or should this be utilization? i\u0027d be happy if it was the first option :)","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"52f47f881958f81438cb068fa241ed136da7d49a","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        metrics_rec \u003d self._call_xenapi(\"VM_metrics.get_record\","},{"line_number":124,"context_line":"                                        metrics_ref)"},{"line_number":125,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":126,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":127,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":128,"context_line":"            msg \u003d _(\"Could not get VM %s CPU Utilization\") % instance_name"},{"line_number":129,"context_line":"            raise XenapiException(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_2b5996fe","line":126,"in_reply_to":"1abeadc6_5df9544c","updated":"2014-08-19 02:23:25.000000000","message":"Maybe, \"VCPUs_utilisation\" is just from XenAPI spec.  :)","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"98866672edbe108342a2f63a9e480d4e296d5406","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":126,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":127,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":128,"context_line":"            msg \u003d _(\"Could not get VM %s CPU Utilization\") % instance_name"},{"line_number":129,"context_line":"            raise XenapiException(msg)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        utils \u003d 0.0"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_7d9530e3","line":128,"updated":"2014-08-18 13:35:42.000000000","message":"log this instead of raise","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"52f47f881958f81438cb068fa241ed136da7d49a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        vcpus_number \u003d metrics_rec[\u0027VCPUs_number\u0027]"},{"line_number":126,"context_line":"        vcpus_utils \u003d metrics_rec[\u0027VCPUs_utilisation\u0027]"},{"line_number":127,"context_line":"        if len(vcpus_utils) \u003d\u003d 0:"},{"line_number":128,"context_line":"            msg \u003d _(\"Could not get VM %s CPU Utilization\") % instance_name"},{"line_number":129,"context_line":"            raise XenapiException(msg)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        utils \u003d 0.0"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_cb52e2dc","line":128,"in_reply_to":"1abeadc6_7d9530e3","updated":"2014-08-19 02:23:25.000000000","message":"If log, and then have to return None. According to lianhao\u0027s comment, this would cause the CPUUtilPollster fail with vague exception.","commit_id":"c9cfc218a72f265bc201915f9826dc3a9d0fb0b5"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"a3324ea449a4bbfafd651561a207d33213192828","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException("},{"line_number":108,"context_line":"                _(\u0027Multiple VM %s found in XenServer\u0027) % instance_name)"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            return vm_refs[0]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_26035274","line":108,"updated":"2014-08-20 08:46:59.000000000","message":"I\u0027m not a specialist, but is it even possible? How that might happen?","commit_id":"434410c16f3a94b3da8e134552e7cb3754b14bbe"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"d5c876f39c0333c715ba66e026686f58cb648819","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                _(\u0027VM %s not found in XenServer\u0027) % instance_name)"},{"line_number":106,"context_line":"        elif n \u003e 1:"},{"line_number":107,"context_line":"            raise XenapiException("},{"line_number":108,"context_line":"                _(\u0027Multiple VM %s found in XenServer\u0027) % instance_name)"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            return vm_refs[0]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_79ec1b90","line":108,"in_reply_to":"1abeadc6_26035274","updated":"2014-08-27 06:38:30.000000000","message":"I guess so. In addition, this checking is from nova code.","commit_id":"434410c16f3a94b3da8e134552e7cb3754b14bbe"}],"ceilometer/tests/compute/virt/xenapi/test_inspector.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"a3324ea449a4bbfafd651561a207d33213192828","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            elif method \u003d\u003d \u0027VM_metrics.get_record\u0027:"},{"line_number":68,"context_line":"                return metrics_rec"},{"line_number":69,"context_line":"            else:"},{"line_number":70,"context_line":"                return None"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        session \u003d self.inspector.session"},{"line_number":73,"context_line":"        with mock.patch.object(session, \u0027xenapi_request\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_86f3469d","line":70,"updated":"2014-08-20 08:46:59.000000000","message":"just \u0027return\u0027 will be ok here as well - or do you want to set that None explicitly?","commit_id":"434410c16f3a94b3da8e134552e7cb3754b14bbe"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"d5c876f39c0333c715ba66e026686f58cb648819","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            elif method \u003d\u003d \u0027VM_metrics.get_record\u0027:"},{"line_number":68,"context_line":"                return metrics_rec"},{"line_number":69,"context_line":"            else:"},{"line_number":70,"context_line":"                return None"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        session \u003d self.inspector.session"},{"line_number":73,"context_line":"        with mock.patch.object(session, \u0027xenapi_request\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_19640721","line":70,"in_reply_to":"1abeadc6_86f3469d","updated":"2014-08-27 06:38:30.000000000","message":"Yes.","commit_id":"434410c16f3a94b3da8e134552e7cb3754b14bbe"}]}
