)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c74ee5516c98dff2d0173d55ff182fe0794c93e6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Duplicate code in volume manager and base driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\u0027copy_volume_data\u0027 method and all migration-related coder should be"},{"line_number":10,"context_line":"in volume manager only."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I6a4cb2ff2c11101cf10df0d515e6bb6fa7cf75f6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a68dd71_343fb925","line":9,"range":{"start_line":9,"start_character":52,"end_line":9,"end_character":57},"updated":"2016-01-22 15:04:11.000000000","message":"coder -\u003e code","commit_id":"3d8a71445664161658516f8d751e1bd98f83a630"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"ac3a155832ee06b86f06c5a1cccbdd978c5b4526","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Duplicate code in volume manager and base driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\u0027copy_volume_data\u0027 method and all migration-related coder should be"},{"line_number":10,"context_line":"in volume manager only."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I6a4cb2ff2c11101cf10df0d515e6bb6fa7cf75f6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a68dd71_2fdd246f","line":9,"range":{"start_line":9,"start_character":52,"end_line":9,"end_character":57},"in_reply_to":"9a68dd71_343fb925","updated":"2016-01-22 15:13:53.000000000","message":"Thanks, Jay!","commit_id":"3d8a71445664161658516f8d751e1bd98f83a630"}],"cinder/volume/driver.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"a91424ed851168ca55eea9a681e46ee08cadd74c","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        finally:"},{"line_number":775,"context_line":"            self._detach_volume(context, attach_info, volume, properties)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"    def _before_volume_copy(self, context, src_vol, dest_vol, remote\u003dNone):"},{"line_number":778,"context_line":"        \"\"\"Driver-specific actions before copyvolume data."},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        This method will be called before _copy_volume_data during volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_0a70540a","line":777,"updated":"2016-02-11 21:28:07.000000000","message":"I don\u0027t think these should use the like \u0027private\u0027 naming convention since they would be used like the normal driver api\u0027s by the manager.","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2fa4b2004024d46fd9182cecd488bda8f6f5e6ca","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        finally:"},{"line_number":775,"context_line":"            self._detach_volume(context, attach_info, volume, properties)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"    def _before_volume_copy(self, context, src_vol, dest_vol, remote\u003dNone):"},{"line_number":778,"context_line":"        \"\"\"Driver-specific actions before copyvolume data."},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        This method will be called before _copy_volume_data during volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_86cd1cb9","line":777,"in_reply_to":"3a57f1b5_0a70540a","updated":"2016-02-11 22:37:40.000000000","message":"Agree.","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9d416002cc90a1ef9fee4a36e45d9abd9ab39dcb","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        finally:"},{"line_number":775,"context_line":"            self._detach_volume(context, attach_info, volume, properties)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"    def _before_volume_copy(self, context, src_vol, dest_vol, remote\u003dNone):"},{"line_number":778,"context_line":"        \"\"\"Driver-specific actions before copyvolume data."},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        This method will be called before _copy_volume_data during volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_ae96d43b","line":777,"in_reply_to":"3a57f1b5_0a70540a","updated":"2016-02-12 12:40:51.000000000","message":"Done","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"}],"cinder/volume/drivers/hitachi/hbsd_fc.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0da8f3e1053e0270acda43e382047c8b158a7c2b","unresolved":false,"context_lines":[{"line_number":486,"context_line":"        self.do_setup_status.wait()"},{"line_number":487,"context_line":"        super(HBSDFCDriver, self).copy_volume_data(context, src_vol,"},{"line_number":488,"context_line":"                                                   dest_vol, remote)"},{"line_number":489,"context_line":"        self.discard_zero_page(dest_vol)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    def copy_image_to_volume(self, context, volume, image_service, image_id):"},{"line_number":492,"context_line":"        self.do_setup_status.wait()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_583ff786","side":"PARENT","line":489,"updated":"2016-01-22 17:26:30.000000000","message":"Same with this driver.  Now you are not allowing the driver to call self.discard_zero_page() \n\nI\u0027m sure this is a bad idea for this driver.","commit_id":"577ec5494bc331cd1447e1538b98d2ba17331b66"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2fa4b2004024d46fd9182cecd488bda8f6f5e6ca","unresolved":false,"context_lines":[{"line_number":505,"context_line":"        This method will be called before _copy_volume_data during volume"},{"line_number":506,"context_line":"        migration"},{"line_number":507,"context_line":"        \"\"\""},{"line_number":508,"context_line":"        super(HBSDFCDriver, self)._before_volume_copy(context,"},{"line_number":509,"context_line":"                                                      src_vol, dest_vol,"},{"line_number":510,"context_line":"                                                      remote)"},{"line_number":511,"context_line":"        self.do_setup_status.wait()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_867f5c65","line":508,"updated":"2016-02-11 22:37:40.000000000","message":"Probably should get the driver maintainer to take a look and see if they want the super() call.  I realize that it doesn\u0027t do anything but a pass() currently, but they might not want the dependency.","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2fa4b2004024d46fd9182cecd488bda8f6f5e6ca","unresolved":false,"context_lines":[{"line_number":516,"context_line":"        This method will be called after _copy_volume_data during volume"},{"line_number":517,"context_line":"        migration"},{"line_number":518,"context_line":"        \"\"\""},{"line_number":519,"context_line":"        super(HBSDFCDriver, self)._after_volume_copy(context,"},{"line_number":520,"context_line":"                                                     src_vol, dest_vol,"},{"line_number":521,"context_line":"                                                     remote)"},{"line_number":522,"context_line":"        self.discard_zero_page(dest_vol)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_068ccc7d","line":519,"updated":"2016-02-11 22:37:40.000000000","message":"ditto","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2fa4b2004024d46fd9182cecd488bda8f6f5e6ca","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                                                     src_vol, dest_vol,"},{"line_number":521,"context_line":"                                                     remote)"},{"line_number":522,"context_line":"        self.discard_zero_page(dest_vol)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    def restore_backup(self, context, backup, volume, backup_service):"},{"line_number":525,"context_line":"        self.do_setup_status.wait()"},{"line_number":526,"context_line":"        super(HBSDFCDriver, self).restore_backup(context, backup,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_a6d2985a","line":523,"updated":"2016-02-11 22:37:40.000000000","message":"I haven\u0027t looked, but this driver should have a unit test that verifies that page zero.","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9d416002cc90a1ef9fee4a36e45d9abd9ab39dcb","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                                                     src_vol, dest_vol,"},{"line_number":521,"context_line":"                                                     remote)"},{"line_number":522,"context_line":"        self.discard_zero_page(dest_vol)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    def restore_backup(self, context, backup, volume, backup_service):"},{"line_number":525,"context_line":"        self.do_setup_status.wait()"},{"line_number":526,"context_line":"        super(HBSDFCDriver, self).restore_backup(context, backup,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_4ebf20aa","line":523,"in_reply_to":"3a57f1b5_a6d2985a","updated":"2016-02-12 12:40:51.000000000","message":"Agree, but I think it could be done in a following patch","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"}],"cinder/volume/drivers/hpe/hpe_xp_fc.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"c0dd15d4040b7ea7f6b78b956daefcc3939f2d1d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\""},{"line_number":83,"context_line":"        super(HPEXPFCDriver, self).copy_volume_data("},{"line_number":84,"context_line":"            context, src_vol, dest_vol, remote)"},{"line_number":85,"context_line":"        self.common.copy_volume_data(context, src_vol, dest_vol, remote)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def copy_image_to_volume(self, context, volume, image_service, image_id):"},{"line_number":88,"context_line":"        \"\"\"Fetch the image from image_service and write it to the volume."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_58c857a8","side":"PARENT","line":85,"updated":"2016-01-22 17:25:46.000000000","message":"this seems like it\u0027s going to cause problems.  I don\u0027t know what happens inside the self.common.copy_volume_data, but removing this code basically doesn\u0027t allow that call to be made.   \n\nI don\u0027t see how this is going to work.","commit_id":"577ec5494bc331cd1447e1538b98d2ba17331b66"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"71f147a43b9339a0fcaa0e9963ca5ff42a9ea70c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        super(HPEXPFCDriver, self).copy_volume_data("},{"line_number":84,"context_line":"            context, src_vol, dest_vol, remote)"},{"line_number":85,"context_line":"        self.common.copy_volume_data(context, src_vol, dest_vol, remote)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def copy_image_to_volume(self, context, volume, image_service, image_id):"},{"line_number":88,"context_line":"        \"\"\"Fetch the image from image_service and write it to the volume."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_35ed69ef","side":"PARENT","line":86,"updated":"2016-01-22 19:14:31.000000000","message":"It seems like one of these too call is not doing anything (or both). Both claim to do the same thing receiving the same parameters. But, anyways this function is not called by volume.manager, so, this functions are not touched.","commit_id":"577ec5494bc331cd1447e1538b98d2ba17331b66"}],"cinder/volume/manager.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2fa4b2004024d46fd9182cecd488bda8f6f5e6ca","unresolved":false,"context_lines":[{"line_number":1690,"context_line":"                self.driver._before_volume_copy(ctxt, volume, new_volume,"},{"line_number":1691,"context_line":"                                                remote\u003d\u0027dest\u0027)"},{"line_number":1692,"context_line":"                self._copy_volume_data(ctxt, volume, new_volume, remote\u003d\u0027dest\u0027)"},{"line_number":1693,"context_line":"                self.driver._before_volume_copy(ctxt, volume, new_volume,"},{"line_number":1694,"context_line":"                                                remote\u003d\u0027dest\u0027)"},{"line_number":1695,"context_line":""},{"line_number":1696,"context_line":"                # The above call is synchronous so we complete the migration"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_e61bb071","line":1693,"updated":"2016-02-11 22:37:40.000000000","message":"_after_volume_copy ?","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9d416002cc90a1ef9fee4a36e45d9abd9ab39dcb","unresolved":false,"context_lines":[{"line_number":1690,"context_line":"                self.driver._before_volume_copy(ctxt, volume, new_volume,"},{"line_number":1691,"context_line":"                                                remote\u003d\u0027dest\u0027)"},{"line_number":1692,"context_line":"                self._copy_volume_data(ctxt, volume, new_volume, remote\u003d\u0027dest\u0027)"},{"line_number":1693,"context_line":"                self.driver._before_volume_copy(ctxt, volume, new_volume,"},{"line_number":1694,"context_line":"                                                remote\u003d\u0027dest\u0027)"},{"line_number":1695,"context_line":""},{"line_number":1696,"context_line":"                # The above call is synchronous so we complete the migration"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a57f1b5_0e32885f","line":1693,"in_reply_to":"3a57f1b5_e61bb071","updated":"2016-02-12 12:40:51.000000000","message":"Thanks, done","commit_id":"401aa8e6ca689cf32767a0e4eeedece397b58fda"}]}
