)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"691a7422e52dc13da7ca5350ad872e98518f4807","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Fix:  base64.encodestring() which no longer exists in Python 3.9"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1935989"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I599274ab8948190fb026035bf405afe937676896"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"a9586068_dcfa5839","line":10,"updated":"2022-07-19 09:55:54.000000000","message":"nit: Remove empty line here","commit_id":"2ce04184cf62ad7ead4b387b33e4b9503510f6cb"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f94b613dacda7051bd528342f9d795b6790cd5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"456fd505_f62499bf","updated":"2022-07-17 16:45:36.000000000","message":"I think it would be worth using oslo.serialization for this, because the oslo interface will remain constant even if the openstack-supported pythons change.  Here\u0027s the oslo docs:\n  https://docs.openstack.org/oslo.serialization/latest/reference/index.html#module-oslo_serialization.base64\n  \nand see cinder/objects/backup.py for an example of doing this in the cinder code.\n","commit_id":"426db9488ee003516b40c4b02f19a664fb7f3e1b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"691a7422e52dc13da7ca5350ad872e98518f4807","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"40b67203_299a811b","updated":"2022-07-19 09:55:54.000000000","message":"Thank you for working on this bug.\n\nBesides the comments added inline I would like to point out that:\n\n- Patch is missing release note (https://docs.openstack.org/cinder/latest/contributor/releasenotes.html)\n- Patch is missing unit test\n- I don\u0027t see the CI job running","commit_id":"2ce04184cf62ad7ead4b387b33e4b9503510f6cb"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1d8da8907412b64293d9433428825d7e050225ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"94b698d8_ec7b5ad2","updated":"2023-05-02 16:31:37.000000000","message":"This seems to be obsoleted by\n    https://review.opendev.org/c/openstack/cinder/+/853941","commit_id":"2ce04184cf62ad7ead4b387b33e4b9503510f6cb"}],"cinder/volume/drivers/prophetstor/dplcommon.py":[{"author":{"_account_id":33543,"name":"liuhuajie","email":"liu.huajie@99cloud.net","username":"liuhuajie"},"change_message_id":"b1aebd6e92fb1b7543a750217b981b6d2f5c0ff1","unresolved":true,"context_lines":[{"line_number":86,"context_line":"                  \u0027Accept\u0027: \u0027application/cdmi-container\u0027,"},{"line_number":87,"context_line":"                  \u0027x-cdmi-specification-version\u0027: \u00271.0.2\u0027}"},{"line_number":88,"context_line":"        # base64 encode the username and password"},{"line_number":89,"context_line":"        user_info \u003d \u0027%s:%s\u0027% (self.username,self.password)"},{"line_number":90,"context_line":"        auth \u003d base64.encodebytes(six.b(user_info)).replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        header[\u0027Authorization\u0027] \u003d \u0027Basic %s\u0027 % auth"}],"source_content_type":"text/x-python","patch_set":1,"id":"ad6a08fb_ac5afe6c","line":89,"in_reply_to":"01b86521_29b474d7","updated":"2022-07-17 11:51:27.000000000","message":"\u003e pep8: E225 missing whitespace around operator\n\nPlease fix.","commit_id":"d69926f272dc5588bd704a166c6fa7ae4544d018"},{"author":{"_account_id":33543,"name":"liuhuajie","email":"liu.huajie@99cloud.net","username":"liuhuajie"},"change_message_id":"b1aebd6e92fb1b7543a750217b981b6d2f5c0ff1","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                  \u0027x-cdmi-specification-version\u0027: \u00271.0.2\u0027}"},{"line_number":88,"context_line":"        # base64 encode the username and password"},{"line_number":89,"context_line":"        user_info \u003d \u0027%s:%s\u0027% (self.username,self.password)"},{"line_number":90,"context_line":"        auth \u003d base64.encodebytes(six.b(user_info)).replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        header[\u0027Authorization\u0027] \u003d \u0027Basic %s\u0027 % auth"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2eb81e52_2d89768a","line":90,"range":{"start_line":90,"start_character":34,"end_line":90,"end_character":50},"updated":"2022-07-17 11:51:27.000000000","message":"you can remove six use bytes to replace it","commit_id":"d69926f272dc5588bd704a166c6fa7ae4544d018"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"691a7422e52dc13da7ca5350ad872e98518f4807","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                  \u0027x-cdmi-specification-version\u0027: \u00271.0.2\u0027}"},{"line_number":88,"context_line":"        # base64 encode the username and password"},{"line_number":89,"context_line":"        user_info \u003d \u0027%s:%s\u0027 % (self.username, self.password)"},{"line_number":90,"context_line":"        auth \u003d base64.encode_as_bytes(user_info).replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        header[\u0027Authorization\u0027] \u003d \u0027Basic %s\u0027 % auth"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"47634474_c181ba24","line":90,"range":{"start_line":90,"start_character":49,"end_line":90,"end_character":66},"updated":"2022-07-19 09:55:54.000000000","message":"-1: This doesn\u0027t work, you cannot use `replace` with `str` instances on a `bytes` object.\n\nYou\u0027ll ge the following error:\n\n  TypeError: a bytes-like object is required, not \u0027str\u0027","commit_id":"2ce04184cf62ad7ead4b387b33e4b9503510f6cb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"691a7422e52dc13da7ca5350ad872e98518f4807","unresolved":true,"context_lines":[{"line_number":89,"context_line":"        user_info \u003d \u0027%s:%s\u0027 % (self.username, self.password)"},{"line_number":90,"context_line":"        auth \u003d base64.encode_as_bytes(user_info).replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        header[\u0027Authorization\u0027] \u003d \u0027Basic %s\u0027 % auth"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        if not params:"},{"line_number":95,"context_line":"            payload \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"e69e0a0d_aab2e79f","line":92,"updated":"2022-07-19 09:55:54.000000000","message":"-1: Since `auth` is a bytes instance this will not render properly.  The header `Authorization` will look something like:\n\n  \"Basic b\u0027YWF...\u0027\"\n  \nIf you change the method you use on the auth assignment then everything should work as expected.\n\n  auth \u003d base64.encode_as_text(user_info).replace(\u0027\\n\u0027, \u0027\u0027)","commit_id":"2ce04184cf62ad7ead4b387b33e4b9503510f6cb"}]}
