)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0bb1ca9614e597b0480311da76c01b0c48350a19","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-01-20 14:02:32 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Hyper-V: Adds memory metrics implementation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This blueprint targets compute nodes that run on"},{"line_number":10,"context_line":"Windows Hyper-v / Server 2012 or Windows 8 or newer."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a961159_864297a9","line":8,"updated":"2015-01-20 13:41:19.000000000","message":"But this is a commit message, not blueprint description. Looks like \u0027this blueprint\u0027 may be just changed to \u0027this change\u0027 :)","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-01-20 14:02:32 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Hyper-V: Adds memory metrics implementation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This blueprint targets compute nodes that run on"},{"line_number":10,"context_line":"Windows Hyper-v / Server 2012 or Windows 8 or newer."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a961159_3c3ad2c4","line":8,"in_reply_to":"3a961159_864297a9","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"}],"ceilometer/compute/virt/hyperv/inspector.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def inspect_memory_usage(self, instance_name, duration\u003dNone):"},{"line_number":52,"context_line":"        usage \u003d self._utils.get_memory_usage(instance_name)"},{"line_number":53,"context_line":"\treturn virt_inspector.MemoryUsageStats(usage\u003dusage)\t"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def inspect_vnics(self, instance):"},{"line_number":56,"context_line":"        instance_name \u003d util.instance_name(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8deaba75","line":53,"updated":"2015-01-20 12:14:51.000000000","message":"solve the white space error.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def inspect_memory_usage(self, instance_name, duration\u003dNone):"},{"line_number":52,"context_line":"        usage \u003d self._utils.get_memory_usage(instance_name)"},{"line_number":53,"context_line":"\treturn virt_inspector.MemoryUsageStats(usage\u003dusage)\t"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def inspect_vnics(self, instance):"},{"line_number":56,"context_line":"        instance_name \u003d util.instance_name(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_7c445a47","line":53,"in_reply_to":"3a961159_8deaba75","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            yield (disk, stats)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2dfb8649","line":87,"updated":"2015-01-20 12:14:51.000000000","message":"remove extra lines.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            yield (disk, stats)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_dc6aaeb4","line":87,"in_reply_to":"3a961159_2dfb8649","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return virt_inspector.CPUStats(number\u003dcpu_count, time\u003dcpu_time)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def inspect_memory_usage(self, instance_name, duration\u003dNone):"},{"line_number":52,"context_line":"        usage \u003d self._utils.get_memory_usage(instance_name)"},{"line_number":53,"context_line":"        return virt_inspector.MemoryUsageStats(usage\u003dusage)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_3b78f58e","line":51,"updated":"2015-01-22 18:28:04.000000000","message":"the argument given is instance, not instance_name.\n\nyou will need a line like L39 or L56 to get the instance_name.\n\nOtherwise, you will get an exception.","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        return virt_inspector.CPUStats(number\u003dcpu_count, time\u003dcpu_time)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def inspect_memory_usage(self, instance_name, duration\u003dNone):"},{"line_number":52,"context_line":"        usage \u003d self._utils.get_memory_usage(instance_name)"},{"line_number":53,"context_line":"        return virt_inspector.MemoryUsageStats(usage\u003dusage)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def inspect_vnics(self, instance):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_bbaa25d0","line":52,"updated":"2015-01-22 18:28:04.000000000","message":"for consistency, please rename the method to get_memory_metrics","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"4ad20b279903e8514d1bbc49b153140fbda0962c","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return virt_inspector.CPUStats(number\u003dcpu_count, time\u003dcpu_time)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def inspect_memory_metrics(self, instance, duration\u003dNone):"},{"line_number":52,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":53,"context_line":"        usage \u003d self._utils.get_memory_metrics(instance_name)"},{"line_number":54,"context_line":"        return virt_inspector.MemoryUsageStats(usage\u003dusage)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a930d6b_ac9f24b3","line":51,"updated":"2015-01-23 18:13:09.000000000","message":"inspect_memory_usage, since this is the method name in the interface.","commit_id":"33572a79372932cb6964ca7b0a97e88069254f39"}],"ceilometer/compute/virt/hyperv/utilsv2.py":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0bb1ca9614e597b0480311da76c01b0c48350a19","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    _STORAGE_ALLOC \u003d \u0027Msvm_StorageAllocationSettingData\u0027"},{"line_number":51,"context_line":"    _VS_SETTING_DATA \u003d \u0027Msvm_VirtualSystemSettingData\u0027"},{"line_number":52,"context_line":"    _METRICS_ME \u003d \u0027Msvm_MetricForME\u0027"},{"line_number":53,"context_line":"    _BASE_METRICS_VALUE \u003d \u0027Msvm_BaseMetricValue\u0027"},{"line_number":54,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":55,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_017051a3","line":53,"updated":"2015-01-20 13:41:19.000000000","message":"_MEMORY_METRIC_NAME is better to be moved to block 57-62 lines","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    _STORAGE_ALLOC \u003d \u0027Msvm_StorageAllocationSettingData\u0027"},{"line_number":51,"context_line":"    _VS_SETTING_DATA \u003d \u0027Msvm_VirtualSystemSettingData\u0027"},{"line_number":52,"context_line":"    _METRICS_ME \u003d \u0027Msvm_MetricForME\u0027"},{"line_number":53,"context_line":"    _BASE_METRICS_VALUE \u003d \u0027Msvm_BaseMetricValue\u0027"},{"line_number":54,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":55,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_fc6f6ac2","line":53,"in_reply_to":"3a961159_017051a3","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5811433cb9168a5f324cc8dda5e8b2649eb7629d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    _DISK_RD_METRIC_NAME \u003d \u0027Disk Data Read\u0027"},{"line_number":59,"context_line":"    _DISK_WR_METRIC_NAME \u003d \u0027Disk Data Written\u0027"},{"line_number":60,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":61,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __init__(self, host\u003d\u0027.\u0027):"},{"line_number":64,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_3c2f46a3","line":61,"updated":"2015-01-21 13:56:19.000000000","message":"Hmm, Nadya\u0027s comment said to move here only the _MEMORY_METRIC_NAME, not both.\n\nAlso, memory metrics is supported in Hyper-V 2012, not just Hyper-V 2012 R2. So, _MEMORY_METRIC_NAME should be moved after _CPU_METRIC_NAME.\n\n_MEMORY_SETTING would fit after _PROC_SETTING, if we\u0027re grouping constants by their purpose.","commit_id":"20177f0ab0148da48d4a042174a0a0120fa3891b"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"181efa6fb43a6a602b2abafe38e6d3a05fece811","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    _DISK_RD_METRIC_NAME \u003d \u0027Disk Data Read\u0027"},{"line_number":59,"context_line":"    _DISK_WR_METRIC_NAME \u003d \u0027Disk Data Written\u0027"},{"line_number":60,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":61,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __init__(self, host\u003d\u0027.\u0027):"},{"line_number":64,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_eecfb6ae","line":61,"in_reply_to":"1a930d6b_3c2f46a3","updated":"2015-01-21 20:05:07.000000000","message":"Done","commit_id":"20177f0ab0148da48d4a042174a0a0120fa3891b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    _BASE_METRICS_VALUE \u003d \u0027Msvm_BaseMetricValue\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    _CPU_METRIC_NAME \u003d \u0027Aggregated Average CPU Utilization\u0027"},{"line_number":57,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":58,"context_line":"    _NET_IN_METRIC_NAME \u003d \u0027Filtered Incoming Network Traffic\u0027"},{"line_number":59,"context_line":"    _NET_OUT_METRIC_NAME \u003d \u0027Filtered Outgoing Network Traffic\u0027"},{"line_number":60,"context_line":"    # Disk metrics are supported from Hyper-V 2012 R2"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_1b833957","line":57,"updated":"2015-01-22 18:28:04.000000000","message":"The metric name is \u0027Aggregated Average Memory Utilization\u0027","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                int(cpu_sd.VirtualQuantity),"},{"line_number":100,"context_line":"                long(vm.OnTimeInMilliseconds))"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_memory_usage(self, instance):"},{"line_number":103,"context_line":"        vm \u003d self._lookup_vm(instance)"},{"line_number":104,"context_line":"        memory \u003d self._get_vm_resources(vm, self._MEMORY_SETTING)[0]"},{"line_number":105,"context_line":"        memory_def \u003d self._get_metric_def(self._MEMORY_METRIC_NAME)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_fbe2ed2d","line":102,"updated":"2015-01-22 18:28:04.000000000","message":"for consistency with the other methods, please rename the method to get_memory_metrics\n\nfor consistency with the other methods, please rename the argument to vm_name","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_memory_usage(self, instance):"},{"line_number":103,"context_line":"        vm \u003d self._lookup_vm(instance)"},{"line_number":104,"context_line":"        memory \u003d self._get_vm_resources(vm, self._MEMORY_SETTING)[0]"},{"line_number":105,"context_line":"        memory_def \u003d self._get_metric_def(self._MEMORY_METRIC_NAME)"},{"line_number":106,"context_line":"        metric_memory \u003d self._get_metrics(memory, memory_def)"},{"line_number":107,"context_line":"        memory_usage \u003d 0"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_7b80bd46","line":104,"updated":"2015-01-22 18:28:04.000000000","message":"not necessary. remove.","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        vm \u003d self._lookup_vm(instance)"},{"line_number":104,"context_line":"        memory \u003d self._get_vm_resources(vm, self._MEMORY_SETTING)[0]"},{"line_number":105,"context_line":"        memory_def \u003d self._get_metric_def(self._MEMORY_METRIC_NAME)"},{"line_number":106,"context_line":"        metric_memory \u003d self._get_metrics(memory, memory_def)"},{"line_number":107,"context_line":"        memory_usage \u003d 0"},{"line_number":108,"context_line":"        if metric_memory:"},{"line_number":109,"context_line":"            memory_usage \u003d long(metric_memory[0].MetricValue)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_fb8bcd65","line":106,"updated":"2015-01-22 18:28:04.000000000","message":"pass the vm instead of memory.","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"}],"ceilometer/tests/compute/virt/hyperv/test_inspector.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"4ad20b279903e8514d1bbc49b153140fbda0962c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        self.assertEqual(fake_cpu_time, cpu_stats.time)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2.\u0027"},{"line_number":60,"context_line":"                \u0027get_memory_usage\u0027)"},{"line_number":61,"context_line":"    def test_inspect_memory_usage(self, mock_get_memory_usage):"},{"line_number":62,"context_line":"        fake_usage \u003d self._inspector._utils.get_memory_usage.return_value"},{"line_number":63,"context_line":"        usage \u003d self._inspector.inspect_memory_usage("}],"source_content_type":"text/x-python","patch_set":11,"id":"1a930d6b_91efe186","line":60,"updated":"2015-01-23 18:13:09.000000000","message":"\u0027get_memory_metrics\u0027","commit_id":"33572a79372932cb6964ca7b0a97e88069254f39"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"4ad20b279903e8514d1bbc49b153140fbda0962c","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2.\u0027"},{"line_number":60,"context_line":"                \u0027get_memory_usage\u0027)"},{"line_number":61,"context_line":"    def test_inspect_memory_usage(self, mock_get_memory_usage):"},{"line_number":62,"context_line":"        fake_usage \u003d self._inspector._utils.get_memory_usage.return_value"},{"line_number":63,"context_line":"        usage \u003d self._inspector.inspect_memory_usage("},{"line_number":64,"context_line":"            mock.sentinel.FAKE_INSTANCE, mock.sentinel.FAKE_DURATION)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a930d6b_6c47fc4b","line":61,"updated":"2015-01-23 18:13:09.000000000","message":"mock_get_memory_metrics","commit_id":"33572a79372932cb6964ca7b0a97e88069254f39"}],"ceilometer/tests/compute/virt/hyperv/test_utilsv2.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":"import pkg_resources"},{"line_number":22,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":23,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":24,"context_line":"from oslotest import base"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ad7a16ee","line":21,"updated":"2015-01-20 12:14:51.000000000","message":"remove  this import.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":"import pkg_resources"},{"line_number":22,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":23,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":24,"context_line":"from oslotest import base"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_7c5b7a22","line":21,"in_reply_to":"3a961159_ad7a16ee","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _FAKE_RETURN_CLASS \u003d \u0027fake_return_class\u0027"},{"line_number":30,"context_line":"    _FAKE_INSTANCE \u003d \"fake_instance\""},{"line_number":31,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":32,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4d737216","line":31,"updated":"2015-01-20 12:14:51.000000000","message":"remove this, since it isn\u0027t used.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _FAKE_RETURN_CLASS \u003d \u0027fake_return_class\u0027"},{"line_number":30,"context_line":"    _FAKE_INSTANCE \u003d \"fake_instance\""},{"line_number":31,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":32,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_dca1cef8","line":31,"in_reply_to":"3a961159_4d737216","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    _FAKE_RETURN_CLASS \u003d \u0027fake_return_class\u0027"},{"line_number":30,"context_line":"    _FAKE_INSTANCE \u003d \"fake_instance\""},{"line_number":31,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":32,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def setUp(self):"},{"line_number":35,"context_line":"        self._utils \u003d utilsv2.UtilsV2()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2d662656","line":32,"updated":"2015-01-20 12:14:51.000000000","message":"remove this, since it isn\u0027t used.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    _FAKE_RETURN_CLASS \u003d \u0027fake_return_class\u0027"},{"line_number":30,"context_line":"    _FAKE_INSTANCE \u003d \"fake_instance\""},{"line_number":31,"context_line":"    _MEMORY_SETTING \u003d \"Msvm_MemorySettingData\""},{"line_number":32,"context_line":"    _MEMORY_METRIC_NAME \u003d \"Average Memory Utilization\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def setUp(self):"},{"line_number":35,"context_line":"        self._utils \u003d utilsv2.UtilsV2()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_fca68a0e","line":32,"in_reply_to":"3a961159_2d662656","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                \u0027_get_metric_def\u0027)"},{"line_number":44,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2.\u0027"},{"line_number":45,"context_line":"                \u0027_get_vm_resources\u0027)"},{"line_number":46,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2._lookup_vm\u0027)"},{"line_number":47,"context_line":"    def test_get_memory_usage(self, mock_lookup_vm, mock_get_vm_resources,"},{"line_number":48,"context_line":"                              mock_get_metric_def, mock_get_metrics):"},{"line_number":49,"context_line":"        mock_vm \u003d mock_lookup_vm.return_value"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2dd466ba","line":46,"updated":"2015-01-20 12:14:51.000000000","message":"@mock.patch.object(utilsv2.UtilsV2, \u0027_lookup_vm\u0027) looks better. Same applies to the other decorators.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                \u0027_get_metric_def\u0027)"},{"line_number":44,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2.\u0027"},{"line_number":45,"context_line":"                \u0027_get_vm_resources\u0027)"},{"line_number":46,"context_line":"    @mock.patch(\u0027ceilometer.compute.virt.hyperv.utilsv2.UtilsV2._lookup_vm\u0027)"},{"line_number":47,"context_line":"    def test_get_memory_usage(self, mock_lookup_vm, mock_get_vm_resources,"},{"line_number":48,"context_line":"                              mock_get_metric_def, mock_get_metrics):"},{"line_number":49,"context_line":"        mock_vm \u003d mock_lookup_vm.return_value"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_3ca812d9","line":46,"in_reply_to":"3a961159_2dd466ba","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        metric_memory.MetricValue \u003d 3"},{"line_number":57,"context_line":"        mock_get_metrics.return_value \u003d [metric_memory]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        response \u003d self._utils.get_memory_usage(self._FAKE_INSTANCE)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        mock_lookup_vm.assert_called_once_with(self._FAKE_INSTANCE)"},{"line_number":62,"context_line":"        mock_get_vm_resources.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_6d190ed1","line":59,"updated":"2015-01-20 12:14:51.000000000","message":"use mock.sentinel.FAKE_INSTANCE instead.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        metric_memory.MetricValue \u003d 3"},{"line_number":57,"context_line":"        mock_get_metrics.return_value \u003d [metric_memory]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        response \u003d self._utils.get_memory_usage(self._FAKE_INSTANCE)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        mock_lookup_vm.assert_called_once_with(self._FAKE_INSTANCE)"},{"line_number":62,"context_line":"        mock_get_vm_resources.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_7cb29a4a","line":59,"in_reply_to":"3a961159_6d190ed1","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5e776cd2e92c4db8f19a7ef0002bb508b0d5591a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            self._utils._MEMORY_METRIC_NAME)"},{"line_number":66,"context_line":"        mock_get_metrics.assert_called_once_with(mock_memory, mock_metric_def)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self.assertEquals(response, 3)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def test_get_host_cpu_info(self):"},{"line_number":71,"context_line":"        _fake_clock_speed \u003d 1000"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_cd084283","line":68,"updated":"2015-01-20 12:14:51.000000000","message":"put the expected value first, then the response.","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"acabd3228f4aaf25710f57ecfe16dd5a29ef17bd","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            self._utils._MEMORY_METRIC_NAME)"},{"line_number":66,"context_line":"        mock_get_metrics.assert_called_once_with(mock_memory, mock_metric_def)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self.assertEquals(response, 3)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def test_get_host_cpu_info(self):"},{"line_number":71,"context_line":"        _fake_clock_speed \u003d 1000"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_dc78ee80","line":68,"in_reply_to":"3a961159_cd084283","updated":"2015-01-21 13:16:48.000000000","message":"Done","commit_id":"c27c7ac70a0e6e557a4b8acb1dfb326b5ea8bb2e"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"d1531cf8083ca3a9e600663589ba033f7dc67098","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_d1cd5288","line":22,"updated":"2015-01-21 10:52:27.000000000","message":"there should be a blank line before this line","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"47e36ff47d86215a9d8660eb7c7095bf0672e146","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_0cad0189","line":22,"in_reply_to":"1a930d6b_d1cd5288","updated":"2015-01-21 13:16:22.000000000","message":"Thanks for the comments.\nDone","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"d1531cf8083ca3a9e600663589ba033f7dc67098","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_71bf3ed1","line":23,"updated":"2015-01-21 10:52:27.000000000","message":"this line should be after import mock","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"47e36ff47d86215a9d8660eb7c7095bf0672e146","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import mock"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_2caabd70","line":23,"in_reply_to":"1a930d6b_71bf3ed1","updated":"2015-01-21 13:16:22.000000000","message":"Done","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"d1531cf8083ca3a9e600663589ba033f7dc67098","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestUtilsV2(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_718d7e31","line":24,"updated":"2015-01-21 10:52:27.000000000","message":"this should be before from ceilometer.compute.virt import inspector, since that is the alphabetical order.","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"47e36ff47d86215a9d8660eb7c7095bf0672e146","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt import inspector"},{"line_number":23,"context_line":"from oslotest import base"},{"line_number":24,"context_line":"from ceilometer.compute.virt.hyperv import utilsv2 as utilsv2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestUtilsV2(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_acb5cdce","line":24,"in_reply_to":"1a930d6b_718d7e31","updated":"2015-01-21 13:16:22.000000000","message":"Done","commit_id":"2697d2b29de3898a53c45f50399b98aaaba3bc66"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"de2c086dc17ad3fcd357b9f138227f813227346b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    @mock.patch.object(utilsv2.UtilsV2, \u0027_get_metric_def\u0027)"},{"line_number":40,"context_line":"    @mock.patch.object(utilsv2.UtilsV2, \u0027_get_vm_resources\u0027)"},{"line_number":41,"context_line":"    @mock.patch.object(utilsv2.UtilsV2, \u0027_lookup_vm\u0027)"},{"line_number":42,"context_line":"    def test_get_memory_usage(self, mock_lookup_vm, mock_get_vm_resources,"},{"line_number":43,"context_line":"                              mock_get_metric_def, mock_get_metrics):"},{"line_number":44,"context_line":"        mock_vm \u003d mock_lookup_vm.return_value"},{"line_number":45,"context_line":"        mock_memory \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_1bbb39e6","line":42,"updated":"2015-01-22 18:28:04.000000000","message":"rename to test_get_memory_metrics. Also, it would be nice to move this code block after test_get_cpu_metrics, so ther order of the tests is the same as the order of the methods in utilsv2.","commit_id":"931158428c32881ff51fadf4aae0b55b2c7e2421"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cfb68094b2a6a6a402dac106bf679d57f6e9fa60","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            self._utils._MEMORY_METRIC_NAME)"},{"line_number":56,"context_line":"        mock_get_metrics.assert_called_once_with(mock_vm, mock_metric_def)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        self.assertEqual(3, response)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def test_get_host_cpu_info(self):"},{"line_number":61,"context_line":"        _fake_clock_speed \u003d 1000"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a930d6b_af953a88","line":58,"updated":"2015-01-26 03:11:49.000000000","message":"nit: this line should be moved to L52","commit_id":"3aacd2ed87326eccd79e19b73dab1023ed813d91"}]}
