)]}'
{".zuul.yaml":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"847f8c64d66866965ee39f566901ac5e54535e3d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        - openstack-tox-functional-py36"},{"line_number":19,"context_line":"        - openstack-tox-functional-py37"},{"line_number":20,"context_line":"        - openstack-tox-functional-py38"},{"line_number":21,"context_line":"        - openstack-tox-functional-py39:"},{"line_number":22,"context_line":"            voting: false"},{"line_number":23,"context_line":"        - openstack-tox-pep8"},{"line_number":24,"context_line":"        - placement-nova-tox-functional-py38"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_3e168056","line":21,"range":{"start_line":21,"start_character":39,"end_line":21,"end_character":40},"updated":"2020-11-13 03:08:12.000000000","message":"redundant","commit_id":"4fe6ba727f05217ed5a1e053dd309b316010d453"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ddd6c58ae51aea6c4bdd9dd08d162cec01f73c4f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        - openstack-tox-functional-py36"},{"line_number":19,"context_line":"        - openstack-tox-functional-py37"},{"line_number":20,"context_line":"        - openstack-tox-functional-py38"},{"line_number":21,"context_line":"        - openstack-tox-functional-py39:"},{"line_number":22,"context_line":"            voting: false"},{"line_number":23,"context_line":"        - openstack-tox-pep8"},{"line_number":24,"context_line":"        - placement-nova-tox-functional-py38"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_b92f4a86","line":21,"range":{"start_line":21,"start_character":39,"end_line":21,"end_character":40},"in_reply_to":"1f621f24_3e168056","updated":"2020-11-13 03:15:44.000000000","message":"later: I was missed the voting tag, sorry.","commit_id":"4fe6ba727f05217ed5a1e053dd309b316010d453"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39fcd2e9404afdee353e7824ba617a2c5665afb8","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # Skip the api and notification _sample_tests, and db-related tests"},{"line_number":72,"context_line":"        tox_extra_args: \u0027^((?!(?:api|notification)_sample_tests|functional\\.db\\.).)*$\u0027"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- job:"},{"line_number":75,"context_line":"    name: placement-nova-tox-functional-py39"},{"line_number":76,"context_line":"    parent: nova-tox-functional-py39"},{"line_number":77,"context_line":"    description: |"},{"line_number":78,"context_line":"        Run the nova functional tests to confirm that we aren\u0027t breaking"},{"line_number":79,"context_line":"        the PlacementFixture."},{"line_number":80,"context_line":"    vars:"},{"line_number":81,"context_line":"        # Skip the api and notification _sample_tests, and db-related tests"},{"line_number":82,"context_line":"        tox_extra_args: \u0027^((?!(?:api|notification)_sample_tests|functional\\.db\\.).)*$\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- job:"},{"line_number":85,"context_line":"    name: placement-perfload"},{"line_number":86,"context_line":"    parent: base"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_fe6888f5","line":83,"range":{"start_line":74,"start_character":2,"end_line":83,"end_character":0},"updated":"2020-11-13 02:58:33.000000000","message":"Job nova-tox-functional-py39 not defined","commit_id":"4fe6ba727f05217ed5a1e053dd309b316010d453"}],"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"847f8c64d66866965ee39f566901ac5e54535e3d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds both a tox target and a zuul job to run functional tests"},{"line_number":10,"context_line":"with python3.9"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/760932"},{"line_number":13,"context_line":"Change-Id: I0522eb33fc599cdb8977f24e73e420cd3faa10e5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f621f24_de066c20","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":45},"updated":"2020-11-13 03:08:12.000000000","message":"This should depend on the nova changes patch https://review.opendev.org/#/c/760884","commit_id":"4fe6ba727f05217ed5a1e053dd309b316010d453"}]}
