)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e539d97f5a0efbb9080585e01241245c18dd2b6a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liuke2 \u003cliuke2@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-16 20:12:08 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Create hypermetro the remote pool not exist lead to judgment failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created while the remote config the not exist pool,"},{"line_number":10,"context_line":"will lead to incorrect logs. We cannot find the location of the error"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_3f9f8c51","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":76},"updated":"2016-02-16 13:53:53.000000000","message":"Please keep the summary line to 50 characters. Suggest: \"Huawei: Judgement failure when creating hypermetro\" ? Do you mean logic instead of judgement?","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"e0a2a113439219cf29334298bbc20e2e2229a965","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liuke2 \u003cliuke2@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-16 20:12:08 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Create hypermetro the remote pool not exist lead to judgment failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created while the remote config the not exist pool,"},{"line_number":10,"context_line":"will lead to incorrect logs. We cannot find the location of the error"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_c64150ab","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":76},"in_reply_to":"dae33548_3f9f8c51","updated":"2016-02-17 07:37:20.000000000","message":"Done\nThank you for your opinions","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"7269ab30f9bfc25cd35109ae1c5993bef6e70c5e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Create hypermetro the remote pool not exist lead to judgment failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created while the remote config the not exist pool,"},{"line_number":10,"context_line":"will lead to incorrect logs. We cannot find the location of the error"},{"line_number":11,"context_line":"according to the log."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_a8807247","line":9,"range":{"start_line":9,"start_character":46,"end_line":9,"end_character":70},"updated":"2016-02-16 18:11:17.000000000","message":"You mean the configuration of a nonexistent pool? It\u0027s a little confusing","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"e0a2a113439219cf29334298bbc20e2e2229a965","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Create hypermetro the remote pool not exist lead to judgment failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created while the remote config the not exist pool,"},{"line_number":10,"context_line":"will lead to incorrect logs. We cannot find the location of the error"},{"line_number":11,"context_line":"according to the log."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_ba126055","line":9,"range":{"start_line":9,"start_character":46,"end_line":9,"end_character":70},"in_reply_to":"dae33548_a8807247","updated":"2016-02-17 07:37:20.000000000","message":"Done\nThank you, \nI want to express hypermetro is created in the absence of remote pools","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"0db5c38c2753de31f762c1b6e75d664c0fc1ed9d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Judgement failure when creating hypermetro"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created in the absence of remote pools, it has"},{"line_number":10,"context_line":"the judgment failure will lead to incorrect logs. We cannot find the"},{"line_number":11,"context_line":"location of the error according to the log."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug:#1545898"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dae33548_b99d410c","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":12},"updated":"2016-02-17 11:36:56.000000000","message":"s/judgment/judgement","commit_id":"2bbd2eb56ca0608bfb0f6a425dc6102b621bbfda"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"50393016a0d8505de09f25d326a7c42b6a610d50","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Judgement failure when creating hypermetro"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created in the absence of remote pools, it has"},{"line_number":10,"context_line":"the judgment failure will lead to incorrect logs. We cannot find the"},{"line_number":11,"context_line":"location of the error according to the log."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug:#1545898"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dae33548_0f715144","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":12},"in_reply_to":"dae33548_b99d410c","updated":"2016-02-18 06:52:05.000000000","message":"Done\nThank you for your opinions","commit_id":"2bbd2eb56ca0608bfb0f6a425dc6102b621bbfda"},{"author":{"_account_id":14274,"name":"XinXiaohui","email":"xiaohui.xin@intel.com","username":"XinXiaohui"},"change_message_id":"56d961f8f48d40b8f52cfb7b468be3ed7069a98d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Judgement failure when creating hypermetro"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created in the absence of remote pools, it has"},{"line_number":10,"context_line":"the judgement failure will lead to incorrect logs. We cannot find the"},{"line_number":11,"context_line":"location of the error according to the log."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug:#1545898"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dae33548_81508d33","line":10,"range":{"start_line":10,"start_character":21,"end_line":10,"end_character":22},"updated":"2016-02-18 07:54:06.000000000","message":"Just a suggestion: s/failure will/failure which will","commit_id":"52e93138f8d4b45ee3cfed61c02204928d8dfa98"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"749a27e9c556268451b5c2d2bb61b6901108026a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Judgement failure when creating hypermetro"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Huawei hypermetro is created in the absence of remote pools, it has"},{"line_number":10,"context_line":"the judgement failure will lead to incorrect logs. We cannot find the"},{"line_number":11,"context_line":"location of the error according to the log."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug:#1545898"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dae33548_a8df5fd4","line":10,"range":{"start_line":10,"start_character":21,"end_line":10,"end_character":22},"in_reply_to":"dae33548_81508d33","updated":"2016-02-18 13:26:36.000000000","message":"Done","commit_id":"52e93138f8d4b45ee3cfed61c02204928d8dfa98"}],"cinder/volume/drivers/huawei/hypermetro.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e539d97f5a0efbb9080585e01241245c18dd2b6a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            remote_pool \u003d self.rmt_client.get_all_pools()"},{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_5ff9b07f","line":44,"range":{"start_line":44,"start_character":45,"end_line":44,"end_character":48},"updated":"2016-02-16 13:53:53.000000000","message":"Instead of \u0027got\u0027 use \u0027found\u0027 ?","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"e0a2a113439219cf29334298bbc20e2e2229a965","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            remote_pool \u003d self.rmt_client.get_all_pools()"},{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_5a3994a3","line":44,"range":{"start_line":44,"start_character":45,"end_line":44,"end_character":48},"in_reply_to":"dae33548_5ff9b07f","updated":"2016-02-17 07:37:20.000000000","message":"Done\nThank you for your opinions","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"7269ab30f9bfc25cd35109ae1c5993bef6e70c5e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_ad1084a9","line":45,"range":{"start_line":45,"start_character":2,"end_line":45,"end_character":20},"updated":"2016-02-16 18:11:17.000000000","message":"Use marker of translatable string here http://docs.openstack.org/developer/oslo.i18n/guidelines.html#using-a-marker-function","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"e0a2a113439219cf29334298bbc20e2e2229a965","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_3dd76a4c","line":45,"range":{"start_line":45,"start_character":2,"end_line":45,"end_character":20},"in_reply_to":"dae33548_ad1084a9","updated":"2016-02-17 07:37:20.000000000","message":"Thank you for your opinions\nThe docs have the example\nFor example, do not do this:\n\n# WRONG\nmsg \u003d _LE(\u0027There was an error.\u0027)\nLOG.exception(msg)\nraise LocalExceptionClass(msg)\nInstead, use this style:\n\n# RIGHT\nmsg \u003d _(\u0027There was an error.\u0027)\nLOG.exception(msg)\nraise LocalExceptionClass(msg)","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e539d97f5a0efbb9080585e01241245c18dd2b6a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_9f2178fe","line":46,"range":{"start_line":46,"start_character":18,"end_line":46,"end_character":43},"updated":"2016-02-16 13:53:53.000000000","message":"Would it make more sense for this to be some sort of NotFoundException?","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"e0a2a113439219cf29334298bbc20e2e2229a965","unresolved":false,"context_lines":[{"line_number":43,"context_line":"\t    if not pool:"},{"line_number":44,"context_line":"\t        err_msg \u003d (_(\"Remote pool cannot be got.\"))"},{"line_number":45,"context_line":"\t\tLOG.error(err_msg)"},{"line_number":46,"context_line":"\t\traise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_9d8036f9","line":46,"range":{"start_line":46,"start_character":18,"end_line":46,"end_character":43},"in_reply_to":"dae33548_9f2178fe","updated":"2016-02-17 07:37:20.000000000","message":"Thank you for your opinions.\nWe are unified using VolumeBackendAPIException for the backend return the error message.","commit_id":"d920cc12555da52da8e0e3e479b703ba235e1194"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"0db5c38c2753de31f762c1b6e75d664c0fc1ed9d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            config_pool \u003d self.configuration.metro_storage_pools"},{"line_number":41,"context_line":"            remote_pool \u003d self.rmt_client.get_all_pools()"},{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"        if not pool:"},{"line_number":44,"context_line":"            err_msg \u003d _(\"Remote pool cannot be found.\")"},{"line_number":45,"context_line":"            LOG.error(err_msg)"},{"line_number":46,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_f96fc928","line":46,"range":{"start_line":43,"start_character":7,"end_line":46,"end_character":67},"updated":"2016-02-17 11:36:56.000000000","message":"Is this the correct indentation? I believe you want this inside the try/except as it was in the first patch, right?","commit_id":"2bbd2eb56ca0608bfb0f6a425dc6102b621bbfda"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"50393016a0d8505de09f25d326a7c42b6a610d50","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            config_pool \u003d self.configuration.metro_storage_pools"},{"line_number":41,"context_line":"            remote_pool \u003d self.rmt_client.get_all_pools()"},{"line_number":42,"context_line":"            pool \u003d self.rmt_client.get_pool_info(config_pool, remote_pool)"},{"line_number":43,"context_line":"        if not pool:"},{"line_number":44,"context_line":"            err_msg \u003d _(\"Remote pool cannot be found.\")"},{"line_number":45,"context_line":"            LOG.error(err_msg)"},{"line_number":46,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_0b9adcb8","line":46,"range":{"start_line":43,"start_character":7,"end_line":46,"end_character":67},"in_reply_to":"dae33548_f96fc928","updated":"2016-02-18 06:52:05.000000000","message":"Done\nThank you for your opinions","commit_id":"2bbd2eb56ca0608bfb0f6a425dc6102b621bbfda"},{"author":{"_account_id":14274,"name":"XinXiaohui","email":"xiaohui.xin@intel.com","username":"XinXiaohui"},"change_message_id":"56d961f8f48d40b8f52cfb7b468be3ed7069a98d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            if not pool:"},{"line_number":44,"context_line":"                err_msg \u003d _(\"Remote pool cannot be found.\")"},{"line_number":45,"context_line":"                LOG.error(err_msg)"},{"line_number":46,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_e134f94a","line":46,"range":{"start_line":46,"start_character":32,"end_line":46,"end_character":57},"updated":"2016-02-18 07:54:06.000000000","message":"Will you add unit test case for the exception raising?","commit_id":"52e93138f8d4b45ee3cfed61c02204928d8dfa98"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"20ecc56cd6809c81dcba4b64af97404344c262f4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            if not pool:"},{"line_number":44,"context_line":"                err_msg \u003d _(\"Remote pool cannot be found.\")"},{"line_number":45,"context_line":"                LOG.error(err_msg)"},{"line_number":46,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_0ae5a4a6","line":46,"range":{"start_line":46,"start_character":32,"end_line":46,"end_character":57},"in_reply_to":"dae33548_e134f94a","updated":"2016-02-18 13:25:06.000000000","message":"Done\nThank you for your opinions","commit_id":"52e93138f8d4b45ee3cfed61c02204928d8dfa98"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"12ae3f92ffce6eb0c6eefa7f0758a54027bfc8cf","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"},{"line_number":50,"context_line":"            remotelun_info \u003d self.rmt_client.create_lun(lun_params)"},{"line_number":51,"context_line":"            remote_lun_id \u003d remotelun_info[\u0027ID\u0027]"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_88997071","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":32},"updated":"2016-02-20 00:01:43.000000000","message":"This looks like an unrelated change.","commit_id":"57570e9ef1bccb82ee6e7bb22bb2eb1c9522be64"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"0815d4e9de05b44cb962ddd1e751132c9a092383","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            # Create remote lun."},{"line_number":49,"context_line":"            lun_params[\u0027PARENTID\u0027] \u003d pool[\u0027ID\u0027]"},{"line_number":50,"context_line":"            remotelun_info \u003d self.rmt_client.create_lun(lun_params)"},{"line_number":51,"context_line":"            remote_lun_id \u003d remotelun_info[\u0027ID\u0027]"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_23267ece","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":32},"in_reply_to":"bae84128_88997071","updated":"2016-02-20 08:45:39.000000000","message":"Done\nThank you for your opinions\nhttps://bugs.launchpad.net/cinder/+bug/1547798","commit_id":"57570e9ef1bccb82ee6e7bb22bb2eb1c9522be64"}]}
