)]}'
{"glanceclient/tests/unit/test_ssl.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"fc4b1828dc340686892b82e23c19c91842afef93","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027No such file\u0027 not in str(e) or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027No such file\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":238,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_64a458b9","line":235,"updated":"2016-01-06 14:02:09.000000000","message":"mmh, shouldn\u0027t this raise an `OSError` somewhere? I think we should catch that instead of matching on error messages.","commit_id":"744dd5ae13c7c09f08fd08cd89519c56ab0d5fdd"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"cf9bee9f0c0c9a54e9836f0a5660101ef9695c77","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027No such file\u0027 not in str(e) or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027No such file\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":238,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_7eb58b2f","line":235,"in_reply_to":"fa69d971_64a458b9","updated":"2016-01-07 16:37:44.000000000","message":"It raises  IOError(2, \u0027No such file or directory\u0027) exception\n\nMy comment here https://bugs.launchpad.net/python-glanceclient/+bug/1499355 specifies which exceptions are received.\n\nBut I think it should be a CommunicationError() exception at all. Guess that that what should be fixed instead. What do you say?\nThanks!","commit_id":"744dd5ae13c7c09f08fd08cd89519c56ab0d5fdd"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"680217274a97132179ab9bfcb64fb0d0f1b813e3","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                        cacert\u003dcacert)"},{"line_number":207,"context_line":"            gc.images.get(\u0027image123\u0027)"},{"line_number":208,"context_line":"        except exc.CommunicationError as e:"},{"line_number":209,"context_line":"            if (\u0027PEM lib\u0027 not in e.message):"},{"line_number":210,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":211,"context_line":"        except Exception as e:"},{"line_number":212,"context_line":"            self.fail(\u0027Unexpected exception has been raised\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_ac82aec6","line":209,"updated":"2016-01-08 13:16:24.000000000","message":"if adding the badcert file fixes the issue, why do we need these changes?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"9cf28855204bd26fd5905d41bee0f8b4927c9975","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                        cacert\u003dcacert)"},{"line_number":207,"context_line":"            gc.images.get(\u0027image123\u0027)"},{"line_number":208,"context_line":"        except exc.CommunicationError as e:"},{"line_number":209,"context_line":"            if (\u0027PEM lib\u0027 not in e.message):"},{"line_number":210,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":211,"context_line":"        except Exception as e:"},{"line_number":212,"context_line":"            self.fail(\u0027Unexpected exception has been raised\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_3a32465f","line":209,"in_reply_to":"fa69d971_ac82aec6","updated":"2016-01-10 00:00:15.000000000","message":"For all there 3 failing tests, just adding badcert.ctr file without any other change results in \"AssertionError: No appropriate failure message is received\" (for python greater then 2.7.8). So we still need to adapt the messages we expect to receive to the new stile and to support old style messages for older python versions (e.g. for 2.7.5). In this test case changing from \u0027Private Key\u0027 to \u0027PEM Lib\u0027 works for py 2.7.5 and greater (including 3.X). But for the remaining 2 tests there is no common string that works in all cased. \n\nI have posted the messages of the CommunicationError exception in my comment to the bug that this patch solves. \n\nThank you","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"3945e04273d8f9a79057ac080289eebd8c41a369","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            gc.images.get(\u0027image123\u0027)"},{"line_number":229,"context_line":"        except exc.CommunicationError as e:"},{"line_number":230,"context_line":"            # NOTE(dsariel)"},{"line_number":231,"context_line":"            # strating from python 2.7.8 the way to handle loading private"},{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_0269f3f8","line":231,"range":{"start_line":231,"start_character":14,"end_line":231,"end_character":22},"updated":"2016-01-11 15:48:22.000000000","message":"starting","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"b86c5323a24107c87dc831d94cdfba2b6f8cc6fa","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            gc.images.get(\u0027image123\u0027)"},{"line_number":229,"context_line":"        except exc.CommunicationError as e:"},{"line_number":230,"context_line":"            # NOTE(dsariel)"},{"line_number":231,"context_line":"            # strating from python 2.7.8 the way to handle loading private"},{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_490e0b8d","line":231,"range":{"start_line":231,"start_character":14,"end_line":231,"end_character":22},"in_reply_to":"fa69d971_0269f3f8","updated":"2016-01-15 09:39:46.000000000","message":"Done","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"3945e04273d8f9a79057ac080289eebd8c41a369","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            # strating from python 2.7.8 the way to handle loading private"},{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_8a7e59ad","line":234,"range":{"start_line":234,"start_character":29,"end_line":234,"end_character":39},"updated":"2016-01-11 15:48:22.000000000","message":"Could we rely on error code(Errno 336265218) instead of string here?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"fba9d80a1b1d553ae8ba08be1635444e682c8917","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            # strating from python 2.7.8 the way to handle loading private"},{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_e0526866","line":234,"range":{"start_line":234,"start_character":29,"end_line":234,"end_character":39},"in_reply_to":"da6ed579_e470460d","updated":"2016-01-15 10:51:02.000000000","message":"Yep, sounds good. Agree that relying on error message is not a good idea. Are you going to fix it by yourself? Otherwise, it is better to add some TODO here. So contributors can proceed your word. WDYT?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"b86c5323a24107c87dc831d94cdfba2b6f8cc6fa","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            # strating from python 2.7.8 the way to handle loading private"},{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_e470460d","line":234,"range":{"start_line":234,"start_character":29,"end_line":234,"end_character":39},"in_reply_to":"fa69d971_8a7e59ad","updated":"2016-01-15 09:39:46.000000000","message":"AFAIK, only EnvironmentError object carries errno field. \nDo you suggest to add errno field to the CommunicationError?\n\nOverall, I don\u0027t like the way that glance client handles python lib errors. Seems that we need to propose something in OOD way. But doing it in a proper way means greater changes. So seems that we have to take it step by step:  by fixing the immediate problem first and to suggest a change that treats system errors in a OO way. Does it sounds ok? \nThanks!","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"3945e04273d8f9a79057ac080289eebd8c41a369","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":238,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_ca40d1a7","line":235,"range":{"start_line":235,"start_character":25,"end_line":235,"end_character":28},"updated":"2016-01-11 15:48:22.000000000","message":"I tried this and got the following for py34:\n\"Error finding address for https://0.0.0.0:44660/v2/images/image123: (\u0027Connection aborted.\u0027, FileNotFoundError(2, \u0027No such file or directory\u0027))\"\nDo we need to look for PEM lib here?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"fba9d80a1b1d553ae8ba08be1635444e682c8917","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":238,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_8005ac14","line":235,"range":{"start_line":235,"start_character":25,"end_line":235,"end_character":28},"in_reply_to":"da6ed579_04da3ae8","updated":"2016-01-15 10:51:02.000000000","message":"Yep, you are right thanks.","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"b86c5323a24107c87dc831d94cdfba2b6f8cc6fa","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            # keys into the SSL_CTX was changed and error message become"},{"line_number":233,"context_line":"            # similar to the one in 3.X"},{"line_number":234,"context_line":"            if (six.PY2 and \u0027PrivateKey\u0027 not in e.message and"},{"line_number":235,"context_line":"                    \u0027PEM lib\u0027 not in e.message or"},{"line_number":236,"context_line":"                    six.PY3 and \u0027PEM lib\u0027 not in e.message):"},{"line_number":237,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"},{"line_number":238,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_04da3ae8","line":235,"range":{"start_line":235,"start_character":25,"end_line":235,"end_character":28},"in_reply_to":"fa69d971_ca40d1a7","updated":"2016-01-15 09:39:46.000000000","message":"Seems that you have to add the bedcert.crt.","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"3945e04273d8f9a79057ac080289eebd8c41a369","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            # strating from python 2.7.8 the way of handling x509 certificates"},{"line_number":257,"context_line":"            # was changed (github.com/python/peps/blob/master/pep-0476.txt#L28)"},{"line_number":258,"context_line":"            # and error message become similar to the one in 3.X"},{"line_number":259,"context_line":"            if (six.PY2 and \u0027certificate\u0027 not in e.message and"},{"line_number":260,"context_line":"                    \u0027No such file\u0027 not in e.message or"},{"line_number":261,"context_line":"                    six.PY3 and \u0027No such file\u0027 not in e.message):"},{"line_number":262,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_aaf6bd5a","line":259,"range":{"start_line":259,"start_character":29,"end_line":259,"end_character":40},"updated":"2016-01-11 15:48:22.000000000","message":"Could we rely on error code instead of string for PY2?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"fba9d80a1b1d553ae8ba08be1635444e682c8917","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            # strating from python 2.7.8 the way of handling x509 certificates"},{"line_number":257,"context_line":"            # was changed (github.com/python/peps/blob/master/pep-0476.txt#L28)"},{"line_number":258,"context_line":"            # and error message become similar to the one in 3.X"},{"line_number":259,"context_line":"            if (six.PY2 and \u0027certificate\u0027 not in e.message and"},{"line_number":260,"context_line":"                    \u0027No such file\u0027 not in e.message or"},{"line_number":261,"context_line":"                    six.PY3 and \u0027No such file\u0027 not in e.message):"},{"line_number":262,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_601e7871","line":259,"range":{"start_line":259,"start_character":29,"end_line":259,"end_character":40},"in_reply_to":"da6ed579_e714c3e9","updated":"2016-01-15 10:51:02.000000000","message":"Nope, it is the same as above. I noticed that the error message has error code in the error message. So I proposed this to prevent failures.","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"},{"author":{"_account_id":18142,"name":"David Sariel","email":"dsariel@redhat.com","username":"dsariel"},"change_message_id":"601f2384471aee7147f3690bee346607ce9d4482","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            # strating from python 2.7.8 the way of handling x509 certificates"},{"line_number":257,"context_line":"            # was changed (github.com/python/peps/blob/master/pep-0476.txt#L28)"},{"line_number":258,"context_line":"            # and error message become similar to the one in 3.X"},{"line_number":259,"context_line":"            if (six.PY2 and \u0027certificate\u0027 not in e.message and"},{"line_number":260,"context_line":"                    \u0027No such file\u0027 not in e.message or"},{"line_number":261,"context_line":"                    six.PY3 and \u0027No such file\u0027 not in e.message):"},{"line_number":262,"context_line":"                self.fail(\u0027No appropriate failure message is received\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_e714c3e9","line":259,"range":{"start_line":259,"start_character":29,"end_line":259,"end_character":40},"in_reply_to":"fa69d971_aaf6bd5a","updated":"2016-01-15 09:41:26.000000000","message":"Same as above:\nAFAIK, only EnvironmentError object carries errno field. Do you suggest to add errno field to the CommunicationError?","commit_id":"9ac008192bc5db4360a928ae7938ea391e0725c9"}]}
