)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"543842e698868f5f567dc885a5407531c16b7bcf","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Wenjun Wang \u003cwenjun_dev@126.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-07-07 05:50:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Volume create failed when volume need flatten"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f1d235d_9a2790b7","line":7,"updated":"2017-07-11 15:02:38.000000000","message":"Can you add \u0027RBD -\u0027 here so it is clear what driver this is for.","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4dc77423cbb4ec8da9e7927a22642070bc762e6d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Wenjun Wang \u003cwenjun_dev@126.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-07-07 05:50:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Volume create failed when volume need flatten"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_7973d681","line":7,"in_reply_to":"3f1d235d_9a2790b7","updated":"2017-07-13 07:56:57.000000000","message":"Done","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"543842e698868f5f567dc885a5407531c16b7bcf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Volume create failed when volume need flatten"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f1d235d_1a3b80d1","line":11,"range":{"start_line":10,"start_character":2,"end_line":11,"end_character":29},"updated":"2017-07-11 15:02:38.000000000","message":"The sentences here should start with a capital letter and end with a period please.","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4dc77423cbb4ec8da9e7927a22642070bc762e6d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Volume create failed when volume need flatten"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_59701a73","line":11,"range":{"start_line":10,"start_character":2,"end_line":11,"end_character":29},"in_reply_to":"3f1d235d_1a3b80d1","updated":"2017-07-13 07:56:57.000000000","message":"Done","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"543842e698868f5f567dc885a5407531c16b7bcf","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f1d235d_7a4f146a","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":48},"updated":"2017-07-11 15:02:38.000000000","message":"may have other snapshots","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4dc77423cbb4ec8da9e7927a22642070bc762e6d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Analysis:"},{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_396d5e98","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":48},"in_reply_to":"3f1d235d_7a4f146a","updated":"2017-07-13 07:56:57.000000000","message":"Done","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"543842e698868f5f567dc885a5407531c16b7bcf","unresolved":false,"context_lines":[{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Solution:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f1d235d_fa3a04c2","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":43},"updated":"2017-07-11 15:02:38.000000000","message":"remove \u0027be\u0027","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4dc77423cbb4ec8da9e7927a22642070bc762e6d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"1.we flatten source volume\u0027s parent from grandparent\u0027s snapshot"},{"line_number":11,"context_line":"  before we create new volume"},{"line_number":12,"context_line":"2.the parent volume maybe have another snapshots,"},{"line_number":13,"context_line":"  unprotect grandparent\u0027s snapshot will be raise an ImageBusy"},{"line_number":14,"context_line":"  if there is a snapshot"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Solution:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_f90486c8","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":43},"in_reply_to":"3f1d235d_fa3a04c2","updated":"2017-07-13 07:56:57.000000000","message":"Done","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"65c5392329cd58ba37ca612584d2c2aab29699ee","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                    # Flatten destination volume"},{"line_number":521,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":522,"context_line":"                    dest_volume.flatten()"},{"line_number":523,"context_line":"                except Exception:"},{"line_number":524,"context_line":"                    LOG.error(\"failed to flatten volume %s\", dest_name)"},{"line_number":525,"context_line":"                    src_volume.close()"},{"line_number":526,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_83fe6803","line":523,"updated":"2017-06-29 07:41:20.000000000","message":"Please, catch less general exceptions","commit_id":"0a30f65ce87f20c0fb4eabd0083389404b611e27"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"eee23830167b77554c39f00bd83a687401c16e93","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                    # Flatten destination volume"},{"line_number":521,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":522,"context_line":"                    dest_volume.flatten()"},{"line_number":523,"context_line":"                except Exception:"},{"line_number":524,"context_line":"                    LOG.error(\"failed to flatten volume %s\", dest_name)"},{"line_number":525,"context_line":"                    src_volume.close()"},{"line_number":526,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_01c11455","line":523,"in_reply_to":"3f1d235d_83fe6803","updated":"2017-06-30 01:10:28.000000000","message":"This may take long time to flatten, I have no idea what exception will be raised here, catch the general exceptions just for log in case of unknown error raised, please see my reply to Jay Bryant, what do you think if I change the log info like that?","commit_id":"0a30f65ce87f20c0fb4eabd0083389404b611e27"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"14bc9604a3309786be8177bb695dc5150209fb59","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":522,"context_line":"                    dest_volume.flatten()"},{"line_number":523,"context_line":"                except Exception:"},{"line_number":524,"context_line":"                    LOG.error(\"failed to flatten volume %s\", dest_name)"},{"line_number":525,"context_line":"                    src_volume.close()"},{"line_number":526,"context_line":"                    raise"},{"line_number":527,"context_line":"                finally:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_6d6c4836","line":524,"range":{"start_line":524,"start_character":31,"end_line":524,"end_character":58},"updated":"2017-06-29 17:43:29.000000000","message":"\"Failed to flatten volume: %s\" .  Also should report what the exception that was encountered was.","commit_id":"0a30f65ce87f20c0fb4eabd0083389404b611e27"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"eee23830167b77554c39f00bd83a687401c16e93","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":522,"context_line":"                    dest_volume.flatten()"},{"line_number":523,"context_line":"                except Exception:"},{"line_number":524,"context_line":"                    LOG.error(\"failed to flatten volume %s\", dest_name)"},{"line_number":525,"context_line":"                    src_volume.close()"},{"line_number":526,"context_line":"                    raise"},{"line_number":527,"context_line":"                finally:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_e1cbb8a2","line":524,"range":{"start_line":524,"start_character":31,"end_line":524,"end_character":58},"in_reply_to":"3f1d235d_6d6c4836","updated":"2017-06-30 01:10:28.000000000","message":"how about this:\nexcept Exception as e:\nLOG.error(_LE(\u0027failed to flatten volume %(volume)s with \u0027\n              \u0027error: %(error)s.\u0027),\n          {\u0027volume\u0027: dest_name, \u0027error\u0027: e})","commit_id":"0a30f65ce87f20c0fb4eabd0083389404b611e27"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"543842e698868f5f567dc885a5407531c16b7bcf","unresolved":false,"context_lines":[{"line_number":514,"context_line":"            # flatten the dest after cloning. Zero rbd_max_clone_depth means"},{"line_number":515,"context_line":"            # infinite is allowed."},{"line_number":516,"context_line":"            if depth \u003e\u003d self.configuration.rbd_max_clone_depth:"},{"line_number":517,"context_line":"                LOG.debug(\"maximum clone depth (%d) has been reached - \""},{"line_number":518,"context_line":"                          \"flattening dest volume\","},{"line_number":519,"context_line":"                          self.configuration.rbd_max_clone_depth)"},{"line_number":520,"context_line":"                dest_volume \u003d self.rbd.Image(client.ioctx, dest_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_fa6324dc","line":517,"range":{"start_line":517,"start_character":20,"end_line":517,"end_character":25},"updated":"2017-07-11 15:02:38.000000000","message":"This seems like it should be a LOG.info","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4dc77423cbb4ec8da9e7927a22642070bc762e6d","unresolved":false,"context_lines":[{"line_number":514,"context_line":"            # flatten the dest after cloning. Zero rbd_max_clone_depth means"},{"line_number":515,"context_line":"            # infinite is allowed."},{"line_number":516,"context_line":"            if depth \u003e\u003d self.configuration.rbd_max_clone_depth:"},{"line_number":517,"context_line":"                LOG.debug(\"maximum clone depth (%d) has been reached - \""},{"line_number":518,"context_line":"                          \"flattening dest volume\","},{"line_number":519,"context_line":"                          self.configuration.rbd_max_clone_depth)"},{"line_number":520,"context_line":"                dest_volume \u003d self.rbd.Image(client.ioctx, dest_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_b90e0ee3","line":517,"range":{"start_line":517,"start_character":20,"end_line":517,"end_character":25},"in_reply_to":"3f1d235d_fa6324dc","updated":"2017-07-13 07:56:57.000000000","message":"Done","commit_id":"8f70e84001f004c570670079e89ed0601f0d8b58"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"19477e3edab0c663b89a8ef45d9f602e922e2559","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                          self.configuration.rbd_max_clone_depth)"},{"line_number":520,"context_line":"                dest_volume \u003d self.rbd.Image(client.ioctx, dest_name)"},{"line_number":521,"context_line":"                try:"},{"line_number":522,"context_line":"                    # Flatten destination volume"},{"line_number":523,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":524,"context_line":"                    dest_volume.flatten()"},{"line_number":525,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_88b8902a","line":522,"updated":"2017-07-13 14:22:00.000000000","message":"Pep8 failure in here.  Please correct.","commit_id":"e386e5591c62feb75271dbcf02cd8d9c86b1a105"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"4a37108081d56d2e81ef8897e1a2b4cc80c6f107","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                          self.configuration.rbd_max_clone_depth)"},{"line_number":520,"context_line":"                dest_volume \u003d self.rbd.Image(client.ioctx, dest_name)"},{"line_number":521,"context_line":"                try:"},{"line_number":522,"context_line":"                    # Flatten destination volume"},{"line_number":523,"context_line":"                    LOG.debug(\"flattening dest volume %s\", dest_name)"},{"line_number":524,"context_line":"                    dest_volume.flatten()"},{"line_number":525,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_070e943a","line":522,"in_reply_to":"1f1a1f67_88b8902a","updated":"2017-07-14 06:32:42.000000000","message":"Done","commit_id":"e386e5591c62feb75271dbcf02cd8d9c86b1a105"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ed5574dacd9345e17073eadd2c33df0a3e7b95e1","unresolved":false,"context_lines":[{"line_number":508,"context_line":"                src_volume.unprotect_snap(clone_snap)"},{"line_number":509,"context_line":"                src_volume.remove_snap(clone_snap)"},{"line_number":510,"context_line":"                msg \u003d (_(\"failed to clone \u0027%(src_vol)s@%(src_snap)s\u0027 to \""},{"line_number":511,"context_line":"                         \"\u0027%(dest)s\u0027, error: %(error)s\"),"},{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"},{"line_number":514,"context_line":"                        \u0027dest\u0027: dest_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_6449b42f","line":511,"range":{"start_line":511,"start_character":56,"end_line":511,"end_character":57},"updated":"2017-08-02 18:33:49.000000000","message":"%","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"7879c4618e5e1bd4a359594464fd5cfc7d62fa24","unresolved":false,"context_lines":[{"line_number":508,"context_line":"                src_volume.unprotect_snap(clone_snap)"},{"line_number":509,"context_line":"                src_volume.remove_snap(clone_snap)"},{"line_number":510,"context_line":"                msg \u003d (_(\"failed to clone \u0027%(src_vol)s@%(src_snap)s\u0027 to \""},{"line_number":511,"context_line":"                         \"\u0027%(dest)s\u0027, error: %(error)s\"),"},{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"},{"line_number":514,"context_line":"                        \u0027dest\u0027: dest_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_cf2aac2a","line":511,"range":{"start_line":511,"start_character":56,"end_line":511,"end_character":57},"in_reply_to":"df3967d1_6449b42f","updated":"2017-08-03 03:44:34.000000000","message":"Done","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ed5574dacd9345e17073eadd2c33df0a3e7b95e1","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                    dest_volume.flatten()"},{"line_number":533,"context_line":"                except Exception as e:"},{"line_number":534,"context_line":"                    msg \u003d (_(\"failed to flatten volume %(volume)s with \""},{"line_number":535,"context_line":"                             \"error: %(error)s.\"),"},{"line_number":536,"context_line":"                           {\u0027volume\u0027: dest_name,"},{"line_number":537,"context_line":"                            \u0027error\u0027: e})"},{"line_number":538,"context_line":"                    src_volume.close()"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_e43da48f","line":535,"range":{"start_line":535,"start_character":49,"end_line":535,"end_character":50},"updated":"2017-08-02 18:33:49.000000000","message":"See below.","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"7879c4618e5e1bd4a359594464fd5cfc7d62fa24","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                    dest_volume.flatten()"},{"line_number":533,"context_line":"                except Exception as e:"},{"line_number":534,"context_line":"                    msg \u003d (_(\"failed to flatten volume %(volume)s with \""},{"line_number":535,"context_line":"                             \"error: %(error)s.\"),"},{"line_number":536,"context_line":"                           {\u0027volume\u0027: dest_name,"},{"line_number":537,"context_line":"                            \u0027error\u0027: e})"},{"line_number":538,"context_line":"                    src_volume.close()"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_8f20244a","line":535,"range":{"start_line":535,"start_character":49,"end_line":535,"end_character":50},"in_reply_to":"df3967d1_e43da48f","updated":"2017-08-03 03:44:34.000000000","message":"Done","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ed5574dacd9345e17073eadd2c33df0a3e7b95e1","unresolved":false,"context_lines":[{"line_number":547,"context_line":"                    src_volume.remove_snap(clone_snap)"},{"line_number":548,"context_line":"                except Exception as e:"},{"line_number":549,"context_line":"                    msg \u003d (_(\"failed to remove temporary snap \""},{"line_number":550,"context_line":"                             \"%(snap_name)s, error: %(error)s\"),"},{"line_number":551,"context_line":"                           {\u0027snap_name\u0027: clone_snap,"},{"line_number":552,"context_line":"                            \u0027error\u0027: e})"},{"line_number":553,"context_line":"                    src_volume.close()"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_44bd9000","line":550,"range":{"start_line":550,"start_character":63,"end_line":550,"end_character":64},"updated":"2017-08-02 18:33:49.000000000","message":"This needs to be %, otherwise you are creating a tuple here.","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"7879c4618e5e1bd4a359594464fd5cfc7d62fa24","unresolved":false,"context_lines":[{"line_number":547,"context_line":"                    src_volume.remove_snap(clone_snap)"},{"line_number":548,"context_line":"                except Exception as e:"},{"line_number":549,"context_line":"                    msg \u003d (_(\"failed to remove temporary snap \""},{"line_number":550,"context_line":"                             \"%(snap_name)s, error: %(error)s\"),"},{"line_number":551,"context_line":"                           {\u0027snap_name\u0027: clone_snap,"},{"line_number":552,"context_line":"                            \u0027error\u0027: e})"},{"line_number":553,"context_line":"                    src_volume.close()"}],"source_content_type":"text/x-python","patch_set":9,"id":"df3967d1_6f198020","line":550,"range":{"start_line":550,"start_character":63,"end_line":550,"end_character":64},"in_reply_to":"df3967d1_44bd9000","updated":"2017-08-03 03:44:34.000000000","message":"Done","commit_id":"c13d99bfdee0a664a81b03e1f68f28d6d189e217"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"99ff02c1b4e118a799e8a59e8141bacb1833b436","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            except Exception as e:"},{"line_number":508,"context_line":"                src_volume.unprotect_snap(clone_snap)"},{"line_number":509,"context_line":"                src_volume.remove_snap(clone_snap)"},{"line_number":510,"context_line":"                msg \u003d (_(\"failed to clone \u0027%(src_vol)s@%(src_snap)s\u0027 to \""},{"line_number":511,"context_line":"                         \"\u0027%(dest)s\u0027, error: %(error)s\") %"},{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df3967d1_ddfb7876","line":510,"updated":"2017-08-03 13:38:02.000000000","message":"Error messages and log entries should starts with upper-case letters","commit_id":"fb03609d68c44c5211c23fef53fff9d479a97a70"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"706d253c000fcf74d4a0d3716bf84adb65d5ac73","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            except Exception as e:"},{"line_number":508,"context_line":"                src_volume.unprotect_snap(clone_snap)"},{"line_number":509,"context_line":"                src_volume.remove_snap(clone_snap)"},{"line_number":510,"context_line":"                msg \u003d (_(\"failed to clone \u0027%(src_vol)s@%(src_snap)s\u0027 to \""},{"line_number":511,"context_line":"                         \"\u0027%(dest)s\u0027, error: %(error)s\") %"},{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df3967d1_a00bd27a","line":510,"in_reply_to":"df3967d1_ddfb7876","updated":"2017-08-04 05:36:17.000000000","message":"Done","commit_id":"fb03609d68c44c5211c23fef53fff9d479a97a70"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"99ff02c1b4e118a799e8a59e8141bacb1833b436","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"},{"line_number":514,"context_line":"                        \u0027dest\u0027: dest_name,"},{"line_number":515,"context_line":"                        \u0027error\u0027: e})"},{"line_number":516,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":517,"context_line":"            finally:"},{"line_number":518,"context_line":"                src_volume.close()"}],"source_content_type":"text/x-python","patch_set":11,"id":"df3967d1_7deeccb4","line":515,"updated":"2017-08-03 13:38:02.000000000","message":"Please, add logging here","commit_id":"fb03609d68c44c5211c23fef53fff9d479a97a70"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"706d253c000fcf74d4a0d3716bf84adb65d5ac73","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                       {\u0027src_vol\u0027: src_name,"},{"line_number":513,"context_line":"                        \u0027src_snap\u0027: clone_snap,"},{"line_number":514,"context_line":"                        \u0027dest\u0027: dest_name,"},{"line_number":515,"context_line":"                        \u0027error\u0027: e})"},{"line_number":516,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":517,"context_line":"            finally:"},{"line_number":518,"context_line":"                src_volume.close()"}],"source_content_type":"text/x-python","patch_set":11,"id":"df3967d1_201fe2b7","line":515,"in_reply_to":"df3967d1_7deeccb4","updated":"2017-08-04 05:36:17.000000000","message":"Done","commit_id":"fb03609d68c44c5211c23fef53fff9d479a97a70"}]}
