)]}'
{"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":9064,"name":"Danny Al-Gaaf","email":"danny.al-gaaf@bisect.de","username":"dalgaaf"},"change_message_id":"66a3a784720e22e0b436e9cdf1c968e6a5673397","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"        \"\"\""},{"line_number":1075,"context_line":"        with RADOSClient(self) as client:"},{"line_number":1076,"context_line":"            volume_name \u003d utils.convert_str(volume.name)"},{"line_number":1077,"context_line":"            new_name \u003d \u0027unmanaged-\u0027 + volume_name"},{"line_number":1078,"context_line":"            try:"},{"line_number":1079,"context_line":"                self.RBDProxy().rename(client.ioctx, volume_name, new_name)"},{"line_number":1080,"context_line":"            except self.rbd.ImageNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_99a6c451","line":1077,"updated":"2016-04-18 16:00:09.000000000","message":"It would probably sense to check if the name of the volume already contains this prefix to prevent changing it to \"unmanaged-unmanaged-*\". Or is there somewhere another check to prevent this?","commit_id":"f5fd5ab88f3a71e7315384af0379faaa32a849be"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"9da98a4c340a5b1a2f4d8f9509ca1b9122866142","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"        \"\"\""},{"line_number":1075,"context_line":"        with RADOSClient(self) as client:"},{"line_number":1076,"context_line":"            volume_name \u003d utils.convert_str(volume.name)"},{"line_number":1077,"context_line":"            new_name \u003d \u0027unmanaged-\u0027 + volume_name"},{"line_number":1078,"context_line":"            try:"},{"line_number":1079,"context_line":"                self.RBDProxy().rename(client.ioctx, volume_name, new_name)"},{"line_number":1080,"context_line":"            except self.rbd.ImageNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_70a3db4f","line":1077,"in_reply_to":"1a122d0e_99a6c451","updated":"2016-04-19 09:22:26.000000000","message":"No need to check if the name of the volume already contains the \"unmanaged\" prefix because a volume with ID of \u0027unmanaged-volume-...\u0027 can not exists in DB.","commit_id":"f5fd5ab88f3a71e7315384af0379faaa32a849be"},{"author":{"_account_id":18026,"name":"huanan","email":"huanan@huawei.com","username":"huanan"},"change_message_id":"f1f3f907ba2aeb73f602e27d97d08c657badf858","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"            volume_name \u003d utils.convert_str(volume.name)"},{"line_number":1078,"context_line":"            new_name \u003d \u0027unmanaged-\u0027 + volume_name"},{"line_number":1079,"context_line":"            try:"},{"line_number":1080,"context_line":"                self.RBDProxy().rename(client.ioctx, volume_name, new_name)"},{"line_number":1081,"context_line":"            except self.rbd.ImageNotFound:"},{"line_number":1082,"context_line":"                LOG.error(_LE(\u0027Failed to unmanage the volume %s.\u0027), volume.id)"},{"line_number":1083,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_f26a4680","line":1080,"range":{"start_line":1080,"start_character":32,"end_line":1080,"end_character":38},"updated":"2016-04-19 12:46:08.000000000","message":"I think there should be a unit test for rename fail.","commit_id":"79c0ccd71bc18e644dea3593cff5c35e9d721d70"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"432fb4b1f8ebe0e72957474b631e0d92610fe501","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"            volume_name \u003d utils.convert_str(volume.name)"},{"line_number":1078,"context_line":"            new_name \u003d \u0027unmanaged-\u0027 + volume_name"},{"line_number":1079,"context_line":"            try:"},{"line_number":1080,"context_line":"                self.RBDProxy().rename(client.ioctx, volume_name, new_name)"},{"line_number":1081,"context_line":"            except self.rbd.ImageNotFound:"},{"line_number":1082,"context_line":"                LOG.error(_LE(\u0027Failed to unmanage the volume %s.\u0027), volume.id)"},{"line_number":1083,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_4f3383ab","line":1080,"range":{"start_line":1080,"start_character":32,"end_line":1080,"end_character":38},"in_reply_to":"1a122d0e_f26a4680","updated":"2016-04-19 17:28:26.000000000","message":"Looks like test_unmanage_no_exist_volume already tests this","commit_id":"79c0ccd71bc18e644dea3593cff5c35e9d721d70"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d44ba6e25278a3ede02fe739e7db28e18689d557","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"class RBDDriver(driver.TransferVD, driver.ExtendVD,"},{"line_number":265,"context_line":"                driver.CloneableImageVD, driver.SnapshotVD,"},{"line_number":266,"context_line":"                driver.MigrateVD, driver.BaseVD):"},{"line_number":267,"context_line":"    \"\"\"Implements RADOS block device (RBD) volume commands.\"\"\""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    VERSION \u003d \u00271.2.0\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_d48f4c2c","line":266,"updated":"2016-05-04 14:50:46.000000000","message":"Should now inherit driver.ManageableVD.","commit_id":"b930fc3798a19b98860f746ff474231c8c082158"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"835360e2ccfc8c4228844151a995cc00e1440a49","unresolved":false,"context_lines":[{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"    def unmanage(self, volume):"},{"line_number":1071,"context_line":"        pass"},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"    def update_migrated_volume(self, ctxt, volume, new_volume,"},{"line_number":1074,"context_line":"                               original_volume_status):"},{"line_number":1075,"context_line":"        \"\"\"Return model update from RBD for migrated volume."}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_d5ff0b64","line":1072,"updated":"2016-04-27 14:43:16.000000000","message":"It makes me wonder if this shouldn\u0027t be the default behaviour in the base class.  Bad idea?","commit_id":"b930fc3798a19b98860f746ff474231c8c082158"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fe91760f60e012d7d2c9395eff55600a27a4d8e9","unresolved":false,"context_lines":[{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"    def unmanage(self, volume):"},{"line_number":1071,"context_line":"        pass"},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"    def update_migrated_volume(self, ctxt, volume, new_volume,"},{"line_number":1074,"context_line":"                               original_volume_status):"},{"line_number":1075,"context_line":"        \"\"\"Return model update from RBD for migrated volume."}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_02c0264f","line":1072,"in_reply_to":"1a122d0e_d5ff0b64","updated":"2016-04-27 16:13:15.000000000","message":"That\u0027s definitely a good idea. We can merge that patch to fix it anyway and then get to more generic solution.","commit_id":"b930fc3798a19b98860f746ff474231c8c082158"}]}
