)]}'
{"cinder/volume/drivers/hpe/hpe_3par_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b8182d82ce02ba6a45de83debc5b9db0ed47c329","unresolved":false,"context_lines":[{"line_number":2520,"context_line":"                        # for now lets log a better message"},{"line_number":2521,"context_line":"                        retry \u003d 0"},{"line_number":2522,"context_line":"                        while retry \u003c\u003d 30:"},{"line_number":2523,"context_line":"                            time.sleep(2)"},{"line_number":2524,"context_line":"                            retry +\u003d 1"},{"line_number":2525,"context_line":"                            try:"},{"line_number":2526,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_ef0758c7","line":2523,"updated":"2018-07-31 15:19:25.000000000","message":"Make sure this is not going to be hit in unit testing or that the unit tests mock this out.\n\nAlso, I\u0027m not sure of the technical details for why, but we\u0027ve used eventlet.sleep instead of time.sleep elsewhere.","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"91fffffffef724cc70028ae7cb41e8155e453c82","unresolved":false,"context_lines":[{"line_number":2520,"context_line":"                        # for now lets log a better message"},{"line_number":2521,"context_line":"                        retry \u003d 0"},{"line_number":2522,"context_line":"                        while retry \u003c\u003d 30:"},{"line_number":2523,"context_line":"                            time.sleep(2)"},{"line_number":2524,"context_line":"                            retry +\u003d 1"},{"line_number":2525,"context_line":"                            try:"},{"line_number":2526,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6fe6ffb2","line":2523,"in_reply_to":"5f7c97a3_ef0758c7","updated":"2018-08-24 07:14:17.000000000","message":"Done","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b8182d82ce02ba6a45de83debc5b9db0ed47c329","unresolved":false,"context_lines":[{"line_number":2523,"context_line":"                            time.sleep(2)"},{"line_number":2524,"context_line":"                            retry +\u003d 1"},{"line_number":2525,"context_line":"                            try:"},{"line_number":2526,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2527,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2528,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s SUCCESFULL\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2529,"context_line":"                            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_2f2b1033","line":2526,"updated":"2018-07-31 15:19:25.000000000","message":"These lines are too long.","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"91fffffffef724cc70028ae7cb41e8155e453c82","unresolved":false,"context_lines":[{"line_number":2523,"context_line":"                            time.sleep(2)"},{"line_number":2524,"context_line":"                            retry +\u003d 1"},{"line_number":2525,"context_line":"                            try:"},{"line_number":2526,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2527,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2528,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s SUCCESFULL\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2529,"context_line":"                            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_8feb5b76","line":2526,"in_reply_to":"5f7c97a3_2f2b1033","updated":"2018-08-24 07:14:17.000000000","message":"Done","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b8182d82ce02ba6a45de83debc5b9db0ed47c329","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2528,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s SUCCESFULL\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2529,"context_line":"                            except Exception as ex:"},{"line_number":2530,"context_line":"                                LOG.error(\"Exception: %s\", ex)"},{"line_number":2531,"context_line":"                                LOG.error(\"Re-try %(retry)s FAILED to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2532,"context_line":"                            else:"},{"line_number":2533,"context_line":"                                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_6ffb48be","line":2530,"updated":"2018-07-31 15:19:25.000000000","message":"Get rid of this and just use LOG.exception for the next call.","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"91fffffffef724cc70028ae7cb41e8155e453c82","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2528,"context_line":"                                LOG.info(\"Re-try %(retry)s to delete %(volume_name)s SUCCESFULL\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2529,"context_line":"                            except Exception as ex:"},{"line_number":2530,"context_line":"                                LOG.error(\"Exception: %s\", ex)"},{"line_number":2531,"context_line":"                                LOG.error(\"Re-try %(retry)s FAILED to delete %(volume_name)s\", {\u0027retry\u0027: retry, \u0027volume_name\u0027: volume_name})"},{"line_number":2532,"context_line":"                            else:"},{"line_number":2533,"context_line":"                                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_4f01c337","line":2530,"in_reply_to":"5f7c97a3_6ffb48be","updated":"2018-08-24 07:14:17.000000000","message":"Done","commit_id":"b1803108d56aa92d63389aa0d05e6d99225b34ec"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c38cae8eb71818c67233fd74e36b137d97df3bab","unresolved":false,"context_lines":[{"line_number":2516,"context_line":"                    else:"},{"line_number":2517,"context_line":"                        # the volume is being operated on in a background"},{"line_number":2518,"context_line":"                        # task on the 3PAR."},{"line_number":2519,"context_line":"                        retry \u003d 0"},{"line_number":2520,"context_line":"                        while retry \u003c\u003d 30:"},{"line_number":2521,"context_line":"                            eventlet.sleep(2)"},{"line_number":2522,"context_line":"                            retry +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_8436dd50","line":2519,"updated":"2018-08-24 08:55:48.000000000","message":"IMO utils.retry might be a good way to implement this,\nyou can take reference from here\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py#L988","commit_id":"4abec36c5f74a03d957335afc1c17789c5a30969"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"3abc965c8549be8faab998dce737fe7185f5ef7e","unresolved":false,"context_lines":[{"line_number":2516,"context_line":"                    else:"},{"line_number":2517,"context_line":"                        # the volume is being operated on in a background"},{"line_number":2518,"context_line":"                        # task on the 3PAR."},{"line_number":2519,"context_line":"                        retry \u003d 0"},{"line_number":2520,"context_line":"                        while retry \u003c\u003d 30:"},{"line_number":2521,"context_line":"                            eventlet.sleep(2)"},{"line_number":2522,"context_line":"                            retry +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_d666b9ed","line":2519,"in_reply_to":"3f79a3b5_8436dd50","updated":"2018-08-24 19:01:03.000000000","message":"was able to use cinder.utils.retry() in driver.\nunable to mock utils.retry so for now going with same retry logic","commit_id":"4abec36c5f74a03d957335afc1c17789c5a30969"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"4fc41f65bfece1ee07571645021bd75c790a7782","unresolved":false,"context_lines":[{"line_number":2516,"context_line":"                    else:"},{"line_number":2517,"context_line":"                        # the volume is being operated on in a background"},{"line_number":2518,"context_line":"                        # task on the 3PAR."},{"line_number":2519,"context_line":"                        retry \u003d 0"},{"line_number":2520,"context_line":"                        while retry \u003c\u003d 30:"},{"line_number":2521,"context_line":"                            eventlet.sleep(2)"},{"line_number":2522,"context_line":"                            retry +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_5b7962c2","line":2519,"in_reply_to":"3f79a3b5_d666b9ed","updated":"2018-08-27 04:07:16.000000000","message":"Done","commit_id":"4abec36c5f74a03d957335afc1c17789c5a30969"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c38cae8eb71818c67233fd74e36b137d97df3bab","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"                                             \u0027vol\u0027: volume_name})"},{"line_number":2528,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2529,"context_line":"                                LOG.info(\"Retry: %(retry)s to delete \""},{"line_number":2530,"context_line":"                                         \"%(vol)s SUCCESSFULL\", {"},{"line_number":2531,"context_line":"                                             \u0027retry\u0027: retry,"},{"line_number":2532,"context_line":"                                             \u0027vol\u0027: volume_name})"},{"line_number":2533,"context_line":"                            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_0442cdab","line":2530,"range":{"start_line":2530,"start_character":50,"end_line":2530,"end_character":61},"updated":"2018-08-24 08:55:48.000000000","message":"NIT: typo, \u0027SUCCESSFUL\u0027","commit_id":"4abec36c5f74a03d957335afc1c17789c5a30969"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"3abc965c8549be8faab998dce737fe7185f5ef7e","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"                                             \u0027vol\u0027: volume_name})"},{"line_number":2528,"context_line":"                                self.client.deleteVolume(volume_name)"},{"line_number":2529,"context_line":"                                LOG.info(\"Retry: %(retry)s to delete \""},{"line_number":2530,"context_line":"                                         \"%(vol)s SUCCESSFULL\", {"},{"line_number":2531,"context_line":"                                             \u0027retry\u0027: retry,"},{"line_number":2532,"context_line":"                                             \u0027vol\u0027: volume_name})"},{"line_number":2533,"context_line":"                            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_965cc119","line":2530,"range":{"start_line":2530,"start_character":50,"end_line":2530,"end_character":61},"in_reply_to":"3f79a3b5_0442cdab","updated":"2018-08-24 19:01:03.000000000","message":"Done","commit_id":"4abec36c5f74a03d957335afc1c17789c5a30969"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"78f18d2b5acccc757693d860efe9cbc4d33d52ba","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_83c0c8e2","line":40,"updated":"2018-08-28 16:28:01.000000000","message":"I don\u0027t think this is an appropriate change.","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"08a435b3ad66374cc8fb82d7c49f8d2de58c0509","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8333e813","line":40,"updated":"2018-08-28 16:26:23.000000000","message":"These imports should be below in the third party group with the other oslo imports.","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"c7284d3a24ac1bd4e85f45c1322ed9eecf4d085f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_298195fc","line":40,"in_reply_to":"3f79a3b5_2e967b40","updated":"2018-08-28 17:36:37.000000000","message":"\u003e without this changes, PEP8 was giving some error\n \u003e with this, PEP8 was successful\n\nPlease ignore my above comments, this is not seen now.\nnot sure of how i got error at previous run. i will revert this import as per your comments\n\none strange thing is how zuul job of PEP8 passes my this change","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"fb1c2119b84769ca312d148f0d2002fe91d47eb4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_2e967b40","line":40,"in_reply_to":"3f79a3b5_8333e813","updated":"2018-08-28 16:50:18.000000000","message":"without this changes, PEP8 was giving some error\nwith this, PEP8 was successful","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"fb1c2119b84769ca312d148f0d2002fe91d47eb4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_ee9f234f","line":40,"in_reply_to":"3f79a3b5_83c0c8e2","updated":"2018-08-28 16:50:18.000000000","message":"without this changes,PEP8 was giving some error\nwiththis, PEP8 was successful","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"c7284d3a24ac1bd4e85f45c1322ed9eecf4d085f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import ast"},{"line_number":38,"context_line":"import json"},{"line_number":39,"context_line":"import math"},{"line_number":40,"context_line":"from oslo_serialization import base64"},{"line_number":41,"context_line":"from oslo_utils import importutils"},{"line_number":42,"context_line":"import pprint"},{"line_number":43,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8991c949","line":40,"in_reply_to":"3f79a3b5_ee9f234f","updated":"2018-08-28 17:36:37.000000000","message":"\u003e without this changes,PEP8 was giving some error\n \u003e withthis, PEP8 was successful\n\nsame as above","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"78f18d2b5acccc757693d860efe9cbc4d33d52ba","unresolved":false,"context_lines":[{"line_number":2473,"context_line":"                self.client.deleteVolume(volume_name)"},{"line_number":2474,"context_line":"            except Exception:"},{"line_number":2475,"context_line":"                msg \u003d _(\"The volume is currently busy on the 3PAR\""},{"line_number":2476,"context_line":"                        \" and cannot be deleted at this time. \""},{"line_number":2477,"context_line":"                        \"You can try again later.\")"},{"line_number":2478,"context_line":"                raise exception.VolumeIsBusy(message\u003dmsg)"},{"line_number":2479,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_236a14ed","line":2476,"range":{"start_line":2476,"start_character":23,"end_line":2476,"end_character":26},"updated":"2018-08-28 16:28:01.000000000","message":"Would be better to be consistent and keep the spaces at the end of the previous line.","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"c7284d3a24ac1bd4e85f45c1322ed9eecf4d085f","unresolved":false,"context_lines":[{"line_number":2473,"context_line":"                self.client.deleteVolume(volume_name)"},{"line_number":2474,"context_line":"            except Exception:"},{"line_number":2475,"context_line":"                msg \u003d _(\"The volume is currently busy on the 3PAR\""},{"line_number":2476,"context_line":"                        \" and cannot be deleted at this time. \""},{"line_number":2477,"context_line":"                        \"You can try again later.\")"},{"line_number":2478,"context_line":"                raise exception.VolumeIsBusy(message\u003dmsg)"},{"line_number":2479,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8e2d4fff","line":2476,"range":{"start_line":2476,"start_character":23,"end_line":2476,"end_character":26},"in_reply_to":"3f79a3b5_236a14ed","updated":"2018-08-28 17:36:37.000000000","message":"Done","commit_id":"2d75c9e5aee78463b6b4c741b51ff221bbeea3b5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f2b71fe93f08b70778748d2c3a05599ba4095e1f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"import six"},{"line_number":43,"context_line":"import uuid"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"from oslo_serialization import base64"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"from oslo_config import cfg"},{"line_number":48,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_5be934b5","line":45,"updated":"2018-08-28 18:24:57.000000000","message":"Technically I think this should go between line 49 and 50 but that would be an unrelated change, so ok.","commit_id":"7e52a064bf7c685c6bee6efc817796622bb14fbb"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"270d800b9e3067668f3daa7d6503fdd842c223f0","unresolved":false,"context_lines":[{"line_number":42,"context_line":"import six"},{"line_number":43,"context_line":"import uuid"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"from oslo_serialization import base64"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"from oslo_config import cfg"},{"line_number":48,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_3eaf867e","line":45,"in_reply_to":"3f79a3b5_1b5adc4f","updated":"2018-08-28 19:10:06.000000000","message":"Done","commit_id":"7e52a064bf7c685c6bee6efc817796622bb14fbb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ab9287665dc9e6e00a04df5e1ab5be7d741aa974","unresolved":false,"context_lines":[{"line_number":42,"context_line":"import six"},{"line_number":43,"context_line":"import uuid"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"from oslo_serialization import base64"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"from oslo_config import cfg"},{"line_number":48,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_1b5adc4f","line":45,"in_reply_to":"3f79a3b5_5be934b5","updated":"2018-08-28 18:43:37.000000000","message":"Yeah, would have liked to see this all cleaned up, but this is existing unrelated code.","commit_id":"7e52a064bf7c685c6bee6efc817796622bb14fbb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ab9287665dc9e6e00a04df5e1ab5be7d741aa974","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        if not all((hpe3parclient, client, hpeexceptions)):"},{"line_number":509,"context_line":"            msg \u003d _(\u0027HPE driver setup error: some required \u0027"},{"line_number":510,"context_line":"                    \u0027libraries (hpe3parclient, client.*) not found.\u0027)"},{"line_number":511,"context_line":"            LOG.exception(msg)"},{"line_number":512,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":513,"context_line":"        if self.client:"},{"line_number":514,"context_line":"            self.client_login()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_bb2ba893","line":511,"range":{"start_line":511,"start_character":16,"end_line":511,"end_character":25},"updated":"2018-08-28 18:43:37.000000000","message":"We aren\u0027t in an exception block here, so this should just be LOG.error since there won\u0027t be an exception in scope to be logged with it.","commit_id":"7e52a064bf7c685c6bee6efc817796622bb14fbb"},{"author":{"_account_id":24952,"name":"Vivek Soni","email":"viveksoni31390@gmail.com","username":"sonivi"},"change_message_id":"270d800b9e3067668f3daa7d6503fdd842c223f0","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        if not all((hpe3parclient, client, hpeexceptions)):"},{"line_number":509,"context_line":"            msg \u003d _(\u0027HPE driver setup error: some required \u0027"},{"line_number":510,"context_line":"                    \u0027libraries (hpe3parclient, client.*) not found.\u0027)"},{"line_number":511,"context_line":"            LOG.exception(msg)"},{"line_number":512,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":513,"context_line":"        if self.client:"},{"line_number":514,"context_line":"            self.client_login()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_fe7a6e23","line":511,"range":{"start_line":511,"start_character":16,"end_line":511,"end_character":25},"in_reply_to":"3f79a3b5_bb2ba893","updated":"2018-08-28 19:10:06.000000000","message":"Done","commit_id":"7e52a064bf7c685c6bee6efc817796622bb14fbb"}]}
