)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33431,"name":"Fábio Oliveira","email":"fabioaurelio1269@gmail.com","username":"fabiooliveira1"},"change_message_id":"57c6cd5ee9ac6b6b5655e1457a4fab762c6b0924","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"27343197_581ef15d","updated":"2022-03-29 14:33:41.000000000","message":"Thank you, all for reviewing!\nThis new patch set is to fix the release note issues.","commit_id":"f17675d26b6754e4a687e0bf149c50026d12174d"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"f0b951f8f58e45b103ee3da362277bfc437bff4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"39273180_6a83c287","updated":"2022-09-29 09:31:22.000000000","message":"looks good","commit_id":"f17675d26b6754e4a687e0bf149c50026d12174d"}],"cinder/tests/unit/volume/drivers/solidfire/test_solidfire.py":[{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"725f5e7ed4faaa7fc4f2de71122da00e69a9ea51","unresolved":false,"context_lines":[{"line_number":430,"context_line":"    def fake_get_model_info(self, account, vid, endpoint\u003dNone):"},{"line_number":431,"context_line":"        return {\u0027fake\u0027: \u0027fake-model\u0027}"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def get_mod_conf(self,"},{"line_number":434,"context_line":"                     user\u003d\u0027admin\u0027,"},{"line_number":435,"context_line":"                     password\u003d\u0027admin\u0027,"},{"line_number":436,"context_line":"                     san_ip\u003d\u0027127.127.127.244\u0027):"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_d92ee8a3","line":433,"range":{"start_line":433,"start_character":12,"end_line":433,"end_character":15},"updated":"2020-05-28 16:23:58.000000000","message":"what does mod stand for? module?","commit_id":"737848037347305930dba6f941c64a14d7f4d5ad"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"725f5e7ed4faaa7fc4f2de71122da00e69a9ea51","unresolved":false,"context_lines":[{"line_number":448,"context_line":"            response \u003d requests.Response()"},{"line_number":449,"context_line":"            response.reason \u003d (\u0027401 Client Error: Unauthorized for \u0027"},{"line_number":450,"context_line":"                               \u0027url 10.1/json-rpc/1.0/\u0027)"},{"line_number":451,"context_line":"            response.status_code \u003d 401"},{"line_number":452,"context_line":"            response.raise_for_status()"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        def raise_http_not_found(method, params, endpoint\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_b4685987","line":451,"range":{"start_line":451,"start_character":35,"end_line":451,"end_character":38},"updated":"2020-05-28 16:23:58.000000000","message":"nit: requests.codes.unauthorized","commit_id":"737848037347305930dba6f941c64a14d7f4d5ad"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"725f5e7ed4faaa7fc4f2de71122da00e69a9ea51","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            response \u003d requests.Response()"},{"line_number":456,"context_line":"            response.reason \u003d (\u0027404 Not Found  The requested URL was \u0027"},{"line_number":457,"context_line":"                               \u0027not found on this server\u0027)"},{"line_number":458,"context_line":"            response.status_code \u003d 404"},{"line_number":459,"context_line":"            response.raise_for_status()"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        def raise_conn_error(method, params, endpoint\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_3412890a","line":458,"range":{"start_line":458,"start_character":35,"end_line":458,"end_character":38},"updated":"2020-05-28 16:23:58.000000000","message":"ni: requests.codes.not_found","commit_id":"737848037347305930dba6f941c64a14d7f4d5ad"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"425c6e8bdaacdcee384a05d14655f91937893e5b","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                      \"problem with endpoint access.  Verify your settings \""},{"line_number":533,"context_line":"                      \"in Cinder.conf.\")"},{"line_number":534,"context_line":"            LOG.error(\"Message response was: %s\", req.reason)"},{"line_number":535,"context_line":"            raise ex"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":538,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_d0129e58","line":535,"range":{"start_line":535,"start_character":18,"end_line":535,"end_character":20},"updated":"2018-05-02 10:13:47.000000000","message":"This should just be \"raise\", not \"raise ex\".","commit_id":"5ec7655175da1d84fa9b324a37c58dbc038b1bf3"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b53bf18746b9cb9121f9bd6385519c94ac6c83ca","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                      \"problem with endpoint access.  Verify your settings \""},{"line_number":533,"context_line":"                      \"in Cinder.conf.\")"},{"line_number":534,"context_line":"            LOG.error(\"Message response was: %s\", req.reason)"},{"line_number":535,"context_line":"            raise ex"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":538,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_673afa98","line":535,"range":{"start_line":535,"start_character":18,"end_line":535,"end_character":20},"in_reply_to":"9f6a8fd7_d0129e58","updated":"2018-05-22 21:20:13.000000000","message":"Done","commit_id":"5ec7655175da1d84fa9b324a37c58dbc038b1bf3"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1bd4b06356153b6b5da229cf894ac13327492c85","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        except JSONDecodeError as ex:"},{"line_number":529,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":530,"context_line":"                      \"response.\")"},{"line_number":531,"context_line":"            LOG.error(\"If this is during init it\u0027s mostly commonly a \""},{"line_number":532,"context_line":"                      \"problem with endpoint access.  Verify your settings \""},{"line_number":533,"context_line":"                      \"in Cinder.conf.\")"},{"line_number":534,"context_line":"            LOG.error(\"Message response was: %s\", req.reason)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_1703f212","line":531,"range":{"start_line":531,"start_character":51,"end_line":531,"end_character":57},"updated":"2018-12-06 19:47:18.000000000","message":"most","commit_id":"10fb3c3217e330605225ea9788639b5d896258ab"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1bd4b06356153b6b5da229cf894ac13327492c85","unresolved":false,"context_lines":[{"line_number":531,"context_line":"            LOG.error(\"If this is during init it\u0027s mostly commonly a \""},{"line_number":532,"context_line":"                      \"problem with endpoint access.  Verify your settings \""},{"line_number":533,"context_line":"                      \"in Cinder.conf.\")"},{"line_number":534,"context_line":"            LOG.error(\"Message response was: %s\", req.reason)"},{"line_number":535,"context_line":"            raise "},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        if ((\u0027error\u0027 in response) and"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_a2fc3e0b","line":534,"range":{"start_line":534,"start_character":12,"end_line":534,"end_character":21},"updated":"2018-12-06 19:47:18.000000000","message":"These could probably be collapsed to use one LOG statement.","commit_id":"10fb3c3217e330605225ea9788639b5d896258ab"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"80a05ac1cc0aec5c9f1f3efd58e498be941909a7","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                      \"problem with endpoint access.  Verify your settings \""},{"line_number":533,"context_line":"                      \"in Cinder.conf.\")"},{"line_number":534,"context_line":"            LOG.error(\"Message response was: %s\", req.reason)"},{"line_number":535,"context_line":"            raise "},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":538,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_fdbb090d","line":535,"range":{"start_line":535,"start_character":17,"end_line":535,"end_character":18},"updated":"2018-10-09 12:47:34.000000000","message":"trailling.","commit_id":"10fb3c3217e330605225ea9788639b5d896258ab"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"c128f6f8646276549d21cf9d7916f331cd4cd258","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                                            configuration\u003dself.configuration)"},{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except ConnectionError as e:"},{"line_number":300,"context_line":"            LOG.error(\u0027Failed to connect to cluster check config file \u0027"},{"line_number":301,"context_line":"                      \u0027for san_ip and credentials. {}\u0027.format(e))"},{"line_number":302,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_cfd1cc31","line":299,"range":{"start_line":299,"start_character":15,"end_line":299,"end_character":30},"updated":"2019-06-18 19:58:13.000000000","message":"You should wrap this try catch around requests.post(). Also, if you have a timeout, or the network is unreachable I think you should also receive a ConnectionError. We should handle them in a different way.","commit_id":"2ce928fea4d332aca49e4da106b931f070eae9ce"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                                            configuration\u003dself.configuration)"},{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except ConnectionError as e:"},{"line_number":300,"context_line":"            LOG.error(\u0027Failed to connect to cluster check config file \u0027"},{"line_number":301,"context_line":"                      \u0027for san_ip and credentials. {}\u0027.format(e))"},{"line_number":302,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_cf778c08","line":299,"range":{"start_line":299,"start_character":15,"end_line":299,"end_character":30},"in_reply_to":"9fb8cfa7_cfd1cc31","updated":"2019-07-22 12:27:03.000000000","message":"_create_cluster_reference calls api-request with getclusterInfo,  that runs through the retry code 5 times before failing, then the ConnectionError bubbles up.  I don\u0027t know how one would differentiate, between a Network error and incorrect credentials if they both though the same error.  As bad credentials covers both the ip, username and password.  I\u0027ll play around a bit more and see if I can come up with something that will differentiate between the multiple reasons for failure.\n\nDuring initialization I found the following:\nConnectionError comes back when we have an address that doesn\u0027t respond\n\nSolidFireAPIException comes back when one hits a SolidFire node\u0027s 10gig nic that is not the svip in a cluster \n\nJSONDecodeError comes back when  the Credentials are bad","commit_id":"2ce928fea4d332aca49e4da106b931f070eae9ce"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"c128f6f8646276549d21cf9d7916f331cd4cd258","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            response \u003d req.json()"},{"line_number":573,"context_line":"        except JSONDecodeError as ex:"},{"line_number":574,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":575,"context_line":"                      \"response. Are the credentials and this url {} correct,\""},{"line_number":576,"context_line":"                      \" response {}\".format(endpoint[\u0027url\u0027], req.reason))"},{"line_number":577,"context_line":"            raise"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if ((\u0027error\u0027 in response) and"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_4f207c4a","line":576,"range":{"start_line":575,"start_character":33,"end_line":576,"end_character":35},"updated":"2019-06-18 19:58:13.000000000","message":"This JSONDecodeError can happens in several other situations. If the authourization fail, it should fain on the request.post() call.","commit_id":"2ce928fea4d332aca49e4da106b931f070eae9ce"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            response \u003d req.json()"},{"line_number":573,"context_line":"        except JSONDecodeError as ex:"},{"line_number":574,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":575,"context_line":"                      \"response. Are the credentials and this url {} correct,\""},{"line_number":576,"context_line":"                      \" response {}\".format(endpoint[\u0027url\u0027], req.reason))"},{"line_number":577,"context_line":"            raise"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if ((\u0027error\u0027 in response) and"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_af5fb870","line":576,"range":{"start_line":575,"start_character":33,"end_line":576,"end_character":35},"in_reply_to":"9fb8cfa7_4f207c4a","updated":"2019-07-22 12:27:03.000000000","message":"Yes,  I haven\u0027t been able to fire this error during perturbation testing.  Since the earlier try except catches some of the errors.  Since this is directly connected to the previous comment on differentiation, I\u0027ll do a bit more testing\n\nJSONDecodeError is caught and thrown only when the API calls to the SolidFire cluster comeback with misformed json.  I theory this is only when the credentials do not match, otherwise, the json is correct.  \n\nI\u0027ll try running through a set of cinder commands to see if this will fire under other conditions.","commit_id":"2ce928fea4d332aca49e4da106b931f070eae9ce"},{"author":{"_account_id":30127,"name":"John Hou","email":"houj@awcloud.com","username":"houj"},"change_message_id":"79af3f84fa0d470552e67e7344a7633e2ae9e48e","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                                auth\u003d(endpoint[\u0027login\u0027], endpoint[\u0027passwd\u0027]),"},{"line_number":569,"context_line":"                                verify\u003dself.verify_ssl,"},{"line_number":570,"context_line":"                                timeout\u003d30)"},{"line_number":571,"context_line":"        try:"},{"line_number":572,"context_line":"            response \u003d req.json()"},{"line_number":573,"context_line":"        except JSONDecodeError as ex:"},{"line_number":574,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":575,"context_line":"                      \"response. Are the credentials and this url {} correct,\""},{"line_number":576,"context_line":"                      \" response {}\".format(endpoint[\u0027url\u0027], req.reason))"},{"line_number":577,"context_line":"            raise"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":580,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_d62f21a5","line":577,"range":{"start_line":571,"start_character":1,"end_line":577,"end_character":17},"updated":"2019-06-19 03:44:05.000000000","message":"Should be req.close() here to avoid \"too many open files\"?","commit_id":"442f4b2bb321db83fe8396ccf95f7c4e3e847036"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                                auth\u003d(endpoint[\u0027login\u0027], endpoint[\u0027passwd\u0027]),"},{"line_number":569,"context_line":"                                verify\u003dself.verify_ssl,"},{"line_number":570,"context_line":"                                timeout\u003d30)"},{"line_number":571,"context_line":"        try:"},{"line_number":572,"context_line":"            response \u003d req.json()"},{"line_number":573,"context_line":"        except JSONDecodeError as ex:"},{"line_number":574,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":575,"context_line":"                      \"response. Are the credentials and this url {} correct,\""},{"line_number":576,"context_line":"                      \" response {}\".format(endpoint[\u0027url\u0027], req.reason))"},{"line_number":577,"context_line":"            raise"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":580,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_a2d7544b","line":577,"range":{"start_line":571,"start_character":1,"end_line":577,"end_character":17},"in_reply_to":"9fb8cfa7_12c61718","updated":"2019-07-22 12:27:03.000000000","message":"I set a breakpoint on the close and then stepped into the close method below are the comments that mention not calling close explicitly\n \t        \"\"\"Releases the connection back to the pool. Once this method has been\n939  \t        called the underlying ``raw`` object must not be accessed again.\n940\n941  \t        *Note: Should not normally need to be called explicitly.*","commit_id":"442f4b2bb321db83fe8396ccf95f7c4e3e847036"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                                auth\u003d(endpoint[\u0027login\u0027], endpoint[\u0027passwd\u0027]),"},{"line_number":569,"context_line":"                                verify\u003dself.verify_ssl,"},{"line_number":570,"context_line":"                                timeout\u003d30)"},{"line_number":571,"context_line":"        try:"},{"line_number":572,"context_line":"            response \u003d req.json()"},{"line_number":573,"context_line":"        except JSONDecodeError as ex:"},{"line_number":574,"context_line":"            LOG.error(\"Error encountered parsing json response in request \""},{"line_number":575,"context_line":"                      \"response. Are the credentials and this url {} correct,\""},{"line_number":576,"context_line":"                      \" response {}\".format(endpoint[\u0027url\u0027], req.reason))"},{"line_number":577,"context_line":"            raise"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if ((\u0027error\u0027 in response) and"},{"line_number":580,"context_line":"                (response[\u0027error\u0027][\u0027name\u0027] in self.retryable_errors)):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_12c61718","line":577,"range":{"start_line":571,"start_character":1,"end_line":577,"end_character":17},"in_reply_to":"9fb8cfa7_d62f21a5","updated":"2019-06-25 19:39:39.000000000","message":"I don\u0027t think the call req.json() would rely on the caller calling a closer(). In other words, they are the one that should call a close if they open anything.","commit_id":"442f4b2bb321db83fe8396ccf95f7c4e3e847036"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":45,"context_line":"from cinder.volume import utils as vol_utils"},{"line_number":46,"context_line":"from cinder.volume import volume_types"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# Need to set our Decode exception based on whether we\u0027re"},{"line_number":49,"context_line":"# running Python 3 or Python 2.x, just use Python 3\u0027s"},{"line_number":50,"context_line":"# JSONDecodeError as our variable and set appropriately here"},{"line_number":51,"context_line":"try:"},{"line_number":52,"context_line":"    from json.decoder import JSONDecodeError"},{"line_number":53,"context_line":"except ImportError:"},{"line_number":54,"context_line":"    JSONDecodeError \u003d ValueError"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_de426f68","line":54,"range":{"start_line":48,"start_character":0,"end_line":54,"end_character":32},"updated":"2019-06-25 19:39:39.000000000","message":"We won\u0027t need this anymore.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":45,"context_line":"from cinder.volume import utils as vol_utils"},{"line_number":46,"context_line":"from cinder.volume import volume_types"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# Need to set our Decode exception based on whether we\u0027re"},{"line_number":49,"context_line":"# running Python 3 or Python 2.x, just use Python 3\u0027s"},{"line_number":50,"context_line":"# JSONDecodeError as our variable and set appropriately here"},{"line_number":51,"context_line":"try:"},{"line_number":52,"context_line":"    from json.decoder import JSONDecodeError"},{"line_number":53,"context_line":"except ImportError:"},{"line_number":54,"context_line":"    JSONDecodeError \u003d ValueError"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_eddf7d63","line":54,"range":{"start_line":48,"start_character":0,"end_line":54,"end_character":32},"in_reply_to":"9fb8cfa7_de426f68","updated":"2019-07-22 12:27:03.000000000","message":"removed","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_fe473376","line":300,"range":{"start_line":300,"start_character":61,"end_line":300,"end_character":67},"updated":"2019-06-25 19:39:39.000000000","message":"Cinder","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_9e607703","line":300,"range":{"start_line":300,"start_character":69,"end_line":300,"end_character":70},"updated":"2019-06-25 19:39:39.000000000","message":"Use () instead","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_edb8dd11","line":300,"range":{"start_line":300,"start_character":61,"end_line":300,"end_character":67},"in_reply_to":"9fb8cfa7_fe473376","updated":"2019-07-22 12:27:03.000000000","message":"changes implemented","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_9e25d7c4","line":301,"range":{"start_line":301,"start_character":39,"end_line":301,"end_character":44},"updated":"2019-06-25 19:39:39.000000000","message":"Check","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_fe3c13e2","line":301,"range":{"start_line":301,"start_character":24,"end_line":301,"end_character":38},"updated":"2019-06-25 19:39:39.000000000","message":"initialization.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":299,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_0dc6919b","line":301,"range":{"start_line":301,"start_character":24,"end_line":301,"end_character":38},"in_reply_to":"9fb8cfa7_fe3c13e2","updated":"2019-07-22 12:27:03.000000000","message":"changes implemented","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_5e2bdf93","line":303,"range":{"start_line":303,"start_character":52,"end_line":303,"end_character":62},"updated":"2019-06-25 19:39:39.000000000","message":"credentials.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on cinder \u0027\\"},{"line_number":301,"context_line":"                \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_4d3d698c","line":303,"range":{"start_line":303,"start_character":52,"end_line":303,"end_character":62},"in_reply_to":"9fb8cfa7_5e2bdf93","updated":"2019-07-22 12:27:03.000000000","message":"added period","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"},{"line_number":307,"context_line":"                LOG.error(msg + \u0027correct san_ip, it should be the mvip\u0027)"},{"line_number":308,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_7e282396","line":305,"range":{"start_line":305,"start_character":67,"end_line":305,"end_character":69},"updated":"2019-06-25 19:39:39.000000000","message":"up.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":303,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials\u0027)"},{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"},{"line_number":307,"context_line":"                LOG.error(msg + \u0027correct san_ip, it should be the mvip\u0027)"},{"line_number":308,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_cd5079d8","line":305,"range":{"start_line":305,"start_character":67,"end_line":305,"end_character":69},"in_reply_to":"9fb8cfa7_7e282396","updated":"2019-07-22 12:27:03.000000000","message":"added period","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"},{"line_number":307,"context_line":"                LOG.error(msg + \u0027correct san_ip, it should be the mvip\u0027)"},{"line_number":308,"context_line":"            else:"},{"line_number":309,"context_line":"                LOG.error(msg + \u0027 correct credentials and san_ip\u0027)"},{"line_number":310,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_1e1b2781","line":307,"range":{"start_line":307,"start_character":66,"end_line":307,"end_character":70},"updated":"2019-06-25 19:39:39.000000000","message":"mvip.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"},{"line_number":305,"context_line":"                LOG.error(msg + \u0027san_ip is the mvip and Cluster is up\u0027)"},{"line_number":306,"context_line":"            elif herr.response.status_code \u003d\u003d 502:"},{"line_number":307,"context_line":"                LOG.error(msg + \u0027correct san_ip, it should be the mvip\u0027)"},{"line_number":308,"context_line":"            else:"},{"line_number":309,"context_line":"                LOG.error(msg + \u0027 correct credentials and san_ip\u0027)"},{"line_number":310,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_2d48352b","line":307,"range":{"start_line":307,"start_character":66,"end_line":307,"end_character":70},"in_reply_to":"9fb8cfa7_1e1b2781","updated":"2019-07-22 12:27:03.000000000","message":"added period","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            raise"},{"line_number":311,"context_line":"        except (requests.exceptions.ConnectionError,"},{"line_number":312,"context_line":"                SolidFireAPIException) as e:"},{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_7e010306","line":313,"range":{"start_line":313,"start_character":65,"end_line":313,"end_character":71},"updated":"2019-06-25 19:39:39.000000000","message":"Cinder","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            raise"},{"line_number":311,"context_line":"        except (requests.exceptions.ConnectionError,"},{"line_number":312,"context_line":"                SolidFireAPIException) as e:"},{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_8d6041a7","line":313,"range":{"start_line":313,"start_character":65,"end_line":313,"end_character":71},"in_reply_to":"9fb8cfa7_7e010306","updated":"2019-07-22 12:27:03.000000000","message":"changed","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                SolidFireAPIException) as e:"},{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"},{"line_number":317,"context_line":"            raise"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_5200b301","line":315,"range":{"start_line":315,"start_character":23,"end_line":315,"end_character":24},"updated":"2019-06-25 19:39:39.000000000","message":"extra space","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                SolidFireAPIException) as e:"},{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"},{"line_number":317,"context_line":"            raise"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_ad6505b7","line":315,"range":{"start_line":315,"start_character":23,"end_line":315,"end_character":24},"in_reply_to":"9fb8cfa7_5200b301","updated":"2019-07-22 12:27:03.000000000","message":"space removed","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"cd8b3d6daa7cf57bd6648101f5eaae3ad204de85","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"},{"line_number":317,"context_line":"            raise"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        self.active_cluster \u003d self.default_cluster"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_7205b710","line":316,"range":{"start_line":316,"start_character":44,"end_line":316,"end_character":50},"updated":"2019-06-25 19:39:39.000000000","message":"status.","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"91acbaed6a1c87a5167a245d5a1451a42ce98726","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on cinder \u0027"},{"line_number":314,"context_line":"                      \u0027driver initialization check cinder.conf for the \u0027"},{"line_number":315,"context_line":"                      \u0027 correct san_ip network address,\u0027"},{"line_number":316,"context_line":"                      \u0027or SolidFire Cluster status\u0027)"},{"line_number":317,"context_line":"            raise"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        self.active_cluster \u003d self.default_cluster"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_4d56c9d0","line":316,"range":{"start_line":316,"start_character":44,"end_line":316,"end_character":50},"in_reply_to":"9fb8cfa7_7205b710","updated":"2019-07-22 12:27:03.000000000","message":"period added","commit_id":"f9bcdc39af07811951022f6288c9ab4217254a0d"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"c713d369a302a5af8359570fdb79983ab99298ed","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        try:"},{"line_number":290,"context_line":"            self.default_cluster \u003d self._create_cluster_reference()"},{"line_number":291,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":292,"context_line":"            msg \u003d \u0027Failed to connect to SolidFire cluster on ()\u0027\\"},{"line_number":293,"context_line":"                \u0027driver initialization. Check cinder.conf for the \u0027"},{"line_number":294,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":295,"context_line":"                LOG.error(msg + \u0027correct SolidFire credentials.\u0027)"},{"line_number":296,"context_line":"            elif herr.response.status_code \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_02c3a958","line":293,"range":{"start_line":292,"start_character":12,"end_line":293,"end_character":67},"updated":"2019-06-27 12:04:01.000000000","message":"msg \u003d _(\u0027Failed to connect to SolidFire cluster on \u0027\n        \u0027driver initialization. Check cinder.conf for the \u0027)","commit_id":"355078c995c531d934bd525db09f52f0c4cb4d97"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"725f5e7ed4faaa7fc4f2de71122da00e69a9ea51","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        except requests.exceptions.HTTPError as herr:"},{"line_number":314,"context_line":"            msg \u003d (\u0027Failed to connect to SolidFire cluster on \u0027"},{"line_number":315,"context_line":"                   \u0027driver initialization. \u0027)"},{"line_number":316,"context_line":"            if herr.response.status_code \u003d\u003d 401:"},{"line_number":317,"context_line":"                LOG.error(msg + \u0027Check cinder.conf for the correct \u0027"},{"line_number":318,"context_line":"                                \u0027SolidFire credentials.\u0027)"},{"line_number":319,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_796ebc96","line":316,"range":{"start_line":316,"start_character":44,"end_line":316,"end_character":47},"updated":"2020-05-28 16:23:58.000000000","message":"nit: requests.codes.ok\nhttps://requests.readthedocs.io/en/master/user/quickstart/#response-status-codes","commit_id":"737848037347305930dba6f941c64a14d7f4d5ad"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"2546581aff45c2c3e91f3ff5fd350eee6aad4941","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                LOG.error(msg + \u0027Check cinder.conf for the correct san_ip \u0027"},{"line_number":321,"context_line":"                                \u0027network address, or SolidFire Cluster \u0027"},{"line_number":322,"context_line":"                                \u0027status.\u0027)"},{"line_number":323,"context_line":"            raise"},{"line_number":324,"context_line":"        except (requests.exceptions.ConnectionError, SolidFireAPIException):"},{"line_number":325,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on driver \u0027"},{"line_number":326,"context_line":"                      \u0027initialization. Check cinder.conf for the correct \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff570b3c_3206d987","line":323,"range":{"start_line":323,"start_character":12,"end_line":323,"end_character":17},"updated":"2020-06-02 17:03:38.000000000","message":"IMO, we should raise SolidFireDriverException here","commit_id":"0dfd61b1bc171d0f80c0faf4728849366dd11126"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"f3f56fac0a94583b0b42e582bdd43653c602d951","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                LOG.error(msg + \u0027Check cinder.conf for the correct san_ip \u0027"},{"line_number":321,"context_line":"                                \u0027network address, or SolidFire Cluster \u0027"},{"line_number":322,"context_line":"                                \u0027status.\u0027)"},{"line_number":323,"context_line":"            raise"},{"line_number":324,"context_line":"        except (requests.exceptions.ConnectionError, SolidFireAPIException):"},{"line_number":325,"context_line":"            LOG.error(\u0027Failed to connect to SolidFire cluster on driver \u0027"},{"line_number":326,"context_line":"                      \u0027initialization. Check cinder.conf for the correct \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"ec58911c_2d1fee62","line":323,"range":{"start_line":323,"start_character":12,"end_line":323,"end_character":17},"in_reply_to":"ff570b3c_3206d987","updated":"2021-01-12 03:59:56.000000000","message":"done","commit_id":"0dfd61b1bc171d0f80c0faf4728849366dd11126"}],"releasenotes/notes/better-solidfire-hints-ee79a2bdc24640dd.yaml":[{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"725f5e7ed4faaa7fc4f2de71122da00e69a9ea51","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    SolidFire give hints when credentials are incorrect during driver"},{"line_number":4,"context_line":"    initialization."},{"line_number":5,"context_line":"fixes:"},{"line_number":6,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ff570b3c_5e22be02","line":3,"updated":"2020-05-28 16:23:58.000000000","message":"I\u0027m not sure if this requires an item in prelude section. Usually we see vendor-agnostic announcements [0].\n\n[0] https://docs.openstack.org/releasenotes/cinder/ussuri.html#prelude","commit_id":"737848037347305930dba6f941c64a14d7f4d5ad"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fc93d2908735f9b03b8d1a762f44e1e3f8f30dcf","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SolidFire give hints when credentials are incorrect during driver"},{"line_number":5,"context_line":"    initialization. Fix `bug #1764446 \u003chttps://bugs.launchpad.net/cinder/+bug/1764446\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3abcc9b8_3a7cd089","line":4,"updated":"2021-06-24 14:27:14.000000000","message":"Would be good to follow up on this to change the suggested format of \"Bug link: description\"","commit_id":"0af3b1fc84f2e31967dc897ce667e41a88220ede"},{"author":{"_account_id":33431,"name":"Fábio Oliveira","email":"fabioaurelio1269@gmail.com","username":"fabiooliveira1"},"change_message_id":"57c6cd5ee9ac6b6b5655e1457a4fab762c6b0924","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SolidFire give hints when credentials are incorrect during driver"},{"line_number":5,"context_line":"    initialization. Fix `bug #1764446 \u003chttps://bugs.launchpad.net/cinder/+bug/1764446\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"b23fa0e2_16c66481","line":4,"in_reply_to":"3abcc9b8_3a7cd089","updated":"2022-03-29 14:33:41.000000000","message":"Added a new PS with this fix and also changed the release note name to a better one.","commit_id":"0af3b1fc84f2e31967dc897ce667e41a88220ede"}]}
