)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"b653ef70a98468ffdbbfa2ac9dc19080a3a5b47c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"scrubber tests to the \u0027serial\u0027 directory"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I041c90aa8854bca30f9ea7b0c9d81e41f79cb81e"},{"line_number":15,"context_line":"Partial-bug: #1768077"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_c628cb87","line":15,"updated":"2018-05-08 01:16:05.000000000","message":"I think the bug may be closed with this patch, or I missed something?","commit_id":"f8e1ce4d0e627ed1c18ebe50b338129ef3930d66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"364c3f650dce29e5d8bc4e01e8ea53bddd8f0f93","unresolved":false,"context_lines":[{"line_number":12,"context_line":"scrubber tests to the \u0027serial\u0027 directory"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I041c90aa8854bca30f9ea7b0c9d81e41f79cb81e"},{"line_number":15,"context_line":"Partial-bug: #1768077"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_c660cba8","line":15,"in_reply_to":"5f7c97a3_c628cb87","updated":"2018-05-08 01:31:42.000000000","message":"I don\u0027t understand why it works.  Do me a favor and take a look at the changes I made to test_scrubber.py in PS 1.  (The commit message on PS 1 explains what the changes are.)   I was worried that the current wait function was too unspecific (wasn\u0027t looking for a particular failure) and thought that maybe the way the assertions were being used multiple times in the same test (each time the func was executed) was giving the subunit parser problems.  That change worked locally, but didn\u0027t pass in the gate.  But I can\u0027t figure out why not.  Maybe you\u0027ll see something.","commit_id":"f8e1ce4d0e627ed1c18ebe50b338129ef3930d66"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"463b64b75609dec6292b1c1513cfaa5979eafde3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"scrubber tests to the \u0027serial\u0027 directory"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I041c90aa8854bca30f9ea7b0c9d81e41f79cb81e"},{"line_number":15,"context_line":"Partial-bug: #1768077"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_fce478ae","line":15,"in_reply_to":"5f7c97a3_c660cba8","updated":"2018-05-08 06:17:43.000000000","message":"yeah, it\u0027s a little strange for the change in PS 1. This patch can be merged first to unblock the CI.","commit_id":"f8e1ce4d0e627ed1c18ebe50b338129ef3930d66"}],"glance/tests/functional/serial/test_scrubber.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"c41c49e33f8688a2c3a456805e8eba8c99b47b9a","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        total_wait \u003d 15"},{"line_number":360,"context_line":"        for _ in range(total_wait):"},{"line_number":361,"context_line":"            exitcode, out, err \u003d func()"},{"line_number":362,"context_line":"            if exitcode \u003d\u003d 1 and not_down_msg in err:"},{"line_number":363,"context_line":"                time.sleep(1)"},{"line_number":364,"context_line":"                continue"},{"line_number":365,"context_line":"            return exitcode, out, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7ff37a0b","line":362,"updated":"2018-05-08 07:01:24.000000000","message":"I reproduced the CI failure locally. It\u0027s http://paste.openstack.org/show/720536/\n\nSo it seems a py3 behavior. The code can be changed to:\n\nfor _ in range(total_wait):\n    if isinstance(err, bytes):\n        err \u003d err.decode()\n    exitcode, out, err \u003d func()\n    if exitcode \u003d\u003d 1 and not_down_msg in err:\n\nThen it works well in my local env.","commit_id":"6b621b2ce4e34c8e9d0c66288c8757283c78c390"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"41fa704dbd1ded307a360579456683d213a2d0d1","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        total_wait \u003d 15"},{"line_number":360,"context_line":"        for _ in range(total_wait):"},{"line_number":361,"context_line":"            exitcode, out, err \u003d func()"},{"line_number":362,"context_line":"            if exitcode \u003d\u003d 1 and not_down_msg in err:"},{"line_number":363,"context_line":"                time.sleep(1)"},{"line_number":364,"context_line":"                continue"},{"line_number":365,"context_line":"            return exitcode, out, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7f413a0b","line":362,"in_reply_to":"5f7c97a3_7ff37a0b","updated":"2018-05-08 07:03:13.000000000","message":"Ops, the code order is wrong. It should be :\n\nfor _ in range(total_wait):\n    exitcode, out, err \u003d func()\n    if isinstance(err, bytes):\n        err \u003d err.decode()\n    if exitcode \u003d\u003d 1 and not_down_msg in err:","commit_id":"6b621b2ce4e34c8e9d0c66288c8757283c78c390"}],"serial-functests.txt":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"b653ef70a98468ffdbbfa2ac9dc19080a3a5b47c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"^glance\\.tests\\.functional\\.serial\\.*"}],"source_content_type":"text/plain","patch_set":7,"id":"5f7c97a3_0636c3e7","line":1,"updated":"2018-05-08 01:16:05.000000000","message":"not sure where this file should be in, but how about glance/tests/functional","commit_id":"f8e1ce4d0e627ed1c18ebe50b338129ef3930d66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"364c3f650dce29e5d8bc4e01e8ea53bddd8f0f93","unresolved":false,"context_lines":[{"line_number":1,"context_line":"^glance\\.tests\\.functional\\.serial\\.*"}],"source_content_type":"text/plain","patch_set":7,"id":"5f7c97a3_86cc13bd","line":1,"in_reply_to":"5f7c97a3_0636c3e7","updated":"2018-05-08 01:31:42.000000000","message":"It\u0027s used by tox.ini, so I thought we should keep it close to the tox.ini file","commit_id":"f8e1ce4d0e627ed1c18ebe50b338129ef3930d66"}],"tox.ini":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"009b086116cb808222b1a53ab4737814f59e8b91","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  TEST_PATH \u003d ./glance/tests/functional"},{"line_number":49,"context_line":"commands \u003d"},{"line_number":50,"context_line":"  stestr run --blacklist-file ./serial-functests.txt {posargs}"},{"line_number":51,"context_line":"  stestr run --serial --combine --whitelist-file ./serial-functests.txt {posargs}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"[testenv:pep8]"},{"line_number":54,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":6,"id":"5f7c97a3_320e9e3b","line":51,"range":{"start_line":51,"start_character":22,"end_line":51,"end_character":31},"updated":"2018-05-08 01:12:24.000000000","message":"this is cool.","commit_id":"b4540216b4d364177ba8178449130a70498293bf"}]}
