)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"48b0c167abb0ec709da63a18d86dec267ac8a007","unresolved":false,"context_lines":[{"line_number":13,"context_line":"rbd driver. As a result, even if they are different"},{"line_number":14,"context_line":"rbd.retype can still return True which means no need"},{"line_number":15,"context_line":"to do further migration."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Id025a51631676389203b8e3892a5826c834105ca"},{"line_number":18,"context_line":"Closes-Bug: #1515493"},{"line_number":19,"context_line":"Closes-Bug: #1514775"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba8a016a_16096e31","line":16,"updated":"2015-11-18 01:40:33.000000000","message":"Suggest to add DocImpact in commit message to clarify API behavior change.","commit_id":"87c25da1f8685ab9ee805e639534b34f65464571"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"ebf8b69680d2d1b2e326150dc9331f4d5df1f0c0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"rbd driver. As a result, even if they are different"},{"line_number":14,"context_line":"rbd.retype can still return True which means no need"},{"line_number":15,"context_line":"to do further migration."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Id025a51631676389203b8e3892a5826c834105ca"},{"line_number":18,"context_line":"Closes-Bug: #1515493"},{"line_number":19,"context_line":"Closes-Bug: #1514775"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba8a016a_225bccf7","line":16,"in_reply_to":"ba8a016a_16096e31","updated":"2015-11-19 06:04:11.000000000","message":"Done","commit_id":"87c25da1f8685ab9ee805e639534b34f65464571"}],"cinder/tests/unit/test_rbd.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"83c8f35bbba6038c09645498b3ff0b8d9390447a","unresolved":false,"context_lines":[{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        # no support for changing extra_specs"},{"line_number":859,"context_line":"        diff[\u0027extra_specs\u0027] \u003d {\u0027non-empty\u0027: \u0027non-empty\u0027}"},{"line_number":860,"context_line":"        self.assertFalse(self.driver.retype(context, fake_volume,"},{"line_number":861,"context_line":"                                            fake_type, diff, host))"},{"line_number":862,"context_line":"        diff[\u0027extra_specs\u0027] \u003d {}"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_1b6cd506","side":"PARENT","line":860,"updated":"2015-11-12 07:09:36.000000000","message":"Instead of removing it, above statement should be change to self.assertTrue instead.","commit_id":"6a942ba647ee17893727e7b3c256ef067c9b5d5e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f04eb173ea1c230409fdecee2bed78615432b438","unresolved":false,"context_lines":[{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        # no support for changing extra_specs"},{"line_number":859,"context_line":"        diff[\u0027extra_specs\u0027] \u003d {\u0027non-empty\u0027: \u0027non-empty\u0027}"},{"line_number":860,"context_line":"        self.assertFalse(self.driver.retype(context, fake_volume,"},{"line_number":861,"context_line":"                                            fake_type, diff, host))"},{"line_number":862,"context_line":"        diff[\u0027extra_specs\u0027] \u003d {}"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_24513f0f","side":"PARENT","line":860,"in_reply_to":"da85f559_1b6cd506","updated":"2015-11-13 01:43:38.000000000","message":"Done","commit_id":"6a942ba647ee17893727e7b3c256ef067c9b5d5e"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"aacb482e94117850793cc5ff1ce3ad67d26dddab","unresolved":false,"context_lines":[{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # no support for migration"},{"line_number":847,"context_line":"        host \u003d {\u0027host\u0027: \u0027anotherhost\u0027}"},{"line_number":848,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":849,"context_line":"                                           fake_type, diff, host))"},{"line_number":850,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":851,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_82301aea","line":848,"updated":"2015-11-13 03:08:25.000000000","message":"Are you sure about this?  Maybe this is the reason we should keep the code in rbd.retype instead of removing it.","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"d40028eef77e7564f74d299956fde4e4bdce0c33","unresolved":false,"context_lines":[{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # no support for migration"},{"line_number":847,"context_line":"        host \u003d {\u0027host\u0027: \u0027anotherhost\u0027}"},{"line_number":848,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":849,"context_line":"                                           fake_type, diff, host))"},{"line_number":850,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":851,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_02166a55","line":848,"in_reply_to":"da85f559_82301aea","updated":"2015-11-13 03:47:20.000000000","message":"Yeah, I made a mistake here. \n\nI updated the codes and had some comments.","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"aacb482e94117850793cc5ff1ce3ad67d26dddab","unresolved":false,"context_lines":[{"line_number":851,"context_line":""},{"line_number":852,"context_line":"        # no support for changing encryption"},{"line_number":853,"context_line":"        diff[\u0027encryption\u0027] \u003d {\u0027non-empty\u0027: \u0027non-empty\u0027}"},{"line_number":854,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":855,"context_line":"                                           fake_type, diff, host))"},{"line_number":856,"context_line":"        diff[\u0027encryption\u0027] \u003d {}"},{"line_number":857,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_e25566fa","line":854,"updated":"2015-11-13 03:08:25.000000000","message":"Same for this test.","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"d40028eef77e7564f74d299956fde4e4bdce0c33","unresolved":false,"context_lines":[{"line_number":851,"context_line":""},{"line_number":852,"context_line":"        # no support for changing encryption"},{"line_number":853,"context_line":"        diff[\u0027encryption\u0027] \u003d {\u0027non-empty\u0027: \u0027non-empty\u0027}"},{"line_number":854,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":855,"context_line":"                                           fake_type, diff, host))"},{"line_number":856,"context_line":"        diff[\u0027encryption\u0027] \u003d {}"},{"line_number":857,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_a20bde2a","line":854,"in_reply_to":"da85f559_e25566fa","updated":"2015-11-13 03:47:20.000000000","message":"Done","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"d8a2be184809edc32ae60bc9565a7ea9d4101e07","unresolved":false,"context_lines":[{"line_number":846,"context_line":""},{"line_number":847,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":848,"context_line":"        # is called."},{"line_number":849,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":850,"context_line":"        host \u003d {\u0027host\u0027: \u0027current_host\u0027}"},{"line_number":851,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":852,"context_line":"                                           fake_type, diff, host))"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba8a016a_6e5d2846","line":849,"updated":"2015-11-19 14:40:39.000000000","message":"This should be \"currenthost\" so that it matches the existing host, since we wouldn\u0027t make it to this point unless hosts match.  Even though this won\u0027t currently affect the test case, for clarity I think it\u0027s worth fixing","commit_id":"0e297a830de5345422d1961c1e961b557d9fd6c8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"9426ea71c103afee12ba509a7c09473d1ca63fb0","unresolved":false,"context_lines":[{"line_number":846,"context_line":""},{"line_number":847,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":848,"context_line":"        # is called."},{"line_number":849,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":850,"context_line":"        host \u003d {\u0027host\u0027: \u0027current_host\u0027}"},{"line_number":851,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":852,"context_line":"                                           fake_type, diff, host))"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba8a016a_0902330a","line":849,"in_reply_to":"ba8a016a_6e5d2846","updated":"2015-11-20 01:54:39.000000000","message":"Done","commit_id":"0e297a830de5345422d1961c1e961b557d9fd6c8"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"210fb528b4a3532418a49f3d17f0383846384b55","unresolved":false,"context_lines":[{"line_number":843,"context_line":"                       \u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":844,"context_line":"        fake_type \u003d \u0027high-IOPS\u0027"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":847,"context_line":"        # is called."},{"line_number":848,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":849,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_d581fafc","line":846,"updated":"2015-11-24 16:08:15.000000000","message":"Should there be a \u0027#\u0027 in that line? Or did you mean to start a new line?","commit_id":"26134634872f0ab6943b13a49833ae376157a1e8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"1bc13481c6ebdc03a7837fe02e4da2fa631dfd7a","unresolved":false,"context_lines":[{"line_number":843,"context_line":"                       \u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":844,"context_line":"        fake_type \u003d \u0027high-IOPS\u0027"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":847,"context_line":"        # is called."},{"line_number":848,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":849,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_265362e3","line":846,"in_reply_to":"9a8ffd7b_d581fafc","updated":"2015-11-25 05:22:37.000000000","message":"Done","commit_id":"26134634872f0ab6943b13a49833ae376157a1e8"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"210fb528b4a3532418a49f3d17f0383846384b55","unresolved":false,"context_lines":[{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":847,"context_line":"        # is called."},{"line_number":848,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":849,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":850,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":851,"context_line":"                                           fake_type, diff, host))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_9dd87ef1","line":848,"updated":"2015-11-24 16:08:15.000000000","message":"Extra space between \"doesn\u0027t\" and \"support\".","commit_id":"26134634872f0ab6943b13a49833ae376157a1e8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"1bc13481c6ebdc03a7837fe02e4da2fa631dfd7a","unresolved":false,"context_lines":[{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # The hosts host#backend have been checked same before rbd.retype"},{"line_number":847,"context_line":"        # is called."},{"line_number":848,"context_line":"        # RBD doesn\u0027t  support multiple pools in a driver."},{"line_number":849,"context_line":"        host \u003d {\u0027host\u0027: \u0027currenthost\u0027}"},{"line_number":850,"context_line":"        self.assertTrue(self.driver.retype(context, fake_volume,"},{"line_number":851,"context_line":"                                           fake_type, diff, host))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_06565ed2","line":848,"in_reply_to":"9a8ffd7b_9dd87ef1","updated":"2015-11-25 05:22:37.000000000","message":"Done","commit_id":"26134634872f0ab6943b13a49833ae376157a1e8"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"83c8f35bbba6038c09645498b3ff0b8d9390447a","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allows QoS change only.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_3ba19946","line":766,"updated":"2015-11-12 07:09:36.000000000","message":"The docstring should be change to reflect the change here.","commit_id":"c975a109599eeed498af3a4055753219442fcb4d"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f04eb173ea1c230409fdecee2bed78615432b438","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allows QoS change only.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_a43d2fbd","line":766,"in_reply_to":"da85f559_3ba19946","updated":"2015-11-13 01:43:38.000000000","message":"Done","commit_id":"c975a109599eeed498af3a4055753219442fcb4d"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"aacb482e94117850793cc5ff1ce3ad67d26dddab","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_ff3e61d9","line":766,"updated":"2015-11-13 03:08:25.000000000","message":"I\u0027d rather be clearly specific about what this retype() method can do (e.g. allow QoS change, extra_specs change) instead of a opaque statement.","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"d40028eef77e7564f74d299956fde4e4bdce0c33","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_6205f612","line":766,"in_reply_to":"da85f559_ff3e61d9","updated":"2015-11-13 03:47:20.000000000","message":"Done.","commit_id":"f3596ff87e522e53483409c4cade70c726961d50"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b60fadb77da885ee0979046d3483789e3fe3e631","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        if diff[\u0027extra_specs\u0027]:"},{"line_number":785,"context_line":"            LOG.error(_LE(\u0027Retype of extra_specs not supported.\u0027))"},{"line_number":786,"context_line":"            return False"},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"        return True"},{"line_number":789,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_84ad9633","side":"PARENT","line":786,"updated":"2015-11-16 10:46:23.000000000","message":"In origin patch, this will lead to do migration, right? So if we remove this check, it will change the driver behavior, does it will impact the retype result to end user?","commit_id":"6a942ba647ee17893727e7b3c256ef067c9b5d5e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"d237bac4b86dfd4f54244d9925427c43c60c273b","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        if diff[\u0027extra_specs\u0027]:"},{"line_number":785,"context_line":"            LOG.error(_LE(\u0027Retype of extra_specs not supported.\u0027))"},{"line_number":786,"context_line":"            return False"},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"        return True"},{"line_number":789,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_bbee8220","side":"PARENT","line":786,"in_reply_to":"ba8a016a_84ad9633","updated":"2015-11-17 07:20:04.000000000","message":"Without the fix:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nif extra_specs are different, it leads to migration. If --migration-policy (cinder retype) is never(by default), retype fails. \n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L2150\n\nIf --migration-policy is specified as on-demand, it calls _migrate_volume_generic in volume.manager. It creates a volume in same host, copy the data from old volume to new volume, delete old volume, and change the name of new volume to same as old volume, etc. \n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L2150\n\nWith the fix:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nwhen extra_specs are different, retype does nothing in backend, and it succeeds.","commit_id":"6a942ba647ee17893727e7b3c256ef067c9b5d5e"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"11a7df87aab2989271054604c906493d629b4578","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        if diff[\u0027extra_specs\u0027]:"},{"line_number":785,"context_line":"            LOG.error(_LE(\u0027Retype of extra_specs not supported.\u0027))"},{"line_number":786,"context_line":"            return False"},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"        return True"},{"line_number":789,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_9b2b7eeb","side":"PARENT","line":786,"in_reply_to":"ba8a016a_bbee8220","updated":"2015-11-17 07:35:17.000000000","message":"Thanks Lisa, yes, it\u0027s clear more. So with this fix, we may change the retype behavior under case 1 as you mentioned. But I see the change is reasonable to me. We may need DocImpact to explain this change.","commit_id":"6a942ba647ee17893727e7b3c256ef067c9b5d5e"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b60fadb77da885ee0979046d3483789e3fe3e631","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_0430c655","line":766,"updated":"2015-11-16 10:46:23.000000000","message":"A little suggestion: could add some doc string here to specify we changed those code because fixing this bug. Help other developers to understand this change.","commit_id":"127738c1199fde739896901aeb9373d1fc741fb7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"d237bac4b86dfd4f54244d9925427c43c60c273b","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":"        return True"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_fbe40a3c","line":766,"in_reply_to":"ba8a016a_0430c655","updated":"2015-11-17 07:20:04.000000000","message":"Done","commit_id":"127738c1199fde739896901aeb9373d1fc741fb7"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"90deb8e9cb00aac7b9f14655ad465164d6c97c5c","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_0c47fd4b","line":766,"updated":"2015-11-18 16:18:47.000000000","message":"Doesn\u0027t it make sense to log something here, since retype basically does nothing.","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc885d1c2e944b4e260a8076f030431fae634dc9","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_c7a8fd22","line":766,"updated":"2015-11-18 12:53:32.000000000","message":"s/Qos/QoS","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dd7a6c39617cc28ba302d3f7798742123f4ad757","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_429db0ba","line":766,"in_reply_to":"ba8a016a_0c47fd4b","updated":"2015-11-19 06:04:18.000000000","message":"I add a debug trace here.\nI don\u0027t think info log is needed here.","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dd7a6c39617cc28ba302d3f7798742123f4ad757","unresolved":false,"context_lines":[{"line_number":763,"context_line":"            volume.remove_snap(snap_name)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_e2406436","line":766,"in_reply_to":"ba8a016a_c7a8fd22","updated":"2015-11-19 06:04:18.000000000","message":"Done","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc885d1c2e944b4e260a8076f030431fae634dc9","unresolved":false,"context_lines":[{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."},{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_476badf1","line":768,"updated":"2015-11-18 12:53:32.000000000","message":"ditto","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dd7a6c39617cc28ba302d3f7798742123f4ad757","unresolved":false,"context_lines":[{"line_number":765,"context_line":"    def retype(self, context, volume, new_type, diff, host):"},{"line_number":766,"context_line":"        \"\"\"Retypes a volume, allow Qos and extra_specs change.\"\"\""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."},{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_82495862","line":768,"in_reply_to":"ba8a016a_476badf1","updated":"2015-11-19 06:04:18.000000000","message":"Done","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc885d1c2e944b4e260a8076f030431fae634dc9","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."},{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."},{"line_number":772,"context_line":"        return True"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_277789d4","line":771,"updated":"2015-11-18 12:53:32.000000000","message":"ditto","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dd7a6c39617cc28ba302d3f7798742123f4ad757","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        # No need to check encryption, extra_specs and Qos here as:"},{"line_number":769,"context_line":"        # encryptions have been checked as same."},{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."},{"line_number":772,"context_line":"        return True"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_a246dc4c","line":771,"in_reply_to":"ba8a016a_277789d4","updated":"2015-11-19 06:04:18.000000000","message":"Done","commit_id":"f831dff557e8828ab4b97cca0d5d23d3a55fdae1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"3fd0de4b8c33c82d42421a19b4f413a0872d051f","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."},{"line_number":772,"context_line":"        LOG.debug(\u0027RBD retype called for volume %s. No action \u0027"},{"line_number":773,"context_line":"                  \u0027required for RBD volumes.\u0027, volume[\u0027id\u0027])"},{"line_number":774,"context_line":"        return True"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_09e42a39","line":773,"updated":"2015-12-01 10:55:49.000000000","message":"-1: New code should use attribute access instead of dictionary interface.  volume is a versioned object.\n\n volume.id","commit_id":"dfa24c4704c7f0a7ca6d58ba8a1a41a4212b3095"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2983a51207da2c82e2237e94fb729c7655df0280","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        # extra_specs are not used in the driver."},{"line_number":771,"context_line":"        # Qos settings are not used in the driver."},{"line_number":772,"context_line":"        LOG.debug(\u0027RBD retype called for volume %s. No action \u0027"},{"line_number":773,"context_line":"                  \u0027required for RBD volumes.\u0027, volume[\u0027id\u0027])"},{"line_number":774,"context_line":"        return True"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    def ensure_export(self, context, volume):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_60f3570b","line":773,"in_reply_to":"9a8ffd7b_09e42a39","updated":"2015-12-02 02:24:44.000000000","message":"Thank you!Done.","commit_id":"dfa24c4704c7f0a7ca6d58ba8a1a41a4212b3095"}]}
