)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"ef3641c83224ac2a46df21ee1574bac351873e77","unresolved":false,"context_lines":[{"line_number":14,"context_line":"paths, but in V2 API, only using Msvm_StorageAllocationSettingData"},{"line_number":15,"context_line":"class can get the storage paths."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes bug #1248463"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ica73221524f162a6ffcd9dc64ee33c85fb5ad31d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2FY2c%3D","line":17,"updated":"2013-11-07 13:53:22.000000000","message":"Please remove \u0027#\u0027 so that the bug will be marked to fixing automatically. Now I did not see your bug is related to your code review.","commit_id":"4c8d8bca4bc14acc4924d7d32c03a8ade9f259db"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"f2c0a4e15938bebd38148a8ac672dc74da9b1eeb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"paths, but in V2 API, only using Msvm_StorageAllocationSettingData"},{"line_number":15,"context_line":"class can get the storage paths."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes bug #1248463"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ica73221524f162a6ffcd9dc64ee33c85fb5ad31d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2FXtc%3D","line":17,"in_reply_to":"AAAATn%2F%2FY0A%3D","updated":"2013-11-08 02:56:29.000000000","message":"Thanks, Matt Riedemann, done.","commit_id":"4c8d8bca4bc14acc4924d7d32c03a8ade9f259db"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bb3f0adf547f1b39c8471fcdb1c7b39cedd41536","unresolved":false,"context_lines":[{"line_number":14,"context_line":"paths, but in V2 API, only using Msvm_StorageAllocationSettingData"},{"line_number":15,"context_line":"class can get the storage paths."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes bug #1248463"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ica73221524f162a6ffcd9dc64ee33c85fb5ad31d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2FY0A%3D","line":17,"in_reply_to":"AAAATn%2F%2FY2c%3D","updated":"2013-11-07 14:14:40.000000000","message":"The proper way now is actually Closes-Bug: #1248463","commit_id":"4c8d8bca4bc14acc4924d7d32c03a8ade9f259db"}],"nova/tests/virt/hyperv/test_vmutils.py":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"c2dbc26a1620ecff5dc44992bebf75eb6e9568ee","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":102,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":103,"context_line":"            wmi_result_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027)"},{"line_number":104,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":105,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FPCI%3D","line":104,"updated":"2013-11-12 14:04:23.000000000","message":"we no longer using assertEquals, we should use assertEqual instead.","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"c2dbc26a1620ecff5dc44992bebf75eb6e9568ee","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":103,"context_line":"            wmi_result_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027)"},{"line_number":104,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":105,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FPCE%3D","line":105,"updated":"2013-11-12 14:04:23.000000000","message":"ditto","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"716d657d49120d371522f3ac3fc20e2001324fa9","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":103,"context_line":"            wmi_result_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027)"},{"line_number":104,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":105,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FMl4%3D","line":105,"in_reply_to":"AAAATn%2F%2FPCE%3D","updated":"2013-11-13 03:15:49.000000000","message":"Done, thanks","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"}],"nova/tests/virt/hyperv/test_vmutilsv2.py":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"c2dbc26a1620ecff5dc44992bebf75eb6e9568ee","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":141,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":142,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":143,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":144,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def test_destroy(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FPCQ%3D","line":143,"updated":"2013-11-12 14:04:23.000000000","message":"we no longer using assertEquals, we should use assertEqual instead.","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"c2dbc26a1620ecff5dc44992bebf75eb6e9568ee","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":142,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":143,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":144,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def test_destroy(self):"},{"line_number":147,"context_line":"        self._lookup_vm()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FPCM%3D","line":144,"updated":"2013-11-12 14:04:23.000000000","message":"ditto","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"716d657d49120d371522f3ac3fc20e2001324fa9","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        mock_vmsettings[0].associators.assert_called_with("},{"line_number":142,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":143,"context_line":"        self.assertEquals([self._FAKE_VHD_PATH], disk_files)"},{"line_number":144,"context_line":"        self.assertEquals([self._FAKE_VOLUME_DRIVE_PATH], volume_drives)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def test_destroy(self):"},{"line_number":147,"context_line":"        self._lookup_vm()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FMls%3D","line":144,"in_reply_to":"AAAATn%2F%2FPCM%3D","updated":"2013-11-13 03:15:49.000000000","message":"Done, thanks","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"735163fef9e3250640cc50a3d5a1e1503d2c37d0","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.assertTrue(self._vmutils._add_virt_resource.called)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_get_vm_storage_paths(self):"},{"line_number":121,"context_line":"        mock_vm \u003d self._lookup_vm()"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        mock_vmsettings \u003d [mock.MagicMock()]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8w%2Bg%3D","line":120,"updated":"2013-12-20 15:04:28.000000000","message":"Seems like at some point the v2 tests could extend the v1 tests to reduce a lot of this duplicate code...","commit_id":"6847a0ef927929e631e9c6db2e2812528ca93151"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"3ba6acfb3bea43ce32ad1b0e1b4cd67e9eb6f65e","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.assertTrue(self._vmutils._add_virt_resource.called)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_get_vm_storage_paths(self):"},{"line_number":121,"context_line":"        mock_vm \u003d self._lookup_vm()"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        mock_vmsettings \u003d [mock.MagicMock()]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8wkA%3D","line":120,"in_reply_to":"AAAATn%2F8w%2Bg%3D","updated":"2013-12-20 16:11:25.000000000","message":"yes, v2 tests extending v1 tests can reduce this duplicate codes, but I think the extending in tests may make the codes more complicated...","commit_id":"6847a0ef927929e631e9c6db2e2812528ca93151"}],"nova/virt/hyperv/vmutils.py":[{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"22608ee329d50dcccf917bb8ed7162a62335f1df","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        return disk_resource.Connection"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def get_vm_storage_paths(self, vm_name,"},{"line_number":381,"context_line":"            storage_wmi_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027):"},{"line_number":382,"context_line":"        vm \u003d self._lookup_vm_check(vm_name)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        vmsettings \u003d vm.associators("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FMcU%3D","line":381,"updated":"2013-11-13 04:03:35.000000000","message":"This is a public method, passing internal implementation details as parameters is definitely not the way to go.\n\nThe only thing that changes between V1 and V2 here is the name of the WMI class. We can simply define a variable at the class level.\n\nIn V1:\n\n_STORAGE_ALLOC_SETTING_DATA\u003d\"Msvm_ResourceAllocationSettingData\"\n\nIn V2:\n\n_STORAGE_ALLOC_SETTING_DATA\u003d\"Msvm_StorageAllocationSettingData\"","commit_id":"585b11f7785ea51f69f5804bfad59f60c6613a6b"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"fd4cf47d64c91742b1fd4dc6d25cfcd744acb1ca","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        return disk_resource.Connection"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def get_vm_storage_paths(self, vm_name,"},{"line_number":381,"context_line":"            storage_wmi_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027):"},{"line_number":382,"context_line":"        vm \u003d self._lookup_vm_check(vm_name)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        vmsettings \u003d vm.associators("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FMRk%3D","line":381,"in_reply_to":"AAAATn%2F%2FMa0%3D","updated":"2013-11-13 05:56:19.000000000","message":"Done, thanks","commit_id":"585b11f7785ea51f69f5804bfad59f60c6613a6b"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"7e485cf75b9258b85f87edaf67e53045d295d4b5","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        return disk_resource.Connection"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def get_vm_storage_paths(self, vm_name,"},{"line_number":381,"context_line":"            storage_wmi_class\u003d\u0027Msvm_ResourceAllocationSettingData\u0027):"},{"line_number":382,"context_line":"        vm \u003d self._lookup_vm_check(vm_name)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        vmsettings \u003d vm.associators("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FMa0%3D","line":381,"in_reply_to":"AAAATn%2F%2FMcU%3D","updated":"2013-11-13 04:14:33.000000000","message":"+1","commit_id":"585b11f7785ea51f69f5804bfad59f60c6613a6b"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"bee053033da3511249fd58b0c3c8bcb47b3fb6d2","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    _RESOURCE_ALLOC_SETTING_DATA_CLASS \u003d \u0027Msvm_ResourceAllocationSettingData\u0027"},{"line_number":73,"context_line":"    _PROCESSOR_SETTING_DATA_CLASS \u003d \u0027Msvm_ProcessorSettingData\u0027"},{"line_number":74,"context_line":"    _MEMORY_SETTING_DATA_CLASS \u003d \u0027Msvm_MemorySettingData\u0027"},{"line_number":75,"context_line":"    _STORAGE_ALLOC_SETTING_DATA_CLASS \u003d _RESOURCE_ALLOC_SETTING_DATA_CLASS"},{"line_number":76,"context_line":"    _SYNTHETIC_ETHERNET_PORT_SETTING_DATA_CLASS \u003d \\"},{"line_number":77,"context_line":"    \u0027Msvm_SyntheticEthernetPortSettingData\u0027"},{"line_number":78,"context_line":"    _AFFECTED_JOB_ELEMENT_CLASS \u003d \"Msvm_AffectedJobElement\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FMLQ%3D","line":75,"updated":"2013-11-13 06:09:14.000000000","message":"I found that Msvm_StorageAllocationSettingData exists in V1 API\u0027\n\nhttp://msdn.microsoft.com/en-us/library/hh859775%28v\u003dvs.85%29.aspx\n\n@Alessandro Pilotti, is it OK to set _STORAGE_ALLOC_SETTING_DATA_CLASS \u003d _RESOURCE_ALLOC_SETTING_DATA_CLASS?","commit_id":"0d1b269659426f2275a8fd9117ef99281b4981f9"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"888a06e4027262ee38a846f701eb8199d523e1fc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    _RESOURCE_ALLOC_SETTING_DATA_CLASS \u003d \u0027Msvm_ResourceAllocationSettingData\u0027"},{"line_number":73,"context_line":"    _PROCESSOR_SETTING_DATA_CLASS \u003d \u0027Msvm_ProcessorSettingData\u0027"},{"line_number":74,"context_line":"    _MEMORY_SETTING_DATA_CLASS \u003d \u0027Msvm_MemorySettingData\u0027"},{"line_number":75,"context_line":"    _STORAGE_ALLOC_SETTING_DATA_CLASS \u003d _RESOURCE_ALLOC_SETTING_DATA_CLASS"},{"line_number":76,"context_line":"    _SYNTHETIC_ETHERNET_PORT_SETTING_DATA_CLASS \u003d \\"},{"line_number":77,"context_line":"    \u0027Msvm_SyntheticEthernetPortSettingData\u0027"},{"line_number":78,"context_line":"    _AFFECTED_JOB_ELEMENT_CLASS \u003d \"Msvm_AffectedJobElement\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2B%2B68%3D","line":75,"in_reply_to":"AAAATn%2F%2FMLQ%3D","updated":"2013-11-16 15:28:22.000000000","message":"yes it is","commit_id":"0d1b269659426f2275a8fd9117ef99281b4981f9"}],"nova/virt/hyperv/vmutilsv2.py":[{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"a04f3721fcddef1e29e95d9c459c0e568a00dac3","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        vm \u003d self._lookup_vm_check(vm_name)"},{"line_number":153,"context_line":"        self._add_virt_resource(scsicontrl, vm.path_())"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def get_vm_storage_paths(self, vm_name):"},{"line_number":156,"context_line":"        vm \u003d self._lookup_vm_check(vm_name)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        vmsettings \u003d vm.associators("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FUA8%3D","line":155,"updated":"2013-11-11 06:41:41.000000000","message":"Would it be possible to get a test written to cover where V1 and V2 have differences?","commit_id":"340a45b79d03ab9cb805e7d18f513078affcb3ed"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"747bc8095c6893b388a194b517a5d193ff7ddb7b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        vmsettings \u003d vm.associators("},{"line_number":159,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":160,"context_line":"        sasds \u003d vmsettings[0].associators("},{"line_number":161,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":162,"context_line":"        disk_resources \u003d [r for r in sasds"},{"line_number":163,"context_line":"                          if r.ResourceSubType \u003d\u003d"},{"line_number":164,"context_line":"                          self._IDE_DISK_RES_SUB_TYPE]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FOEs%3D","line":161,"updated":"2013-11-12 17:49:38.000000000","message":"Except for a one line difference on this value:\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/hyperv/vmutils.py#L383\n\nThis method is exactly the same as the parent class method.  I would suggest refactoring the parent class method to have a parameter to override the resource type.  The parent class would default to Msvm_ResourceAllocationSettingData and the v2 utils would call into it but pass Msvm_StorageAllocationSettingData.\n\nOtherwise this code is going to be in dual maintenance if there are ever changes needed in both places, which is unmanageable.","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"716d657d49120d371522f3ac3fc20e2001324fa9","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        vmsettings \u003d vm.associators("},{"line_number":159,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":160,"context_line":"        sasds \u003d vmsettings[0].associators("},{"line_number":161,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":162,"context_line":"        disk_resources \u003d [r for r in sasds"},{"line_number":163,"context_line":"                          if r.ResourceSubType \u003d\u003d"},{"line_number":164,"context_line":"                          self._IDE_DISK_RES_SUB_TYPE]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FMlk%3D","line":161,"in_reply_to":"AAAATn%2F%2FN9c%3D","updated":"2013-11-13 03:15:49.000000000","message":"Done, thanks for your comments.","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"ea7062a831611adbd9def2439f6ccd9034073e88","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        vmsettings \u003d vm.associators("},{"line_number":159,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":160,"context_line":"        sasds \u003d vmsettings[0].associators("},{"line_number":161,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":162,"context_line":"        disk_resources \u003d [r for r in sasds"},{"line_number":163,"context_line":"                          if r.ResourceSubType \u003d\u003d"},{"line_number":164,"context_line":"                          self._IDE_DISK_RES_SUB_TYPE]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FN9c%3D","line":161,"in_reply_to":"AAAATn%2F%2FOC8%3D","updated":"2013-11-12 18:11:17.000000000","message":"More specifically, one option consists in creating a class variable for  Msvm_ResourceAllocationSettingData in V1 and Msvm_StorageAllocationSettingData in V2 along with a method to retrieve the disk files path in V1 to be overridden in V2 here: \n\nhttps://github.com/openstack/nova/blob/master/nova/virt/hyperv/vmutils.py#L398\n\nE.g. In V1:\n\ndef _get_disk_resource_disk_path(self, disk_resource):\n    return disk_resource.Connection\n\nIn V2:\n\ndef _get_disk_resource_disk_path(self, disk_resource):\n    return disk_resource.HostResource","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"5d50f7bfd3c59f13f2717e710d9592614306ffa6","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        vmsettings \u003d vm.associators("},{"line_number":159,"context_line":"            wmi_result_class\u003d\u0027Msvm_VirtualSystemSettingData\u0027)"},{"line_number":160,"context_line":"        sasds \u003d vmsettings[0].associators("},{"line_number":161,"context_line":"            wmi_result_class\u003d\u0027Msvm_StorageAllocationSettingData\u0027)"},{"line_number":162,"context_line":"        disk_resources \u003d [r for r in sasds"},{"line_number":163,"context_line":"                          if r.ResourceSubType \u003d\u003d"},{"line_number":164,"context_line":"                          self._IDE_DISK_RES_SUB_TYPE]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FOC8%3D","line":161,"in_reply_to":"AAAATn%2F%2FOEs%3D","updated":"2013-11-12 17:54:43.000000000","message":"Agreed, this one requires the same type of refactoring applied in most of the V2 utils avoiding code duplication whenever possible.","commit_id":"17d5f82b180412e09c37b9e3d841d0a1ec1cd936"}]}
