)]}'
{"cinder/tests/test_emc_vnxdirect.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2572,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2573,"context_line":"        pool_stats \u003d self.driver.cli.stats[\u0027pools\u0027][0]"},{"line_number":2574,"context_line":"        self.assertEqual(pool_stats[\u0027fast_cache_enabled\u0027],"},{"line_number":2575,"context_line":"                         \u0027True\u0027)"},{"line_number":2576,"context_line":"        expect_cmd \u003d ["},{"line_number":2577,"context_line":"            mock.call(\u0027connection\u0027, \u0027-getport\u0027, \u0027-address\u0027, \u0027-vlanid\u0027,"},{"line_number":2578,"context_line":"                      poll\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4a8c42d8","line":2575,"updated":"2015-01-20 05:55:28.000000000","message":"Order of parameters is reversed.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2572,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2573,"context_line":"        pool_stats \u003d self.driver.cli.stats[\u0027pools\u0027][0]"},{"line_number":2574,"context_line":"        self.assertEqual(pool_stats[\u0027fast_cache_enabled\u0027],"},{"line_number":2575,"context_line":"                         \u0027True\u0027)"},{"line_number":2576,"context_line":"        expect_cmd \u003d ["},{"line_number":2577,"context_line":"            mock.call(\u0027connection\u0027, \u0027-getport\u0027, \u0027-address\u0027, \u0027-vlanid\u0027,"},{"line_number":2578,"context_line":"                      poll\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_a01a0d15","line":2575,"in_reply_to":"3a961159_4a8c42d8","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2970,"context_line":"        results \u003d [self.testData.LUN_PROPERTY(testVolume[\u0027name\u0027], False)]"},{"line_number":2971,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":2972,"context_line":"        pool \u003d self.driver.get_pool(testVolume)"},{"line_number":2973,"context_line":"        self.assertEqual(pool, \u0027Pool_02_SASFLASH\u0027)"},{"line_number":2974,"context_line":"        fake_cli.assert_has_calls("},{"line_number":2975,"context_line":"            [mock.call(*self.testData.LUN_PROPERTY_POOL_CMD("},{"line_number":2976,"context_line":"                testVolume[\u0027name\u0027]), poll\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8abd4a6a","line":2973,"updated":"2015-01-20 05:55:28.000000000","message":"reversed.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2970,"context_line":"        results \u003d [self.testData.LUN_PROPERTY(testVolume[\u0027name\u0027], False)]"},{"line_number":2971,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":2972,"context_line":"        pool \u003d self.driver.get_pool(testVolume)"},{"line_number":2973,"context_line":"        self.assertEqual(pool, \u0027Pool_02_SASFLASH\u0027)"},{"line_number":2974,"context_line":"        fake_cli.assert_has_calls("},{"line_number":2975,"context_line":"            [mock.call(*self.testData.LUN_PROPERTY_POOL_CMD("},{"line_number":2976,"context_line":"                testVolume[\u0027name\u0027]), poll\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_00d92157","line":2973,"in_reply_to":"3a961159_8abd4a6a","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2981,"context_line":"        fake_cli \u003d self.driverSetup()"},{"line_number":2982,"context_line":"        pool \u003d self.driver.cli.get_target_storagepool(testNewVolume,"},{"line_number":2983,"context_line":"                                                      testSrcVolume)"},{"line_number":2984,"context_line":"        self.assertEqual(pool, \u0027unit_test_pool\u0027)"},{"line_number":2985,"context_line":"        self.assertFalse(fake_cli.called)"},{"line_number":2986,"context_line":""},{"line_number":2987,"context_line":"    def test_get_target_pool_for_clone_legacy_volme(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_aab20694","line":2984,"updated":"2015-01-20 05:55:28.000000000","message":"reversed.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2981,"context_line":"        fake_cli \u003d self.driverSetup()"},{"line_number":2982,"context_line":"        pool \u003d self.driver.cli.get_target_storagepool(testNewVolume,"},{"line_number":2983,"context_line":"                                                      testSrcVolume)"},{"line_number":2984,"context_line":"        self.assertEqual(pool, \u0027unit_test_pool\u0027)"},{"line_number":2985,"context_line":"        self.assertFalse(fake_cli.called)"},{"line_number":2986,"context_line":""},{"line_number":2987,"context_line":"    def test_get_target_pool_for_clone_legacy_volme(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e6087f93","line":2984,"in_reply_to":"3a961159_aab20694","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2992,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":2993,"context_line":"        pool \u003d self.driver.cli.get_target_storagepool(testNewVolume,"},{"line_number":2994,"context_line":"                                                      testSrcVolume)"},{"line_number":2995,"context_line":"        self.assertEqual(pool, \u0027Pool_02_SASFLASH\u0027)"},{"line_number":2996,"context_line":"        fake_cli.assert_has_calls("},{"line_number":2997,"context_line":"            [mock.call(*self.testData.LUN_PROPERTY_POOL_CMD("},{"line_number":2998,"context_line":"                testSrcVolume[\u0027name\u0027]), poll\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_cab75284","line":2995,"updated":"2015-01-20 05:55:28.000000000","message":"Same","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2992,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":2993,"context_line":"        pool \u003d self.driver.cli.get_target_storagepool(testNewVolume,"},{"line_number":2994,"context_line":"                                                      testSrcVolume)"},{"line_number":2995,"context_line":"        self.assertEqual(pool, \u0027Pool_02_SASFLASH\u0027)"},{"line_number":2996,"context_line":"        fake_cli.assert_has_calls("},{"line_number":2997,"context_line":"            [mock.call(*self.testData.LUN_PROPERTY_POOL_CMD("},{"line_number":2998,"context_line":"                testSrcVolume[\u0027name\u0027]), poll\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_80e4310e","line":2995,"in_reply_to":"3a961159_cab75284","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2999,"context_line":""},{"line_number":3000,"context_line":"    def test_manage_existing_get_size(self):"},{"line_number":3001,"context_line":"        \"\"\"Unit test for the manage_existing_get_size"},{"line_number":3002,"context_line":"        function of driver."},{"line_number":3003,"context_line":"        \"\"\""},{"line_number":3004,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3005,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8a646a22","line":3002,"updated":"2015-01-20 05:55:28.000000000","message":"docstring","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2999,"context_line":""},{"line_number":3000,"context_line":"    def test_manage_existing_get_size(self):"},{"line_number":3001,"context_line":"        \"\"\"Unit test for the manage_existing_get_size"},{"line_number":3002,"context_line":"        function of driver."},{"line_number":3003,"context_line":"        \"\"\""},{"line_number":3004,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3005,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e0ba55e0","line":3002,"in_reply_to":"3a961159_8a646a22","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3014,"context_line":"            test_volume,"},{"line_number":3015,"context_line":"            self.testData.test_existing_ref)"},{"line_number":3016,"context_line":"        expected \u003d [mock.call(*get_lun_cmd, poll\u003dTrue)]"},{"line_number":3017,"context_line":"        self.assertEqual(get_size, test_size)"},{"line_number":3018,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":3019,"context_line":""},{"line_number":3020,"context_line":"    def test_manage_existing_get_size_incorrect_pool(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4aa36243","line":3017,"updated":"2015-01-20 05:55:28.000000000","message":"Same","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3014,"context_line":"            test_volume,"},{"line_number":3015,"context_line":"            self.testData.test_existing_ref)"},{"line_number":3016,"context_line":"        expected \u003d [mock.call(*get_lun_cmd, poll\u003dTrue)]"},{"line_number":3017,"context_line":"        self.assertEqual(get_size, test_size)"},{"line_number":3018,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":3019,"context_line":""},{"line_number":3020,"context_line":"    def test_manage_existing_get_size_incorrect_pool(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_00c0414f","line":3017,"in_reply_to":"3a961159_4aa36243","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3021,"context_line":"        \"\"\"Unit test for the manage_existing function"},{"line_number":3022,"context_line":"        of driver with a invalid pool backend."},{"line_number":3023,"context_line":"        An exception would occur in this case"},{"line_number":3024,"context_line":"        \"\"\""},{"line_number":3025,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3026,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"},{"line_number":3027,"context_line":"                       \u0027-attachedSnapshot\u0027, \u0027-poolName\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_aa6926fa","line":3024,"updated":"2015-01-20 05:55:28.000000000","message":"docstring","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3021,"context_line":"        \"\"\"Unit test for the manage_existing function"},{"line_number":3022,"context_line":"        of driver with a invalid pool backend."},{"line_number":3023,"context_line":"        An exception would occur in this case"},{"line_number":3024,"context_line":"        \"\"\""},{"line_number":3025,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3026,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"},{"line_number":3027,"context_line":"                       \u0027-attachedSnapshot\u0027, \u0027-poolName\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_80cb5171","line":3024,"in_reply_to":"3a961159_aa6926fa","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3045,"context_line":"        \"\"\"Unit test for the manage_existing with the"},{"line_number":3046,"context_line":"        array backend which is not support the manage"},{"line_number":3047,"context_line":"        existing functinality."},{"line_number":3048,"context_line":"        \"\"\""},{"line_number":3049,"context_line":"        #mock the command executor"},{"line_number":3050,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ca6e7200","line":3048,"updated":"2015-01-20 05:55:28.000000000","message":"here too","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3045,"context_line":"        \"\"\"Unit test for the manage_existing with the"},{"line_number":3046,"context_line":"        array backend which is not support the manage"},{"line_number":3047,"context_line":"        existing functinality."},{"line_number":3048,"context_line":"        \"\"\""},{"line_number":3049,"context_line":"        #mock the command executor"},{"line_number":3050,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e0a175aa","line":3048,"in_reply_to":"3a961159_ca6e7200","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3046,"context_line":"        array backend which is not support the manage"},{"line_number":3047,"context_line":"        existing functinality."},{"line_number":3048,"context_line":"        \"\"\""},{"line_number":3049,"context_line":"        #mock the command executor"},{"line_number":3050,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":3052,"context_line":"        commands \u003d [lun_rename_cmd]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0a707ad9","line":3049,"updated":"2015-01-20 05:55:28.000000000","message":"Add a space after #, make first letter capital: Mock","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3046,"context_line":"        array backend which is not support the manage"},{"line_number":3047,"context_line":"        existing functinality."},{"line_number":3048,"context_line":"        \"\"\""},{"line_number":3049,"context_line":"        #mock the command executor"},{"line_number":3050,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":3052,"context_line":"        commands \u003d [lun_rename_cmd]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_00a761be","line":3049,"in_reply_to":"3a961159_0a707ad9","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":3052,"context_line":"        commands \u003d [lun_rename_cmd]"},{"line_number":3053,"context_line":"        results \u003d [SUCCEED]"},{"line_number":3054,"context_line":"        #mock the command executor"},{"line_number":3055,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":3056,"context_line":"        self.driver.manage_existing("},{"line_number":3057,"context_line":"            self.testData.test_volume_with_type,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2a7d36b3","line":3054,"updated":"2015-01-20 05:55:28.000000000","message":"Here","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3051,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":3052,"context_line":"        commands \u003d [lun_rename_cmd]"},{"line_number":3053,"context_line":"        results \u003d [SUCCEED]"},{"line_number":3054,"context_line":"        #mock the command executor"},{"line_number":3055,"context_line":"        fake_cli \u003d self.driverSetup(commands, results)"},{"line_number":3056,"context_line":"        self.driver.manage_existing("},{"line_number":3057,"context_line":"            self.testData.test_volume_with_type,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_6095853f","line":3054,"in_reply_to":"3a961159_2a7d36b3","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3069,"context_line":"                                \u0027storagetype:pool\u0027: \u0027unit_test_pool\u0027}))"},{"line_number":3070,"context_line":"    def test_create_compression_volume(self):"},{"line_number":3071,"context_line":"        \"\"\"Unit test for create a compression volume on array"},{"line_number":3072,"context_line":"        backend."},{"line_number":3073,"context_line":"        \"\"\""},{"line_number":3074,"context_line":"        commands \u003d [self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol_with_type\u0027),"},{"line_number":3075,"context_line":"                    self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol_with_type\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4a7a82bb","line":3072,"updated":"2015-01-20 05:55:28.000000000","message":"docstring","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3069,"context_line":"                                \u0027storagetype:pool\u0027: \u0027unit_test_pool\u0027}))"},{"line_number":3070,"context_line":"    def test_create_compression_volume(self):"},{"line_number":3071,"context_line":"        \"\"\"Unit test for create a compression volume on array"},{"line_number":3072,"context_line":"        backend."},{"line_number":3073,"context_line":"        \"\"\""},{"line_number":3074,"context_line":"        commands \u003d [self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol_with_type\u0027),"},{"line_number":3075,"context_line":"                    self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol_with_type\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_20837d05","line":3072,"in_reply_to":"3a961159_4a7a82bb","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3085,"context_line":"                                    \u0027-Deduplication\u0027,"},{"line_number":3086,"context_line":"                                    \u0027-ThinProvisioning\u0027,"},{"line_number":3087,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":3088,"context_line":"        #case"},{"line_number":3089,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":3090,"context_line":"        #verification"},{"line_number":3091,"context_line":"        expect_cmd \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8a4b8a85","line":3088,"updated":"2015-01-20 05:55:28.000000000","message":"space and capital","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3085,"context_line":"                                    \u0027-Deduplication\u0027,"},{"line_number":3086,"context_line":"                                    \u0027-ThinProvisioning\u0027,"},{"line_number":3087,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":3088,"context_line":"        #case"},{"line_number":3089,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":3090,"context_line":"        #verification"},{"line_number":3091,"context_line":"        expect_cmd \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_c073994b","line":3088,"in_reply_to":"3a961159_8a4b8a85","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":3087,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":3088,"context_line":"        #case"},{"line_number":3089,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":3090,"context_line":"        #verification"},{"line_number":3091,"context_line":"        expect_cmd \u003d ["},{"line_number":3092,"context_line":"            mock.call(*self.testData.LUN_CREATION_CMD("},{"line_number":3093,"context_line":"                \u0027vol_with_type\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ca459270","line":3090,"updated":"2015-01-20 05:55:28.000000000","message":"here","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":3087,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":3088,"context_line":"        #case"},{"line_number":3089,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":3090,"context_line":"        #verification"},{"line_number":3091,"context_line":"        expect_cmd \u003d ["},{"line_number":3092,"context_line":"            mock.call(*self.testData.LUN_CREATION_CMD("},{"line_number":3093,"context_line":"                \u0027vol_with_type\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e08fb521","line":3090,"in_reply_to":"3a961159_ca459270","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2872,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":2873,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2874,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":2875,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2876,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool1\u0027,"},{"line_number":2877,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027True\u0027,"},{"line_number":2878,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_79e25730","line":2875,"updated":"2015-02-03 21:19:41.000000000","message":"You have \"\u0027thinprovisioning_support\u0027: \u0027True\u0027,\" twice, on line 2873 and 2875.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2872,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":2873,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2874,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":2875,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2876,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool1\u0027,"},{"line_number":2877,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027True\u0027,"},{"line_number":2878,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_ce80cfc2","line":2875,"in_reply_to":"da86d52c_79e25730","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2888,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":2889,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2890,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":2891,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2892,"context_line":"            \u0027pool_name\u0027: \u0027unit test pool 2\u0027,"},{"line_number":2893,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2894,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_d9c8a3aa","line":2891,"updated":"2015-02-03 21:19:41.000000000","message":"duplicate entry.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2888,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":2889,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2890,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":2891,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":2892,"context_line":"            \u0027pool_name\u0027: \u0027unit test pool 2\u0027,"},{"line_number":2893,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2894,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_ee8113c4","line":2891,"in_reply_to":"da86d52c_d9c8a3aa","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2914,"context_line":"            \u0027deduplication_support\u0027: \u0027False\u0027,"},{"line_number":2915,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2916,"context_line":"            \u0027consistencygroup_support\u0027: \u0027False\u0027,"},{"line_number":2917,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2918,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool1\u0027,"},{"line_number":2919,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2920,"context_line":"            \u0027fast_support\u0027: \u0027False\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_19c6bb9a","line":2917,"updated":"2015-02-03 21:19:41.000000000","message":"Here too.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2914,"context_line":"            \u0027deduplication_support\u0027: \u0027False\u0027,"},{"line_number":2915,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2916,"context_line":"            \u0027consistencygroup_support\u0027: \u0027False\u0027,"},{"line_number":2917,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2918,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool1\u0027,"},{"line_number":2919,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2920,"context_line":"            \u0027fast_support\u0027: \u0027False\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_2ed32b05","line":2917,"in_reply_to":"da86d52c_19c6bb9a","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2930,"context_line":"            \u0027deduplication_support\u0027: \u0027False\u0027,"},{"line_number":2931,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2932,"context_line":"            \u0027consistencygroup_support\u0027: \u0027False\u0027,"},{"line_number":2933,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2934,"context_line":"            \u0027pool_name\u0027: \u0027unit test pool 2\u0027,"},{"line_number":2935,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2936,"context_line":"            \u0027fast_support\u0027: \u0027False\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_79b97714","line":2933,"updated":"2015-02-03 21:19:41.000000000","message":"Here too.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2930,"context_line":"            \u0027deduplication_support\u0027: \u0027False\u0027,"},{"line_number":2931,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2932,"context_line":"            \u0027consistencygroup_support\u0027: \u0027False\u0027,"},{"line_number":2933,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027False\u0027,"},{"line_number":2934,"context_line":"            \u0027pool_name\u0027: \u0027unit test pool 2\u0027,"},{"line_number":2935,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027False\u0027,"},{"line_number":2936,"context_line":"            \u0027fast_support\u0027: \u0027False\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_eee593dc","line":2933,"in_reply_to":"da86d52c_79b97714","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2952,"context_line":"                                    \u0027-Deduplication\u0027,"},{"line_number":2953,"context_line":"                                    \u0027-ThinProvisioning\u0027,"},{"line_number":2954,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":2955,"context_line":"        #case"},{"line_number":2956,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2957,"context_line":""},{"line_number":2958,"context_line":"        #verification"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_394a9f26","line":2955,"updated":"2015-02-03 21:19:41.000000000","message":"Add a space after # and make the first letter capital.\n\n# Case","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2952,"context_line":"                                    \u0027-Deduplication\u0027,"},{"line_number":2953,"context_line":"                                    \u0027-ThinProvisioning\u0027,"},{"line_number":2954,"context_line":"                                    \u0027-FAST\u0027]"},{"line_number":2955,"context_line":"        #case"},{"line_number":2956,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2957,"context_line":""},{"line_number":2958,"context_line":"        #verification"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_8e1b37c9","line":2955,"in_reply_to":"da86d52c_394a9f26","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":2955,"context_line":"        #case"},{"line_number":2956,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2957,"context_line":""},{"line_number":2958,"context_line":"        #verification"},{"line_number":2959,"context_line":"        expect_cmd \u003d ["},{"line_number":2960,"context_line":"            mock.call(*self.testData.LUN_CREATION_CMD("},{"line_number":2961,"context_line":"                \u0027vol_with_type\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_795097d4","line":2958,"updated":"2015-02-03 21:19:41.000000000","message":"Here too.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":2955,"context_line":"        #case"},{"line_number":2956,"context_line":"        self.driver.create_volume(self.testData.test_volume_with_type)"},{"line_number":2957,"context_line":""},{"line_number":2958,"context_line":"        #verification"},{"line_number":2959,"context_line":"        expect_cmd \u003d ["},{"line_number":2960,"context_line":"            mock.call(*self.testData.LUN_CREATION_CMD("},{"line_number":2961,"context_line":"                \u0027vol_with_type\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_6e1e03bd","line":2958,"in_reply_to":"da86d52c_795097d4","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":3016,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":3017,"context_line":""},{"line_number":3018,"context_line":"    def test_manage_existing_get_size_incorrect_pool(self):"},{"line_number":3019,"context_line":"        \"\"\"Test manage_existing function of driver with a invalid pool.\"\"\""},{"line_number":3020,"context_line":""},{"line_number":3021,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3022,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_7915f7e3","line":3019,"updated":"2015-02-03 21:19:41.000000000","message":"an invalid pool","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":3016,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":3017,"context_line":""},{"line_number":3018,"context_line":"    def test_manage_existing_get_size_incorrect_pool(self):"},{"line_number":3019,"context_line":"        \"\"\"Test manage_existing function of driver with a invalid pool.\"\"\""},{"line_number":3020,"context_line":""},{"line_number":3021,"context_line":"        get_lun_cmd \u003d (\u0027lun\u0027, \u0027-list\u0027, \u0027-l\u0027, self.testData.test_lun_id,"},{"line_number":3022,"context_line":"                       \u0027-state\u0027, \u0027-userCap\u0027, \u0027-owner\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_4e25bf07","line":3019,"in_reply_to":"da86d52c_7915f7e3","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":3298,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":3299,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":3300,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":3301,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":3302,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool\u0027,"},{"line_number":3303,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027True\u0027,"},{"line_number":3304,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_19e95be6","line":3301,"updated":"2015-02-03 21:19:41.000000000","message":"duplicate","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":3298,"context_line":"            \u0027deduplication_support\u0027: \u0027True\u0027,"},{"line_number":3299,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":3300,"context_line":"            \u0027consistencygroup_support\u0027: \u0027True\u0027,"},{"line_number":3301,"context_line":"            \u0027thinprovisioning_support\u0027: \u0027True\u0027,"},{"line_number":3302,"context_line":"            \u0027pool_name\u0027: \u0027unit_test_pool\u0027,"},{"line_number":3303,"context_line":"            \u0027fast_cache_enabled\u0027: \u0027True\u0027,"},{"line_number":3304,"context_line":"            \u0027fast_support\u0027: \u0027True\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_2e416ba9","line":3301,"in_reply_to":"da86d52c_19e95be6","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":12608,"name":"Curt Bruns","email":"curt.e.bruns@intel.com","username":"cebruns"},"change_message_id":"2135913bd9c37190cf04065796878de8e664d8ba","unresolved":false,"context_lines":[{"line_number":3243,"context_line":"            self.testData.connector)"},{"line_number":3244,"context_line":"        self.assertTrue(\u0027initiator_target_map\u0027 in connection_info[\u0027data\u0027],"},{"line_number":3245,"context_line":"                        \u0027initiator_target_map should be populated.\u0027)"},{"line_number":3246,"context_line":"        self.assertEqual(connection_info[\u0027data\u0027][\u0027initiator_target_map\u0027],"},{"line_number":3247,"context_line":"                         EMCVNXCLIDriverTestData.i_t_map)"},{"line_number":3248,"context_line":""},{"line_number":3249,"context_line":"    def test_get_volume_stats(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_81199324","line":3246,"updated":"2015-02-09 17:06:53.000000000","message":"Is this backwards?  Should be assertEqual(EXPECTED value, MEASURED value).","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"623f608e41f3204291b0f23b37d44166e0a233e2","unresolved":false,"context_lines":[{"line_number":3243,"context_line":"            self.testData.connector)"},{"line_number":3244,"context_line":"        self.assertTrue(\u0027initiator_target_map\u0027 in connection_info[\u0027data\u0027],"},{"line_number":3245,"context_line":"                        \u0027initiator_target_map should be populated.\u0027)"},{"line_number":3246,"context_line":"        self.assertEqual(connection_info[\u0027data\u0027][\u0027initiator_target_map\u0027],"},{"line_number":3247,"context_line":"                         EMCVNXCLIDriverTestData.i_t_map)"},{"line_number":3248,"context_line":""},{"line_number":3249,"context_line":"    def test_get_volume_stats(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_4e7c1173","line":3246,"in_reply_to":"da86d52c_81199324","updated":"2015-02-10 02:44:32.000000000","message":"Done","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":12608,"name":"Curt Bruns","email":"curt.e.bruns@intel.com","username":"cebruns"},"change_message_id":"2135913bd9c37190cf04065796878de8e664d8ba","unresolved":false,"context_lines":[{"line_number":3261,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3262,"context_line":"        self.assertTrue("},{"line_number":3263,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3264,"context_line":"            \"vender name is not correct\")"},{"line_number":3265,"context_line":"        self.assertTrue("},{"line_number":3266,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3267,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_81bd1305","line":3264,"updated":"2015-02-09 17:06:53.000000000","message":"Nitpick: vendor is misspelled","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"623f608e41f3204291b0f23b37d44166e0a233e2","unresolved":false,"context_lines":[{"line_number":3261,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3262,"context_line":"        self.assertTrue("},{"line_number":3263,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3264,"context_line":"            \"vender name is not correct\")"},{"line_number":3265,"context_line":"        self.assertTrue("},{"line_number":3266,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3267,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_ce8f2174","line":3264,"in_reply_to":"da86d52c_81bd1305","updated":"2015-02-10 02:44:32.000000000","message":"Done","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":12608,"name":"Curt Bruns","email":"curt.e.bruns@intel.com","username":"cebruns"},"change_message_id":"a37a53f269c6246808b14e3ac629bc0915be637d","unresolved":false,"context_lines":[{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        self.assertEqual(connection_info,"},{"line_number":1529,"context_line":"                         self.testData.iscsi_connection_info_mp)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        expected \u003d [mock.call(\u0027storagegroup\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027,"},{"line_number":1532,"context_line":"                              poll\u003dFalse),"},{"line_number":1533,"context_line":"                    mock.call(\u0027storagegroup\u0027, \u0027-addhlu\u0027, \u0027-hlu\u0027, 2, \u0027-alu\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_cdeb9dda","line":1530,"updated":"2015-02-17 00:07:34.000000000","message":"AssertEqual should be (EXPECTED, MEASURED) - you have it reversed on this one.","commit_id":"424aedd309475da04600d55ac8e6a8d7d71ff0d3"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"3384fd8a3d27a74c9a417f60ab1106d757275ac6","unresolved":false,"context_lines":[{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        self.assertEqual(connection_info,"},{"line_number":1529,"context_line":"                         self.testData.iscsi_connection_info_mp)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        expected \u003d [mock.call(\u0027storagegroup\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027,"},{"line_number":1532,"context_line":"                              poll\u003dFalse),"},{"line_number":1533,"context_line":"                    mock.call(\u0027storagegroup\u0027, \u0027-addhlu\u0027, \u0027-hlu\u0027, 2, \u0027-alu\u0027, 1,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_73141d4d","line":1530,"in_reply_to":"da86d52c_cdeb9dda","updated":"2015-02-18 09:17:33.000000000","message":"Thanks for pointing out.\n\nThis is addressed in https://review.openstack.org/#/c/156470/","commit_id":"424aedd309475da04600d55ac8e6a8d7d71ff0d3"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                    \u0027display_name\u0027: \u0027vol-test02\u0027, \u0027instance_uuid\u0027: None,"},{"line_number":259,"context_line":"                    \u0027attach_status\u0027: \u0027detached\u0027,"},{"line_number":260,"context_line":"                    \u0027volume_type\u0027: [],"},{"line_number":261,"context_line":"                    \u0027_name_id\u0027: None, \u0027volume_metadata\u0027: []}"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    test_volume5 \u003d {\u0027migration_status\u0027: None, \u0027availability_zone\u0027: \u0027nova\u0027,"},{"line_number":264,"context_line":"                    \u0027id\u0027: \u00271181d1b2-cea3-4f55-8fa8-3360d026ce25\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_416cc836","side":"PARENT","line":261,"updated":"2015-02-17 15:30:40.000000000","message":"Wonder why test_volume4 is removed in latest code.","commit_id":"7cd5fe6bb5b138a3df6665ae7c1fefa4da403f38"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                    \u0027display_name\u0027: \u0027vol-test02\u0027, \u0027instance_uuid\u0027: None,"},{"line_number":259,"context_line":"                    \u0027attach_status\u0027: \u0027detached\u0027,"},{"line_number":260,"context_line":"                    \u0027volume_type\u0027: [],"},{"line_number":261,"context_line":"                    \u0027_name_id\u0027: None, \u0027volume_metadata\u0027: []}"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    test_volume5 \u003d {\u0027migration_status\u0027: None, \u0027availability_zone\u0027: \u0027nova\u0027,"},{"line_number":264,"context_line":"                    \u0027id\u0027: \u00271181d1b2-cea3-4f55-8fa8-3360d026ce25\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_87795431","side":"PARENT","line":261,"in_reply_to":"da86d52c_416cc836","updated":"2015-02-18 02:47:12.000000000","message":"We just noticed that it is an unused variable when adjust the unit test for the blueprint. So remove it along with the other changes.","commit_id":"7cd5fe6bb5b138a3df6665ae7c1fefa4da403f38"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":1172,"context_line":"                        \"driver_version is incorrect\")"},{"line_number":1173,"context_line":"        self.assertTrue("},{"line_number":1174,"context_line":"            stats[\u0027storage_protocol\u0027] \u003d\u003d \u0027iSCSI\u0027,"},{"line_number":1175,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":1176,"context_line":"        self.assertTrue("},{"line_number":1177,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":1178,"context_line":"            \"vendor name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_213ef4da","line":1175,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"is incorrect\" instead of \"is not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1172,"context_line":"                        \"driver_version is incorrect\")"},{"line_number":1173,"context_line":"        self.assertTrue("},{"line_number":1174,"context_line":"            stats[\u0027storage_protocol\u0027] \u003d\u003d \u0027iSCSI\u0027,"},{"line_number":1175,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":1176,"context_line":"        self.assertTrue("},{"line_number":1177,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":1178,"context_line":"            \"vendor name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_2732685e","line":1175,"in_reply_to":"da86d52c_213ef4da","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":1175,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":1176,"context_line":"        self.assertTrue("},{"line_number":1177,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":1178,"context_line":"            \"vendor name is not correct\")"},{"line_number":1179,"context_line":"        self.assertTrue("},{"line_number":1180,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":1181,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_4124c8c5","line":1178,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1175,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":1176,"context_line":"        self.assertTrue("},{"line_number":1177,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":1178,"context_line":"            \"vendor name is not correct\")"},{"line_number":1179,"context_line":"        self.assertTrue("},{"line_number":1180,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":1181,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_47375c4d","line":1178,"in_reply_to":"da86d52c_4124c8c5","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"            \"vendor name is not correct\")"},{"line_number":1179,"context_line":"        self.assertTrue("},{"line_number":1180,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":1181,"context_line":"            \"volume backend name is not correct\")"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":1184,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_611f0c71","line":1181,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"            \"vendor name is not correct\")"},{"line_number":1179,"context_line":"        self.assertTrue("},{"line_number":1180,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":1181,"context_line":"            \"volume backend name is not correct\")"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":1184,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_673f0026","line":1181,"in_reply_to":"da86d52c_611f0c71","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":1212,"context_line":"        self.assertTrue("},{"line_number":1213,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 0,"},{"line_number":1214,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":1215,"context_line":"        expect_cmd \u003d ["},{"line_number":1216,"context_line":"            mock.call(*self.testData.POOL_FEATURE_INFO_POOL_LUNS_CMD(),"},{"line_number":1217,"context_line":"                      poll\u003dFalse)]"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_a1002403","line":1214,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":1212,"context_line":"        self.assertTrue("},{"line_number":1213,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 0,"},{"line_number":1214,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":1215,"context_line":"        expect_cmd \u003d ["},{"line_number":1216,"context_line":"            mock.call(*self.testData.POOL_FEATURE_INFO_POOL_LUNS_CMD(),"},{"line_number":1217,"context_line":"                      poll\u003dFalse)]"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_a74578b5","line":1214,"in_reply_to":"da86d52c_a1002403","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":1224,"context_line":"                        \"driver_version is not returned\")"},{"line_number":1225,"context_line":"        self.assertTrue("},{"line_number":1226,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":1227,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    @mock.patch(\"cinder.volume.drivers.emc.emc_vnx_cli.\""},{"line_number":1230,"context_line":"                \"CommandLineHelper.create_lun_by_cmd\","}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_0409fe2b","line":1227,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1224,"context_line":"                        \"driver_version is not returned\")"},{"line_number":1225,"context_line":"        self.assertTrue("},{"line_number":1226,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":1227,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    @mock.patch(\"cinder.volume.drivers.emc.emc_vnx_cli.\""},{"line_number":1230,"context_line":"                \"CommandLineHelper.create_lun_by_cmd\","}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_c7426caa","line":1227,"in_reply_to":"da86d52c_0409fe2b","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"689d1932fde293fb1b9b456d12ba59725d58c70e","unresolved":false,"context_lines":[{"line_number":1532,"context_line":"                              poll\u003dFalse),"},{"line_number":1533,"context_line":"                    mock.call(\u0027storagegroup\u0027, \u0027-addhlu\u0027, \u0027-hlu\u0027, 2, \u0027-alu\u0027, 1,"},{"line_number":1534,"context_line":"                              \u0027-gname\u0027, \u0027fakehost\u0027, poll\u003dFalse),"},{"line_number":1535,"context_line":"                    mock.call(*self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol1\u0027),"},{"line_number":1536,"context_line":"                              poll\u003dFalse)]"},{"line_number":1537,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":1538,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_c257e424","line":1535,"updated":"2015-02-17 08:07:05.000000000","message":"What does the asterisk do here?","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":1532,"context_line":"                              poll\u003dFalse),"},{"line_number":1533,"context_line":"                    mock.call(\u0027storagegroup\u0027, \u0027-addhlu\u0027, \u0027-hlu\u0027, 2, \u0027-alu\u0027, 1,"},{"line_number":1534,"context_line":"                              \u0027-gname\u0027, \u0027fakehost\u0027, poll\u003dFalse),"},{"line_number":1535,"context_line":"                    mock.call(*self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol1\u0027),"},{"line_number":1536,"context_line":"                              poll\u003dFalse)]"},{"line_number":1537,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":1538,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_2757c85b","line":1535,"in_reply_to":"da86d52c_c257e424","updated":"2015-02-18 02:47:12.000000000","message":"LUN_PROPERTY_ALL_CMD() returns\n(\u0027lun\u0027, \u0027-list\u0027, \u0027-name\u0027, \u0027vol1\u0027, \u0027-state\u0027, \u0027-status\u0027, \u0027-opDetails\u0027, \u0027-userCap\u0027, \u0027-owner\u0027, \u0027-attachedSnapshot\u0027).\n\nThe \"*\" here make sure that mock.call(*self.testData.LUN_PROPERTY_ALL_CMD(\u0027vol1\u0027), poll\u003dFalse)\n\nbecomes\n\nmock.call(\u0027lun\u0027, \u0027-list\u0027, \u0027-name\u0027, \u0027vol1\u0027, \u0027-state\u0027, \u0027-status\u0027, \u0027-opDetails\u0027, \u0027-userCap\u0027, \u0027-owner\u0027, \u0027-attachedSnapshot\u0027, poll\u003dFalse)","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3332,"context_line":"                        \"driver_version is incorrect\")"},{"line_number":3333,"context_line":"        self.assertTrue("},{"line_number":3334,"context_line":"            stats[\u0027storage_protocol\u0027] \u003d\u003d \u0027FC\u0027,"},{"line_number":3335,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3336,"context_line":"        self.assertTrue("},{"line_number":3337,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3338,"context_line":"            \"vendor name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_6fc37338","line":3335,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3332,"context_line":"                        \"driver_version is incorrect\")"},{"line_number":3333,"context_line":"        self.assertTrue("},{"line_number":3334,"context_line":"            stats[\u0027storage_protocol\u0027] \u003d\u003d \u0027FC\u0027,"},{"line_number":3335,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3336,"context_line":"        self.assertTrue("},{"line_number":3337,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3338,"context_line":"            \"vendor name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_c747cca1","line":3335,"in_reply_to":"da86d52c_6fc37338","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3335,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3336,"context_line":"        self.assertTrue("},{"line_number":3337,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3338,"context_line":"            \"vendor name is not correct\")"},{"line_number":3339,"context_line":"        self.assertTrue("},{"line_number":3340,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3341,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_8fbee7ac","line":3338,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3335,"context_line":"            \"storage_protocol is not correct\")"},{"line_number":3336,"context_line":"        self.assertTrue("},{"line_number":3337,"context_line":"            stats[\u0027vendor_name\u0027] \u003d\u003d \"EMC\","},{"line_number":3338,"context_line":"            \"vendor name is not correct\")"},{"line_number":3339,"context_line":"        self.assertTrue("},{"line_number":3340,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3341,"context_line":"            \"volume backend name is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_07cd6431","line":3338,"in_reply_to":"da86d52c_8fbee7ac","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3338,"context_line":"            \"vendor name is not correct\")"},{"line_number":3339,"context_line":"        self.assertTrue("},{"line_number":3340,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3341,"context_line":"            \"volume backend name is not correct\")"},{"line_number":3342,"context_line":""},{"line_number":3343,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3344,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_cfdfff0a","line":3341,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3338,"context_line":"            \"vendor name is not correct\")"},{"line_number":3339,"context_line":"        self.assertTrue("},{"line_number":3340,"context_line":"            stats[\u0027volume_backend_name\u0027] \u003d\u003d \"namedbackend\","},{"line_number":3341,"context_line":"            \"volume backend name is not correct\")"},{"line_number":3342,"context_line":""},{"line_number":3343,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3344,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_27cee82d","line":3341,"in_reply_to":"da86d52c_cfdfff0a","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3371,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3372,"context_line":"        self.assertTrue("},{"line_number":3373,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 0,"},{"line_number":3374,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":3375,"context_line":"        expect_cmd \u003d ["},{"line_number":3376,"context_line":"            mock.call(*self.testData.POOL_FEATURE_INFO_POOL_LUNS_CMD(),"},{"line_number":3377,"context_line":"                      poll\u003dFalse)]"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_d59792e9","line":3374,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3371,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3372,"context_line":"        self.assertTrue("},{"line_number":3373,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 0,"},{"line_number":3374,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":3375,"context_line":"        expect_cmd \u003d ["},{"line_number":3376,"context_line":"            mock.call(*self.testData.POOL_FEATURE_INFO_POOL_LUNS_CMD(),"},{"line_number":3377,"context_line":"                      poll\u003dFalse)]"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_87d874f0","line":3374,"in_reply_to":"da86d52c_d59792e9","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3381,"context_line":"        stats \u003d self.driver.get_volume_stats(True)"},{"line_number":3382,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3383,"context_line":"        self.assertTrue(stats[\u0027driver_version\u0027] is not None,"},{"line_number":3384,"context_line":"                        \"driver_version is not returned\")"},{"line_number":3385,"context_line":"        self.assertTrue("},{"line_number":3386,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":3387,"context_line":"            \"free_capacity_gb is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_3588eec5","line":3384,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not returned\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3381,"context_line":"        stats \u003d self.driver.get_volume_stats(True)"},{"line_number":3382,"context_line":"        pool_stats \u003d stats[\u0027pools\u0027][0]"},{"line_number":3383,"context_line":"        self.assertTrue(stats[\u0027driver_version\u0027] is not None,"},{"line_number":3384,"context_line":"                        \"driver_version is not returned\")"},{"line_number":3385,"context_line":"        self.assertTrue("},{"line_number":3386,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":3387,"context_line":"            \"free_capacity_gb is not correct\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_27e508a4","line":3384,"in_reply_to":"da86d52c_3588eec5","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":13167,"name":"Yogesh","email":"ykshirsa@netapp.com","username":"yogi1"},"change_message_id":"d75757819cf59a88c328e1d71dce461559fed614","unresolved":false,"context_lines":[{"line_number":3384,"context_line":"                        \"driver_version is not returned\")"},{"line_number":3385,"context_line":"        self.assertTrue("},{"line_number":3386,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":3387,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":3388,"context_line":""},{"line_number":3389,"context_line":"    def test_deregister_initiator(self):"},{"line_number":3390,"context_line":"        fake_cli \u003d self.driverSetup()"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_759266f7","line":3387,"updated":"2015-02-17 15:30:40.000000000","message":"For consistency purpose, I would suggest using \"incorrect\" instead of \"not correct\".","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"c7abe29ed2a34b57ac000160972ead05968a415b","unresolved":false,"context_lines":[{"line_number":3384,"context_line":"                        \"driver_version is not returned\")"},{"line_number":3385,"context_line":"        self.assertTrue("},{"line_number":3386,"context_line":"            pool_stats[\u0027free_capacity_gb\u0027] \u003d\u003d 3257.851,"},{"line_number":3387,"context_line":"            \"free_capacity_gb is not correct\")"},{"line_number":3388,"context_line":""},{"line_number":3389,"context_line":"    def test_deregister_initiator(self):"},{"line_number":3390,"context_line":"        fake_cli \u003d self.driverSetup()"}],"source_content_type":"text/x-python","patch_set":14,"id":"da86d52c_6702a03f","line":3387,"in_reply_to":"da86d52c_759266f7","updated":"2015-02-18 02:47:12.000000000","message":"Done","commit_id":"213d63b9b4a2d526f839822d8f1dcc3cc310c0ab"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2789,"context_line":"            self.stats[\u0027fast_cache_enabled\u0027] \u003d \u0027False\u0027"},{"line_number":2790,"context_line":"        return self.stats"},{"line_number":2791,"context_line":""},{"line_number":2792,"context_line":"    def manage_existing_get_size(self, volume, ref):"},{"line_number":2793,"context_line":"        \"\"\"Return size of volume to be managed by manage_existing.\"\"\""},{"line_number":2794,"context_line":""},{"line_number":2795,"context_line":"        # Check that the reference is valid"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2a737617","side":"PARENT","line":2792,"updated":"2015-01-20 05:55:28.000000000","message":"Where did this function go?","commit_id":"0ef788b9cfe92b52910edcd0eb360235a2856c3b"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2789,"context_line":"            self.stats[\u0027fast_cache_enabled\u0027] \u003d \u0027False\u0027"},{"line_number":2790,"context_line":"        return self.stats"},{"line_number":2791,"context_line":""},{"line_number":2792,"context_line":"    def manage_existing_get_size(self, volume, ref):"},{"line_number":2793,"context_line":"        \"\"\"Return size of volume to be managed by manage_existing.\"\"\""},{"line_number":2794,"context_line":""},{"line_number":2795,"context_line":"        # Check that the reference is valid"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_7321afb3","side":"PARENT","line":2792,"in_reply_to":"3a961159_2a737617","updated":"2015-01-23 10:16:02.000000000","message":"This method is moved into the EMCCliBase class. With the pool-aware support feature, the Array backend and the Pool backend have the same behavior of this method.","commit_id":"0ef788b9cfe92b52910edcd0eb360235a2856c3b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1136,"context_line":"            LOG.error(_LE(\"Error happened during storage pool querying, %s.\")"},{"line_number":1137,"context_line":"                      % ex)"},{"line_number":1138,"context_line":"            # NOTE: Do not want to continue raise the exception"},{"line_number":1139,"context_line":"            # as the pools may temporarily unavailable"},{"line_number":1140,"context_line":"            pass"},{"line_number":1141,"context_line":"        return temp_cache"},{"line_number":1142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2aed36f1","line":1139,"updated":"2015-01-20 05:55:28.000000000","message":"may be temporarily unavailable.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1136,"context_line":"            LOG.error(_LE(\"Error happened during storage pool querying, %s.\")"},{"line_number":1137,"context_line":"                      % ex)"},{"line_number":1138,"context_line":"            # NOTE: Do not want to continue raise the exception"},{"line_number":1139,"context_line":"            # as the pools may temporarily unavailable"},{"line_number":1140,"context_line":"            pass"},{"line_number":1141,"context_line":"        return temp_cache"},{"line_number":1142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_80cef158","line":1139,"in_reply_to":"3a961159_2aed36f1","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1620,"context_line":"            pool, volume_name, volume_size,"},{"line_number":1621,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1622,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1623,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1624,"context_line":"        volume.update(model_update)"},{"line_number":1625,"context_line":"        return model_update"},{"line_number":1626,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_aab046fe","line":1623,"updated":"2015-01-20 05:55:28.000000000","message":"There\u0027s now a provider_id field in the volumes db. You may consider using that in the future.  This is just FYI.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1620,"context_line":"            pool, volume_name, volume_size,"},{"line_number":1621,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1622,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1623,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1624,"context_line":"        volume.update(model_update)"},{"line_number":1625,"context_line":"        return model_update"},{"line_number":1626,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e0041580","line":1623,"in_reply_to":"3a961159_aab046fe","updated":"2015-01-23 10:16:02.000000000","message":"Thanks, we will consider it future.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1626,"context_line":""},{"line_number":1627,"context_line":"    def _volume_creation_check(self, volume):"},{"line_number":1628,"context_line":"        \"\"\"This function will perform the check on the"},{"line_number":1629,"context_line":"        extra spec before the volume can be created."},{"line_number":1630,"context_line":"        \"\"\""},{"line_number":1631,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":1632,"context_line":"        self._get_and_validate_extra_specs(specs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_aaa766bb","line":1629,"updated":"2015-01-20 05:55:28.000000000","message":"See comment on line 1636.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1626,"context_line":""},{"line_number":1627,"context_line":"    def _volume_creation_check(self, volume):"},{"line_number":1628,"context_line":"        \"\"\"This function will perform the check on the"},{"line_number":1629,"context_line":"        extra spec before the volume can be created."},{"line_number":1630,"context_line":"        \"\"\""},{"line_number":1631,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":1632,"context_line":"        self._get_and_validate_extra_specs(specs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_60f8257d","line":1629,"in_reply_to":"3a961159_aaa766bb","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1635,"context_line":"        \"\"\"This function will perform the check on the extra"},{"line_number":1636,"context_line":"         specs conbinations."},{"line_number":1637,"context_line":"        \"\"\""},{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8aa2aaab","line":1636,"updated":"2015-01-20 05:55:28.000000000","message":"See docstings guidelines here:\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1635,"context_line":"        \"\"\"This function will perform the check on the extra"},{"line_number":1636,"context_line":"         specs conbinations."},{"line_number":1637,"context_line":"        \"\"\""},{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_a0492dd2","line":1636,"in_reply_to":"3a961159_8aa2aaab","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1636,"context_line":"         specs conbinations."},{"line_number":1637,"context_line":"        \"\"\""},{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""},{"line_number":1640,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1641,"context_line":"                         \"ingored.\"))"},{"line_number":1642,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2a9b7674","line":1639,"updated":"2015-01-20 05:55:28.000000000","message":"Better to use single quote instead of \\\".","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1636,"context_line":"         specs conbinations."},{"line_number":1637,"context_line":"        \"\"\""},{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""},{"line_number":1640,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1641,"context_line":"                         \"ingored.\"))"},{"line_number":1642,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_c04639bf","line":1639,"in_reply_to":"3a961159_2a9b7674","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""},{"line_number":1640,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1641,"context_line":"                         \"ingored.\"))"},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1644,"context_line":"        # step 1: check extra spec value"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ea908e51","line":1641,"updated":"2015-01-20 05:55:28.000000000","message":"ignored.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1638,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1639,"context_line":"            LOG.warn(_LW(\"Extra spec key \\\"storagetype:pool\\\" is deprecated \""},{"line_number":1640,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1641,"context_line":"                         \"ingored.\"))"},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1644,"context_line":"        # step 1: check extra spec value"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_200d3d91","line":1641,"in_reply_to":"3a961159_ea908e51","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1777,"context_line":""},{"line_number":1778,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0a9cfa5a","line":1780,"updated":"2015-01-20 05:55:28.000000000","message":"Replace , with .","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1777,"context_line":""},{"line_number":1778,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_c01d59bf","line":1780,"in_reply_to":"3a961159_0a9cfa5a","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1778,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"},{"line_number":1784,"context_line":"            return false_ret"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_6ab2dee9","line":1781,"updated":"2015-01-20 05:55:28.000000000","message":"Start a new sentence with \"Storage ......\".","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1778,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"},{"line_number":1784,"context_line":"            return false_ret"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e07975fd","line":1781,"in_reply_to":"3a961159_6ab2dee9","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"},{"line_number":1784,"context_line":"            return false_ret"},{"line_number":1785,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ca9af261","line":1782,"updated":"2015-01-20 05:55:28.000000000","message":"may be using","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1779,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1780,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s),\""},{"line_number":1781,"context_line":"                         \"storage assisted Migration is not supported. \""},{"line_number":1782,"context_line":"                         \"The host may using a legacy driver.\"),"},{"line_number":1783,"context_line":"                     host[\u0027name\u0027])"},{"line_number":1784,"context_line":"            return false_ret"},{"line_number":1785,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_007f61e1","line":1782,"in_reply_to":"3a961159_ca9af261","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":1942,"context_line":"        else:"},{"line_number":1943,"context_line":"            pool_stats[\u0027fast_cache_enabled\u0027] \u003d pool[\u0027fast_cache_enabled\u0027]"},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"        # copy advance feature support stats from backend stats"},{"line_number":1946,"context_line":"        pool_stats[\u0027compression_support\u0027] \u003d self.stats[\u0027compression_support\u0027]"},{"line_number":1947,"context_line":"        pool_stats[\u0027fast_support\u0027] \u003d self.stats[\u0027fast_support\u0027]"},{"line_number":1948,"context_line":"        pool_stats[\u0027deduplication_support\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_eacc0e65","line":1945,"updated":"2015-01-20 05:55:28.000000000","message":"Here too.\n\nadvance -\u003e advanced","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":1942,"context_line":"        else:"},{"line_number":1943,"context_line":"            pool_stats[\u0027fast_cache_enabled\u0027] \u003d pool[\u0027fast_cache_enabled\u0027]"},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"        # copy advance feature support stats from backend stats"},{"line_number":1946,"context_line":"        pool_stats[\u0027compression_support\u0027] \u003d self.stats[\u0027compression_support\u0027]"},{"line_number":1947,"context_line":"        pool_stats[\u0027fast_support\u0027] \u003d self.stats[\u0027fast_support\u0027]"},{"line_number":1948,"context_line":"        pool_stats[\u0027deduplication_support\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_c07479ff","line":1945,"in_reply_to":"3a961159_eacc0e65","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2093,"context_line":"    def _build_provider_location_for_lun(self, lun_id):"},{"line_number":2094,"context_line":"        pl_dict \u003d {\u0027system\u0027: self.get_array_serial(),"},{"line_number":2095,"context_line":"                   \u0027type\u0027: \u0027lun\u0027,"},{"line_number":2096,"context_line":"                   \u0027id\u0027: str(lun_id),"},{"line_number":2097,"context_line":"                   \u0027version\u0027: self.VERSION}"},{"line_number":2098,"context_line":"        return self.dumps_provider_location(pl_dict)"},{"line_number":2099,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4aeb62a4","line":2096,"updated":"2015-01-20 05:55:28.000000000","message":"str() -\u003e six.text_type()","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2093,"context_line":"    def _build_provider_location_for_lun(self, lun_id):"},{"line_number":2094,"context_line":"        pl_dict \u003d {\u0027system\u0027: self.get_array_serial(),"},{"line_number":2095,"context_line":"                   \u0027type\u0027: \u0027lun\u0027,"},{"line_number":2096,"context_line":"                   \u0027id\u0027: str(lun_id),"},{"line_number":2097,"context_line":"                   \u0027version\u0027: self.VERSION}"},{"line_number":2098,"context_line":"        return self.dumps_provider_location(pl_dict)"},{"line_number":2099,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_a04e8dbf","line":2096,"in_reply_to":"3a961159_4aeb62a4","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2098,"context_line":"        return self.dumps_provider_location(pl_dict)"},{"line_number":2099,"context_line":""},{"line_number":2100,"context_line":"    def _extract_provider_location_for_lun(self, provider_location, key\u003d\u0027id\u0027):"},{"line_number":2101,"context_line":"        \"\"\"Parse the provider location to extact the specified field value"},{"line_number":2102,"context_line":"        :param provider_location: provider_location string."},{"line_number":2103,"context_line":"        :param key: field name of the value that to be extracted"},{"line_number":2104,"context_line":"        :return: value of the specified field if exist, else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ca367251","line":2101,"updated":"2015-01-20 05:55:28.000000000","message":"See comments on docstrings above.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2098,"context_line":"        return self.dumps_provider_location(pl_dict)"},{"line_number":2099,"context_line":""},{"line_number":2100,"context_line":"    def _extract_provider_location_for_lun(self, provider_location, key\u003d\u0027id\u0027):"},{"line_number":2101,"context_line":"        \"\"\"Parse the provider location to extact the specified field value"},{"line_number":2102,"context_line":"        :param provider_location: provider_location string."},{"line_number":2103,"context_line":"        :param key: field name of the value that to be extracted"},{"line_number":2104,"context_line":"        :return: value of the specified field if exist, else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_00cda131","line":2101,"in_reply_to":"3a961159_ca367251","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2211,"context_line":"        lun_id \u003d None"},{"line_number":2212,"context_line":"        try:"},{"line_number":2213,"context_line":"            provider_location \u003d volume.get(\u0027provider_location\u0027)"},{"line_number":2214,"context_line":"            if provider_location is not None:"},{"line_number":2215,"context_line":"                lun_id \u003d self._extract_provider_location_for_lun("},{"line_number":2216,"context_line":"                    provider_location,"},{"line_number":2217,"context_line":"                    \u0027id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0a387a3a","line":2214,"updated":"2015-01-20 05:55:28.000000000","message":"\"if provider_location\" is sufficient.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2211,"context_line":"        lun_id \u003d None"},{"line_number":2212,"context_line":"        try:"},{"line_number":2213,"context_line":"            provider_location \u003d volume.get(\u0027provider_location\u0027)"},{"line_number":2214,"context_line":"            if provider_location is not None:"},{"line_number":2215,"context_line":"                lun_id \u003d self._extract_provider_location_for_lun("},{"line_number":2216,"context_line":"                    provider_location,"},{"line_number":2217,"context_line":"                    \u0027id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_20a0dd42","line":2214,"in_reply_to":"3a961159_0a387a3a","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2215,"context_line":"                lun_id \u003d self._extract_provider_location_for_lun("},{"line_number":2216,"context_line":"                    provider_location,"},{"line_number":2217,"context_line":"                    \u0027id\u0027)"},{"line_number":2218,"context_line":"            if lun_id is not None:"},{"line_number":2219,"context_line":"                lun_id \u003d int(lun_id)"},{"line_number":2220,"context_line":"            else:"},{"line_number":2221,"context_line":"                LOG.debug(\u0027Lun id is not stored in provider location, \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4a4282ac","line":2218,"updated":"2015-01-20 05:55:28.000000000","message":"if lun_id:","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2215,"context_line":"                lun_id \u003d self._extract_provider_location_for_lun("},{"line_number":2216,"context_line":"                    provider_location,"},{"line_number":2217,"context_line":"                    \u0027id\u0027)"},{"line_number":2218,"context_line":"            if lun_id is not None:"},{"line_number":2219,"context_line":"                lun_id \u003d int(lun_id)"},{"line_number":2220,"context_line":"            else:"},{"line_number":2221,"context_line":"                LOG.debug(\u0027Lun id is not stored in provider location, \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_20e9bd80","line":2218,"in_reply_to":"3a961159_4a4282ac","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2772,"context_line":"        return specs"},{"line_number":2773,"context_line":""},{"line_number":2774,"context_line":"    def get_pool(self, volume):"},{"line_number":2775,"context_line":"        \"\"\"Return the pool name of a volume\"\"\""},{"line_number":2776,"context_line":""},{"line_number":2777,"context_line":"        data \u003d self._client.get_lun_by_name(volume[\u0027name\u0027],"},{"line_number":2778,"context_line":"                                            [self._client.LUN_POOL],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_6a757eff","line":2775,"updated":"2015-01-20 05:55:28.000000000","message":"Add period.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2772,"context_line":"        return specs"},{"line_number":2773,"context_line":""},{"line_number":2774,"context_line":"    def get_pool(self, volume):"},{"line_number":2775,"context_line":"        \"\"\"Return the pool name of a volume\"\"\""},{"line_number":2776,"context_line":""},{"line_number":2777,"context_line":"        data \u003d self._client.get_lun_by_name(volume[\u0027name\u0027],"},{"line_number":2778,"context_line":"                                            [self._client.LUN_POOL],"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_a093edf8","line":2775,"in_reply_to":"3a961159_6a757eff","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2823,"context_line":""},{"line_number":2824,"context_line":"        pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":2825,"context_line":""},{"line_number":2826,"context_line":"        # For new created volume that not from snapshot or cloned,"},{"line_number":2827,"context_line":"        # just use the pool selected by scheduler"},{"line_number":2828,"context_line":"        if not source_volume:"},{"line_number":2829,"context_line":"            return pool"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ca5bd284","line":2826,"updated":"2015-01-20 05:55:28.000000000","message":"that is not","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2823,"context_line":""},{"line_number":2824,"context_line":"        pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":2825,"context_line":""},{"line_number":2826,"context_line":"        # For new created volume that not from snapshot or cloned,"},{"line_number":2827,"context_line":"        # just use the pool selected by scheduler"},{"line_number":2828,"context_line":"        if not source_volume:"},{"line_number":2829,"context_line":"            return pool"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e0bc156f","line":2826,"in_reply_to":"3a961159_ca5bd284","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2829,"context_line":"            return pool"},{"line_number":2830,"context_line":""},{"line_number":2831,"context_line":"        # For volume created from snapshot or cloned from volume, the pool to"},{"line_number":2832,"context_line":"        # use depends on the source volume version. If the source volume is a"},{"line_number":2833,"context_line":"        # created by older version of driver which doesn\u0027t support pool"},{"line_number":2834,"context_line":"        # scheduler, use the pool where the source volume locates. Otherwise,"},{"line_number":2835,"context_line":"        # use the pool selected by scheduler"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_2a4a96ad","line":2832,"updated":"2015-01-20 05:55:28.000000000","message":"Remove \"a\" at the end.","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2829,"context_line":"            return pool"},{"line_number":2830,"context_line":""},{"line_number":2831,"context_line":"        # For volume created from snapshot or cloned from volume, the pool to"},{"line_number":2832,"context_line":"        # use depends on the source volume version. If the source volume is a"},{"line_number":2833,"context_line":"        # created by older version of driver which doesn\u0027t support pool"},{"line_number":2834,"context_line":"        # scheduler, use the pool where the source volume locates. Otherwise,"},{"line_number":2835,"context_line":"        # use the pool selected by scheduler"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_00c201e9","line":2832,"in_reply_to":"3a961159_2a4a96ad","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c8581c5d1a9708dd36d80cf82247d3c14ebe9635","unresolved":false,"context_lines":[{"line_number":2923,"context_line":"class CreateDestLunTask(task.Task):"},{"line_number":2924,"context_line":"    \"\"\"Create a destination lun for migration."},{"line_number":2925,"context_line":""},{"line_number":2926,"context_line":"    Reversion strategy: delete the tmp destination lun."},{"line_number":2927,"context_line":"    \"\"\""},{"line_number":2928,"context_line":"    def __init__(self):"},{"line_number":2929,"context_line":"        super(CreateDestLunTask, self).__init__(provides\u003d\u0027lun_data\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0ad4fab9","line":2926,"updated":"2015-01-20 05:55:28.000000000","message":"temp","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"85b3ec3d16963b030f6e59ad27e8a476e94b3562","unresolved":false,"context_lines":[{"line_number":2923,"context_line":"class CreateDestLunTask(task.Task):"},{"line_number":2924,"context_line":"    \"\"\"Create a destination lun for migration."},{"line_number":2925,"context_line":""},{"line_number":2926,"context_line":"    Reversion strategy: delete the tmp destination lun."},{"line_number":2927,"context_line":"    \"\"\""},{"line_number":2928,"context_line":"    def __init__(self):"},{"line_number":2929,"context_line":"        super(CreateDestLunTask, self).__init__(provides\u003d\u0027lun_data\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_a0aa0d17","line":2926,"in_reply_to":"3a961159_0ad4fab9","updated":"2015-01-23 10:16:02.000000000","message":"Done","commit_id":"607264236f8775b4835dbc673f7a53c5d33220fc"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ace017d63e21c2491fe236090a3af059ec694101","unresolved":false,"context_lines":[{"line_number":1656,"context_line":"        self._get_and_validate_extra_specs(specs)"},{"line_number":1657,"context_line":""},{"line_number":1658,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1659,"context_line":"        \"\"\"Check on extra specs conbinations.\"\"\""},{"line_number":1660,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1661,"context_line":"            LOG.warn(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is deprecated \""},{"line_number":1662,"context_line":"                         \"since driver version 5.1.0. This key will be \""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_9fc81476","line":1659,"updated":"2015-02-02 16:13:22.000000000","message":"combinations","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"be93f185fd296d1cc9090c6faff8ba57b8185c28","unresolved":false,"context_lines":[{"line_number":1656,"context_line":"        self._get_and_validate_extra_specs(specs)"},{"line_number":1657,"context_line":""},{"line_number":1658,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1659,"context_line":"        \"\"\"Check on extra specs conbinations.\"\"\""},{"line_number":1660,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1661,"context_line":"            LOG.warn(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is deprecated \""},{"line_number":1662,"context_line":"                         \"since driver version 5.1.0. This key will be \""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_a5a3f09c","line":1659,"in_reply_to":"da86d52c_9fc81476","updated":"2015-02-03 02:14:41.000000000","message":"Done","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ace017d63e21c2491fe236090a3af059ec694101","unresolved":false,"context_lines":[{"line_number":1658,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1659,"context_line":"        \"\"\"Check on extra specs conbinations.\"\"\""},{"line_number":1660,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1661,"context_line":"            LOG.warn(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is deprecated \""},{"line_number":1662,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1663,"context_line":"                         \"igored.\"))"},{"line_number":1664,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_9ff1f4cf","line":1661,"updated":"2015-02-02 16:13:22.000000000","message":"warn -\u003e warning","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"be93f185fd296d1cc9090c6faff8ba57b8185c28","unresolved":false,"context_lines":[{"line_number":1658,"context_line":"    def _get_and_validate_extra_specs(self, specs):"},{"line_number":1659,"context_line":"        \"\"\"Check on extra specs conbinations.\"\"\""},{"line_number":1660,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1661,"context_line":"            LOG.warn(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is deprecated \""},{"line_number":1662,"context_line":"                         \"since driver version 5.1.0. This key will be \""},{"line_number":1663,"context_line":"                         \"igored.\"))"},{"line_number":1664,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_c59e2454","line":1661,"in_reply_to":"da86d52c_9ff1f4cf","updated":"2015-02-03 02:14:41.000000000","message":"Done","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ace017d63e21c2491fe236090a3af059ec694101","unresolved":false,"context_lines":[{"line_number":1800,"context_line":""},{"line_number":1801,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1802,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1803,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s).\""},{"line_number":1804,"context_line":"                         \"Storage assisted Migration is not supported. \""},{"line_number":1805,"context_line":"                         \"The host may be using a legacy driver.\"),"},{"line_number":1806,"context_line":"                     host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_1fffc468","line":1803,"updated":"2015-02-02 16:13:22.000000000","message":"warn -\u003e warning","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"be93f185fd296d1cc9090c6faff8ba57b8185c28","unresolved":false,"context_lines":[{"line_number":1800,"context_line":""},{"line_number":1801,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1802,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1803,"context_line":"            LOG.warn(_LW(\"Didn\u0027t get the pool information of the host %(s).\""},{"line_number":1804,"context_line":"                         \"Storage assisted Migration is not supported. \""},{"line_number":1805,"context_line":"                         \"The host may be using a legacy driver.\"),"},{"line_number":1806,"context_line":"                     host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_85398c43","line":1803,"in_reply_to":"da86d52c_1fffc468","updated":"2015-02-03 02:14:41.000000000","message":"Done","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ace017d63e21c2491fe236090a3af059ec694101","unresolved":false,"context_lines":[{"line_number":2860,"context_line":"                                                        \u0027version\u0027)):"},{"line_number":2861,"context_line":"            return pool"},{"line_number":2862,"context_line":"        else:"},{"line_number":2863,"context_line":"            LOG.warn(_LW(\"The source volume is a legacy volume. \""},{"line_number":2864,"context_line":"                         \"Create volume in the pool where the source volume \""},{"line_number":2865,"context_line":"                         \"%s is created.\"),"},{"line_number":2866,"context_line":"                     source_volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_7210f74e","line":2863,"updated":"2015-02-02 16:13:22.000000000","message":"warn -\u003e warning","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"be93f185fd296d1cc9090c6faff8ba57b8185c28","unresolved":false,"context_lines":[{"line_number":2860,"context_line":"                                                        \u0027version\u0027)):"},{"line_number":2861,"context_line":"            return pool"},{"line_number":2862,"context_line":"        else:"},{"line_number":2863,"context_line":"            LOG.warn(_LW(\"The source volume is a legacy volume. \""},{"line_number":2864,"context_line":"                         \"Create volume in the pool where the source volume \""},{"line_number":2865,"context_line":"                         \"%s is created.\"),"},{"line_number":2866,"context_line":"                     source_volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_a554d054","line":2863,"in_reply_to":"da86d52c_7210f74e","updated":"2015-02-03 02:14:41.000000000","message":"Done","commit_id":"fc04a95e919ec75b0ab58468cb10e5a35d337f9f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":1802,"context_line":""},{"line_number":1803,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1804,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1805,"context_line":"            LOG.warning(_LW(\"Didn\u0027t get the pool information of the host %(s).\""},{"line_number":1806,"context_line":"                            \"Storage assisted Migration is not supported. \""},{"line_number":1807,"context_line":"                            \"The host may be using a legacy driver.\"),"},{"line_number":1808,"context_line":"                        host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_93d1ad59","line":1805,"updated":"2015-02-03 21:19:41.000000000","message":"Add a space after period.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":1802,"context_line":""},{"line_number":1803,"context_line":"        if len(target_pool_name) \u003d\u003d 0:"},{"line_number":1804,"context_line":"            # Destination host is using a legacy driver"},{"line_number":1805,"context_line":"            LOG.warning(_LW(\"Didn\u0027t get the pool information of the host %(s).\""},{"line_number":1806,"context_line":"                            \"Storage assisted Migration is not supported. \""},{"line_number":1807,"context_line":"                            \"The host may be using a legacy driver.\"),"},{"line_number":1808,"context_line":"                        host[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_eecf5327","line":1805,"in_reply_to":"da86d52c_93d1ad59","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":1972,"context_line":"        pool_stats[\u0027fast_support\u0027] \u003d self.stats[\u0027fast_support\u0027]"},{"line_number":1973,"context_line":"        pool_stats[\u0027deduplication_support\u0027] \u003d ("},{"line_number":1974,"context_line":"            self.stats[\u0027deduplication_support\u0027])"},{"line_number":1975,"context_line":"        pool_stats[\u0027thinprovisioning_support\u0027] \u003d ("},{"line_number":1976,"context_line":"            self.stats[\u0027thinprovisioning_support\u0027])"},{"line_number":1977,"context_line":"        pool_stats[\u0027consistencygroup_support\u0027] \u003d ("},{"line_number":1978,"context_line":"            self.stats[\u0027consistencygroup_support\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_b864ce49","line":1975,"updated":"2015-02-03 21:19:41.000000000","message":"Can you change \u0027thinprovisioning_support\u0027 to \u0027thin_provisioning_support\u0027 to be consistent with the changes in Over Subscription patch?","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":1972,"context_line":"        pool_stats[\u0027fast_support\u0027] \u003d self.stats[\u0027fast_support\u0027]"},{"line_number":1973,"context_line":"        pool_stats[\u0027deduplication_support\u0027] \u003d ("},{"line_number":1974,"context_line":"            self.stats[\u0027deduplication_support\u0027])"},{"line_number":1975,"context_line":"        pool_stats[\u0027thinprovisioning_support\u0027] \u003d ("},{"line_number":1976,"context_line":"            self.stats[\u0027thinprovisioning_support\u0027])"},{"line_number":1977,"context_line":"        pool_stats[\u0027consistencygroup_support\u0027] \u003d ("},{"line_number":1978,"context_line":"            self.stats[\u0027consistencygroup_support\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_a2b48f35","line":1975,"in_reply_to":"da86d52c_b864ce49","updated":"2015-02-04 01:54:01.000000000","message":"Hi Xing,\n\nHow about we change it along with the VNX over subscription support?  We are planning to add support for the over subscription in future.  The key `thinprovisioning_support` is not introduced in the pool aware scheduler feature. It is a key introduced in Juno. \n\n\n\nThanks,\nTina","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"242c91985eb41af84a1fc850da22b5a8b4e3816e","unresolved":false,"context_lines":[{"line_number":1981,"context_line":""},{"line_number":1982,"context_line":"    @log_enter_exit"},{"line_number":1983,"context_line":"    def update_volume_stats(self):"},{"line_number":1984,"context_line":"        \"\"\"Gets the common status shared by pool and array backend.\"\"\""},{"line_number":1985,"context_line":"        if not self.determine_all_enablers_exist(self.enablers):"},{"line_number":1986,"context_line":"            self.enablers \u003d self._client.get_enablers_on_array()"},{"line_number":1987,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_09558a4f","line":1984,"updated":"2015-02-03 21:19:41.000000000","message":"Change \u0027status\u0027 to \u0027stats\u0027 or \u0027statistics\u0027 to be more precise.","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"bbc6b0ffaf51d445c6d7f3c5187883f87e2fa6e2","unresolved":false,"context_lines":[{"line_number":1981,"context_line":""},{"line_number":1982,"context_line":"    @log_enter_exit"},{"line_number":1983,"context_line":"    def update_volume_stats(self):"},{"line_number":1984,"context_line":"        \"\"\"Gets the common status shared by pool and array backend.\"\"\""},{"line_number":1985,"context_line":"        if not self.determine_all_enablers_exist(self.enablers):"},{"line_number":1986,"context_line":"            self.enablers \u003d self._client.get_enablers_on_array()"},{"line_number":1987,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_eeb4b383","line":1984,"in_reply_to":"da86d52c_09558a4f","updated":"2015-02-04 01:54:01.000000000","message":"Done","commit_id":"afabc00d38cb6dab0c2b47a5bb0c70e1d79bb27a"},{"author":{"_account_id":12608,"name":"Curt Bruns","email":"curt.e.bruns@intel.com","username":"cebruns"},"change_message_id":"2135913bd9c37190cf04065796878de8e664d8ba","unresolved":false,"context_lines":[{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        # step 2: check extra spec combination"},{"line_number":1683,"context_line":"        self._check_extra_spec_combination(provisioning, tiering)"},{"line_number":1684,"context_line":"        return provisioning, tiering"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"    def _check_extra_spec_value(self, extra_spec, valid_values):"},{"line_number":1687,"context_line":"        \"\"\"Checks whether an extra spec\u0027s value is valid.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_2b3a8636","line":1684,"updated":"2015-02-09 17:06:53.000000000","message":"Do you need to return provisioning and tiering?  The caller isn\u0027t using or requesting them.","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"623f608e41f3204291b0f23b37d44166e0a233e2","unresolved":false,"context_lines":[{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        # step 2: check extra spec combination"},{"line_number":1683,"context_line":"        self._check_extra_spec_combination(provisioning, tiering)"},{"line_number":1684,"context_line":"        return provisioning, tiering"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"    def _check_extra_spec_value(self, extra_spec, valid_values):"},{"line_number":1687,"context_line":"        \"\"\"Checks whether an extra spec\u0027s value is valid.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_f3be92ad","line":1684,"in_reply_to":"da86d52c_2b3a8636","updated":"2015-02-10 02:44:32.000000000","message":"We need to return it because this method is also invoked at line 1871 where the provisioning and tiering are requested.","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":12608,"name":"Curt Bruns","email":"curt.e.bruns@intel.com","username":"cebruns"},"change_message_id":"2135913bd9c37190cf04065796878de8e664d8ba","unresolved":false,"context_lines":[{"line_number":2881,"context_line":"    def update_volume_stats(self):"},{"line_number":2882,"context_line":"        \"\"\"Retrieves stats info.\"\"\""},{"line_number":2883,"context_line":"        super(EMCVnxCliArray, self).update_volume_stats()"},{"line_number":2884,"context_line":"        if \u0027-FASTCache\u0027 in self.enablers:"},{"line_number":2885,"context_line":"            properties \u003d [self._client.POOL_FREE_CAPACITY,"},{"line_number":2886,"context_line":"                          self._client.POOL_TOTAL_CAPACITY,"},{"line_number":2887,"context_line":"                          self._client.POOL_FAST_CACHE]"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_c111cbb0","line":2884,"updated":"2015-02-09 17:06:53.000000000","message":"Are -FAST and -FASTCache both options in enablers?  Just wanted to confirm as I\u0027ve seen both used and wanted to make sure it wasn\u0027t a type-o.","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"623f608e41f3204291b0f23b37d44166e0a233e2","unresolved":false,"context_lines":[{"line_number":2881,"context_line":"    def update_volume_stats(self):"},{"line_number":2882,"context_line":"        \"\"\"Retrieves stats info.\"\"\""},{"line_number":2883,"context_line":"        super(EMCVnxCliArray, self).update_volume_stats()"},{"line_number":2884,"context_line":"        if \u0027-FASTCache\u0027 in self.enablers:"},{"line_number":2885,"context_line":"            properties \u003d [self._client.POOL_FREE_CAPACITY,"},{"line_number":2886,"context_line":"                          self._client.POOL_TOTAL_CAPACITY,"},{"line_number":2887,"context_line":"                          self._client.POOL_FAST_CACHE]"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_b3cb3a49","line":2884,"in_reply_to":"da86d52c_c111cbb0","updated":"2015-02-10 02:44:32.000000000","message":"Yes, they are two different options.","commit_id":"c93a62a55a5155c2e7704eedb53742ab67d73c32"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"907d7ba63a658fb963f526d7bb4dec406221c35a","unresolved":false,"context_lines":[{"line_number":1653,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1654,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1655,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1656,"context_line":"        volume.update(model_update)"},{"line_number":1657,"context_line":"        return model_update"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"    def _volume_creation_check(self, volume):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_6811e952","line":1656,"updated":"2015-02-15 22:47:46.000000000","message":"Remove this. We should just be touching the model_update. The driver should be leaving the manager to make any state changes.","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":1653,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1654,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1655,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1656,"context_line":"        volume.update(model_update)"},{"line_number":1657,"context_line":"        return model_update"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"    def _volume_creation_check(self, volume):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_bf6141d6","line":1656,"in_reply_to":"da86d52c_6811e952","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1c0312130d7f88b1959dbafb1a8e95592872632b","unresolved":false,"context_lines":[{"line_number":1653,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1654,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1655,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1656,"context_line":"        volume.update(model_update)"},{"line_number":1657,"context_line":"        return model_update"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"    def _volume_creation_check(self, volume):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_a84cc1c9","line":1656,"in_reply_to":"da86d52c_6811e952","updated":"2015-02-16 01:49:33.000000000","message":"Nice catch!  model_update is returned to the manager who will update db.","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":1653,"context_line":"            provisioning, tiering, volume[\u0027consistencygroup_id\u0027], False)"},{"line_number":1654,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":1655,"context_line":"                        self._build_provider_location_for_lun(data[\u0027lun_id\u0027])}"},{"line_number":1656,"context_line":"        volume.update(model_update)"},{"line_number":1657,"context_line":"        return model_update"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"    def _volume_creation_check(self, volume):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_ff5bb91f","line":1656,"in_reply_to":"da86d52c_a84cc1c9","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"907d7ba63a658fb963f526d7bb4dec406221c35a","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1667,"context_line":"            LOG.warning(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is obsoleted \""},{"line_number":1668,"context_line":"                            \"since driver version 5.1.0. This key will be \""},{"line_number":1669,"context_line":"                            \"igored.\"))"},{"line_number":1670,"context_line":""},{"line_number":1671,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1672,"context_line":"        # step 1: check extra spec value"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_2d3aa3e7","line":1669,"updated":"2015-02-15 22:47:46.000000000","message":"/igored/ignored/","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"        if \"storagetype:pool\" in specs:"},{"line_number":1667,"context_line":"            LOG.warning(_LW(\"Extra spec key \u0027storagetype:pool\u0027 is obsoleted \""},{"line_number":1668,"context_line":"                            \"since driver version 5.1.0. This key will be \""},{"line_number":1669,"context_line":"                            \"igored.\"))"},{"line_number":1670,"context_line":""},{"line_number":1671,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1672,"context_line":"        # step 1: check extra spec value"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_5fa4c507","line":1669,"in_reply_to":"da86d52c_2d3aa3e7","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"907d7ba63a658fb963f526d7bb4dec406221c35a","unresolved":false,"context_lines":[{"line_number":2065,"context_line":"        host_and_pool \u003d vol_utils.append_host(host, store_spec[\u0027pool_name\u0027])"},{"line_number":2066,"context_line":"        if volume_host !\u003d host_and_pool:"},{"line_number":2067,"context_line":"            model_update[\u0027host\u0027] \u003d host_and_pool"},{"line_number":2068,"context_line":"        volume.update(model_update)"},{"line_number":2069,"context_line":"        return model_update"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"    def create_cloned_volume(self, volume, src_vref):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_ad04d318","line":2068,"updated":"2015-02-15 22:47:46.000000000","message":"Remove this. We should just be touching the model_update. The driver should be leaving the manager to make any state changes.","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":2065,"context_line":"        host_and_pool \u003d vol_utils.append_host(host, store_spec[\u0027pool_name\u0027])"},{"line_number":2066,"context_line":"        if volume_host !\u003d host_and_pool:"},{"line_number":2067,"context_line":"            model_update[\u0027host\u0027] \u003d host_and_pool"},{"line_number":2068,"context_line":"        volume.update(model_update)"},{"line_number":2069,"context_line":"        return model_update"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"    def create_cloned_volume(self, volume, src_vref):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_9fad5ded","line":2068,"in_reply_to":"da86d52c_ad04d318","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"907d7ba63a658fb963f526d7bb4dec406221c35a","unresolved":false,"context_lines":[{"line_number":2116,"context_line":"        host_and_pool \u003d vol_utils.append_host(host, store_spec[\u0027pool_name\u0027])"},{"line_number":2117,"context_line":"        if volume_host !\u003d host_and_pool:"},{"line_number":2118,"context_line":"            model_update[\u0027host\u0027] \u003d host_and_pool"},{"line_number":2119,"context_line":"        volume.update(model_update)"},{"line_number":2120,"context_line":"        return model_update"},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"    def dumps_provider_location(self, pl_dict):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_cd010708","line":2119,"updated":"2015-02-15 22:47:46.000000000","message":"Remove this. We should just be touching the model_update. The driver should be leaving the manager to make any state changes.","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":2116,"context_line":"        host_and_pool \u003d vol_utils.append_host(host, store_spec[\u0027pool_name\u0027])"},{"line_number":2117,"context_line":"        if volume_host !\u003d host_and_pool:"},{"line_number":2118,"context_line":"            model_update[\u0027host\u0027] \u003d host_and_pool"},{"line_number":2119,"context_line":"        volume.update(model_update)"},{"line_number":2120,"context_line":"        return model_update"},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"    def dumps_provider_location(self, pl_dict):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_dfb7d538","line":2119,"in_reply_to":"da86d52c_cd010708","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"907d7ba63a658fb963f526d7bb4dec406221c35a","unresolved":false,"context_lines":[{"line_number":2759,"context_line":"        self._client.lun_rename(ref[\u0027id\u0027], volume[\u0027name\u0027])"},{"line_number":2760,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":2761,"context_line":"                        self._build_provider_location_for_lun(ref[\u0027id\u0027])}"},{"line_number":2762,"context_line":"        volume.update(model_update)"},{"line_number":2763,"context_line":"        return model_update"},{"line_number":2764,"context_line":""},{"line_number":2765,"context_line":"    def find_iscsi_protocol_endpoints(self, device_sp):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_e8fdd909","line":2762,"updated":"2015-02-15 22:47:46.000000000","message":"Remove this. We should just be touching the model_update. The driver should be leaving the manager to make any state changes.","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"},{"author":{"_account_id":9924,"name":"Jeegn Chen","email":"Jeegn.Chen@emc.com","username":"jeegn-chen"},"change_message_id":"bb2c4b1222d2b6eba4e61b43217ce4d14f0f1359","unresolved":false,"context_lines":[{"line_number":2759,"context_line":"        self._client.lun_rename(ref[\u0027id\u0027], volume[\u0027name\u0027])"},{"line_number":2760,"context_line":"        model_update \u003d {\u0027provider_location\u0027:"},{"line_number":2761,"context_line":"                        self._build_provider_location_for_lun(ref[\u0027id\u0027])}"},{"line_number":2762,"context_line":"        volume.update(model_update)"},{"line_number":2763,"context_line":"        return model_update"},{"line_number":2764,"context_line":""},{"line_number":2765,"context_line":"    def find_iscsi_protocol_endpoints(self, device_sp):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_3f84715c","line":2762,"in_reply_to":"da86d52c_e8fdd909","updated":"2015-02-16 15:58:17.000000000","message":"Done","commit_id":"b5bf457a614899479236504f70ab8ef877f33e2c"}]}
