)]}'
{".zuul.yaml":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bc2ed7ca04d2d2cfa4991ac8c5a2c46a990df7a0","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        Run the nova functional tests to confirm that we aren\u0027t breaking"},{"line_number":80,"context_line":"        the PlacementFixture."},{"line_number":81,"context_line":"    vars:"},{"line_number":82,"context_line":"        # \u0027placement-nova-functional-py38\u0027 tox env is defined in nova tox.ini"},{"line_number":83,"context_line":"        # to skip the api and notification _sample_tests, and db-related tests"},{"line_number":84,"context_line":"        tox_envlist: placement-nova-functional-py38"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"e2469fb0_29ad267d","line":82,"updated":"2021-10-12 23:05:39.000000000","message":"++","commit_id":"6651238e1124eacb74d4bdc1448b473482cb7d9e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1c0ddf81375bb93f22f0c93e085051d2fe73610c","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        the PlacementFixture."},{"line_number":81,"context_line":"    vars:"},{"line_number":82,"context_line":"        # Skip the api and notification _sample_tests, and db-related tests"},{"line_number":83,"context_line":"        tox_extra_args: \u0027^((?!(?:api|notification)_sample_tests|functional\\.db\\.).)*$\u0027"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- job:"},{"line_number":86,"context_line":"    name: placement-perfload"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"477ae694_91174665","side":"PARENT","line":83,"updated":"2021-10-13 06:47:49.000000000","message":"This still feels as a good usage of tox_extra_args as from here we do want to pass a test filter to tox and tox_extra_args is a valid way to do it. So the real problem is not here but in zuul when zuul pass this to tox even when it wants to print the tox config and without preserving the quoting we did here. \n\nhttps://opendev.org/zuul/zuul-jobs/commit/c02c28a982da8d5a9e7b4ca38d30967f6cd1531d","commit_id":"bd5b19c00e1ab293fc157f4699bc4f4719731c25"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1c0ddf81375bb93f22f0c93e085051d2fe73610c","unresolved":true,"context_lines":[{"line_number":81,"context_line":"    vars:"},{"line_number":82,"context_line":"        # \u0027functional-without-sample-db-tests\u0027 tox env is defined in nova tox.ini"},{"line_number":83,"context_line":"        # to skip the api|notification _sample_tests and db-related tests."},{"line_number":84,"context_line":"        tox_envlist: functional-without-sample-db-tests"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- job:"},{"line_number":87,"context_line":"    name: placement-perfload"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"72627352_53d56eb2","line":84,"updated":"2021-10-13 06:47:49.000000000","message":"So while this fixes our problem it does not fix the root of the problem that zuul passes args incorrectly to tox.","commit_id":"6d49b6df1d3f62e2003c55509875380148281a79"}],"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bdc681d962594f8c2338dde766f4f7274228f46c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ghanshyam Mann \u003cgmann@ghanshyammann.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-10-12 18:21:05 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use \u0027placement-nova-functional-py38\u0027 tox env for placement nova job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nova defines (depends-on) a new tox env \u0027placement-nova-functional-py38\u0027"},{"line_number":10,"context_line":"to run the nova functional test by exlcuding the api and notification"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1bc6e1a0_ec635629","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":36},"updated":"2021-10-12 23:33:21.000000000","message":"Oh, just noticed this is old now 😬","commit_id":"e4a1b7be4e190cd340c1e910782f1f040c2f9e2a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0df353744b2933a6b474cabd46ef80cfdbd95549","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ghanshyam Mann \u003cgmann@ghanshyammann.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-10-12 18:21:05 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use \u0027placement-nova-functional-py38\u0027 tox env for placement nova job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nova defines (depends-on) a new tox env \u0027placement-nova-functional-py38\u0027"},{"line_number":10,"context_line":"to run the nova functional test by exlcuding the api and notification"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"51db6c96_43827503","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":36},"in_reply_to":"1bc6e1a0_ec635629","updated":"2021-10-12 23:36:48.000000000","message":"ah, my bad thanks.","commit_id":"e4a1b7be4e190cd340c1e910782f1f040c2f9e2a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bdc681d962594f8c2338dde766f4f7274228f46c","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use \u0027placement-nova-functional-py38\u0027 tox env for placement nova job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Nova defines (depends-on) a new tox env \u0027placement-nova-functional-py38\u0027"},{"line_number":10,"context_line":"to run the nova functional test by exlcuding the api and notification"},{"line_number":11,"context_line":"sample_tests, and db-related tests."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"efc9b567_b1aa07cf","line":9,"range":{"start_line":9,"start_character":40,"end_line":9,"end_character":72},"updated":"2021-10-12 23:33:21.000000000","message":"Here too.","commit_id":"e4a1b7be4e190cd340c1e910782f1f040c2f9e2a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"bc2ed7ca04d2d2cfa4991ac8c5a2c46a990df7a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1765fb0b_0a882df1","updated":"2021-10-12 23:05:39.000000000","message":"Makes sense, LGTM. As discussed on IRC, the tox_extra_args zuul variable can\u0027t be used to pass the exclude regex we need because the variable is also used when zuul runs tox without tests [1] and to show the tox config [2], and these steps will fail if we put the regex in tox_extra_args. There are also no other zuul variables that are appropriate for passing the regex [3].\n\nSo, we need to define a new env that uses the regex we need. It could either be in the nova repo or the placement repo, but I think it makes more sense to live in the nova repo as it involves running nova functional tests. Then we can reference it here in placement in order to run the functional tests here.\n\n[1] https://opendev.org/zuul/zuul-jobs/src/commit/ad56b0b4eb00d5ae76db9e8e040b17eaa424685b/roles/tox/tasks/siblings.yaml#L12\n[2] https://opendev.org/zuul/zuul-jobs/src/commit/ad56b0b4eb00d5ae76db9e8e040b17eaa424685b/roles/tox/tasks/siblings.yaml#L32\n[3] https://opendev.org/zuul/zuul-jobs/raw/commit/ad56b0b4eb00d5ae76db9e8e040b17eaa424685b/roles/tox/README.rst","commit_id":"6651238e1124eacb74d4bdc1448b473482cb7d9e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"41a1e16c6c4a732485a154019d529115790bc944","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6c30704c_282bc35c","updated":"2021-10-12 18:45:02.000000000","message":"placement-nova-tox-functional-py38 passing now","commit_id":"6651238e1124eacb74d4bdc1448b473482cb7d9e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"dcb58b15b33299197754c4f1d1a48e1b2374f31f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"98d9527f_7884ac7b","updated":"2021-10-12 18:13:47.000000000","message":"recheck","commit_id":"6651238e1124eacb74d4bdc1448b473482cb7d9e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"80af7530bbd748c6cb6abc66693a2fc0c50510fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"aed83483_a3b5371d","updated":"2021-10-12 18:11:42.000000000","message":"recheck deps updated","commit_id":"6651238e1124eacb74d4bdc1448b473482cb7d9e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"dce962608f871496ac5cb5e79630e66533708452","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4eeba671_57e93406","updated":"2021-10-12 23:32:17.000000000","message":"New env name is more intuitive IMHO. Still LGTM.","commit_id":"e4a1b7be4e190cd340c1e910782f1f040c2f9e2a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f3aa732533de9336ce84a8935107e930c5eea4c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fa645e31_4ac5d747","updated":"2021-10-12 23:37:15.000000000","message":"This won\u0027t work until the nova side lands right? I would think this should depends-on that, but looks good otherwise.","commit_id":"e4a1b7be4e190cd340c1e910782f1f040c2f9e2a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d9b2dfadf0f965c9b14108b947d361b331db584","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"027872df_d7b9157b","updated":"2021-10-12 23:38:27.000000000","message":"Eye check completed, nevermind :O","commit_id":"6d49b6df1d3f62e2003c55509875380148281a79"}]}
