)]}'
{".zuul.yaml":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":529,"context_line":"      tox_environment:"},{"line_number":530,"context_line":"        TMPDIR: \u0027{{ ansible_env.HOME }}/xfstmp\u0027"},{"line_number":531,"context_line":"      # This seems defensible for a l-c job"},{"line_number":532,"context_line":"      ensure_tox_version: \u0027\u003c4\u0027"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"# Image building jobs"},{"line_number":535,"context_line":"- secret:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"0a8a1400_707506b6","line":532,"updated":"2022-12-30 22:12:27.000000000","message":"i don\u0027t think we should do this, is it needed?\n\nIt seems like we\u0027re mostly commited to just keeping all of our testenv\u0027s working with whatever latest tox we get, why would we want THIS job to force us to maintain a configuraiton that\u0027s compatible with an older version of tox?","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":529,"context_line":"      tox_environment:"},{"line_number":530,"context_line":"        TMPDIR: \u0027{{ ansible_env.HOME }}/xfstmp\u0027"},{"line_number":531,"context_line":"      # This seems defensible for a l-c job"},{"line_number":532,"context_line":"      ensure_tox_version: \u0027\u003c4\u0027"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"# Image building jobs"},{"line_number":535,"context_line":"- secret:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"247ad752_2ba6de8c","line":532,"in_reply_to":"0a8a1400_707506b6","updated":"2022-12-31 06:27:19.000000000","message":"If you want to try to get it to work, you\u0027re welcome to -- the tricks I used for other test envs didn\u0027t work here; not sure why.\n\nSeems reasonable to expect that if we\u0027re going to test with super-old versions of all our deps, we ought to include a super-old version of tox, too -- so I guess I\u0027d flip it and say, why \u0027\u003c4\u0027 and not \u0027\u003d\u003d3.18.0\u0027 (or previously, \u0027\u003d\u003d2.3.2\u0027)?\n\nAs far as maintaining a config that\u0027s compatible with older versions of tox -- I\u0027m pretty sure we\u0027d want to do that *anyway*. And not out of the goodness of our hearts for packagers that currently have tox 3.x CI systems or something -- but because tox 4 dropped support for py27 and py36, both of which we want to test.\n\nLonger term, I\u0027d seriously consider getting rid of the lower-constraints job entirely:\n\n- As demonstrated, it\u0027s hard to make sure we\u0027re actually accomplishing what we set out to do\n- It\u0027s hard to tell what value we\u0027re actually getting out of it\n- Most of the rest of OpenStack has already gotten rid of it *anyway*\n\nSeems to warrant a separate discussion, though, rather than axe it because our gate is broken.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}],"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Drop skipsdist in a bunch of places so we can import swift from func"},{"line_number":34,"context_line":"tests and docs. (Still not sure why I don\u0027t see us hitting a similar"},{"line_number":35,"context_line":"problem for unit tests...)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Change-Id: I4be1e86e3291ad1619c695fb93d7cadf053b556d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"8bd3ce7c_c2ce34b5","line":35,"updated":"2022-12-30 22:12:27.000000000","message":"so at somepoint a newer tox made skipsdist not work on our functests anymore?","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Drop skipsdist in a bunch of places so we can import swift from func"},{"line_number":34,"context_line":"tests and docs. (Still not sure why I don\u0027t see us hitting a similar"},{"line_number":35,"context_line":"problem for unit tests...)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Change-Id: I4be1e86e3291ad1619c695fb93d7cadf053b556d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"d581f384_fcd2c120","line":35,"in_reply_to":"8bd3ce7c_c2ce34b5","updated":"2022-12-31 06:27:19.000000000","message":"I think it has to do with old tox having a side-effect of having our repo root be in PYTHONPATH or something? *shrug* All I know is, now tests complain that swift is not importable.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"42b8b33c81b8740f87b9bf8cd4c4fefcd3ba52f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f8d0b808_6180e4e5","updated":"2022-12-27 23:55:35.000000000","message":"check experimental","commit_id":"4d595ea8a2bb59518e2dfad0a7272cb295071ccc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"3d19c8b75ee5fa73d3baff26dba96f2a15c11501","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c8d0474b_8e227803","updated":"2022-12-28 20:02:43.000000000","message":"check experimental","commit_id":"ddca914be2de6c1fde3f131f3efab0405f7b489b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26da16c154de25eaefec07e11718266ab2488231","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c43df4dc_9ec0e3dd","updated":"2022-12-30 13:54:23.000000000","message":"devstack gate is broken because of this\n\nswift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8edf165eb0774f66a45e432c8de38ea1 : FAILURE in 23m 38s\n\nhttps://review.opendev.org/c/openstack/devstack/+/868672","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"915221d3dae815f17c480e782813a9de71893821","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c74c7d7c_6d8262c7","updated":"2022-12-30 17:15:33.000000000","message":"recheck\n\nCurious:\n\n 2022-12-29 21:46:40.735775 | controller | Setting up pcp (5.0.3-1) ...\n2022-12-29 21:48:19.643955 | controller | Job for pmlogger.service failed because a timeout was exceeded.\n 2022-12-29 21:48:19.644029 | controller | See \"systemctl status pmlogger.service\" and \"journalctl -xe\" for details.\n 2022-12-29 21:48:19.644736 | controller | invoke-rc.d: initscript pmlogger, action \"start\" failed.\n\nMaybe just a temporarily overloaded VM?","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"392418b0f1f7141d9ccf38f0d94a361849ef5795","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"b1edea1f_439bc7a1","updated":"2022-12-30 19:49:27.000000000","message":"recheck\n\nLooks like an issue resetting the mounts during probe tests.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"8d53f080_41fb8332","updated":"2022-12-30 22:12:27.000000000","message":"this is SO super gross.  but mostly, I love it!","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"7220d717_92f98c42","in_reply_to":"8d53f080_41fb8332","updated":"2022-12-31 06:27:19.000000000","message":"\u003e but mostly, I love having a working gate!\n\nFTFY","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}],"py2-constraints.txt":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":78,"context_line":"PasteDeploy\u003d\u003d2.1.1"},{"line_number":79,"context_line":"pytest\u003d\u003d4.6.11"},{"line_number":80,"context_line":"pytest-cov\u003d\u003d2.12.1"},{"line_number":81,"context_line":"attrs\u003d\u003d21.4.0"}],"source_content_type":"text/plain","patch_set":12,"id":"d7a1e8e4_ea740887","line":81,"updated":"2022-12-30 22:12:27.000000000","message":"is this like a transative dependency that somehow old tox solved for us on py2?!","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":78,"context_line":"PasteDeploy\u003d\u003d2.1.1"},{"line_number":79,"context_line":"pytest\u003d\u003d4.6.11"},{"line_number":80,"context_line":"pytest-cov\u003d\u003d2.12.1"},{"line_number":81,"context_line":"attrs\u003d\u003d21.4.0"}],"source_content_type":"text/plain","patch_set":12,"id":"781ed568_19791cf2","line":81,"in_reply_to":"d7a1e8e4_ea740887","updated":"2022-12-31 06:27:19.000000000","message":"Yeah, something -- maybe older tox used a different pip? I saw a similar issue a bit back when we switched to pytest, and needed to fix it up in tools/playbooks/common/install_dependencies.yaml ...","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}],"tools/playbooks/common/install_dependencies.yaml":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        - \u0027attrs\u003c22.1.0\u0027"},{"line_number":42,"context_line":"        # crudini pulls in iniparse which can conflict with distro-installed"},{"line_number":43,"context_line":"        # packages on centos7"},{"line_number":44,"context_line":"        - \u0027crudini\u003c0.9.4\u0027"},{"line_number":45,"context_line":"        # Order matters; install constrained versions *first*, then unconstrained"},{"line_number":46,"context_line":"        - eventlet"},{"line_number":47,"context_line":"        - pyeclib"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"a09e3d14_8074d067","line":44,"updated":"2022-12-30 22:12:27.000000000","message":"ok, at least we document a reason with the constraint\n\nI wonder if we still need to pin mock \u0026 attrs?","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        - \u0027attrs\u003c22.1.0\u0027"},{"line_number":42,"context_line":"        # crudini pulls in iniparse which can conflict with distro-installed"},{"line_number":43,"context_line":"        # packages on centos7"},{"line_number":44,"context_line":"        - \u0027crudini\u003c0.9.4\u0027"},{"line_number":45,"context_line":"        # Order matters; install constrained versions *first*, then unconstrained"},{"line_number":46,"context_line":"        - eventlet"},{"line_number":47,"context_line":"        - pyeclib"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"2ee2874b_c312c1a5","line":44,"in_reply_to":"a09e3d14_8074d067","updated":"2022-12-31 06:27:19.000000000","message":"Mock 4.x dropped support for py2 -- once we drop that support, i think we can get rid of the whole dependency.\n\nAttrs is in a similar situation, though instead we should be good to just let pytest bring in the transitive dep on its own.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}],"tox.ini":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"envlist \u003d py37,py27,pep8"},{"line_number":3,"context_line":"minversion \u003d 2.3.2"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[pytest]"},{"line_number":7,"context_line":"addopts \u003d --verbose --cov\u003dswift --cov-branch --cov-report\u003dhtml:cover --cov-report term"}],"source_content_type":"text/x-properties","patch_set":12,"id":"521cce4d_093adff9","side":"PARENT","line":4,"updated":"2022-12-30 22:12:27.000000000","message":"not obvious to me why we added skipsdist\n\nhttps://review.opendev.org/c/openstack/swift/+/60823\n\n... or why we don\u0027t want it anymore?","commit_id":"0c18b2d32910d507203b72c78fbcef8089ab9e5c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"envlist \u003d py37,py27,pep8"},{"line_number":3,"context_line":"minversion \u003d 2.3.2"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[pytest]"},{"line_number":7,"context_line":"addopts \u003d --verbose --cov\u003dswift --cov-branch --cov-report\u003dhtml:cover --cov-report term"}],"source_content_type":"text/x-properties","patch_set":12,"id":"496ce455_bbf4ef46","side":"PARENT","line":4,"in_reply_to":"521cce4d_093adff9","updated":"2022-12-31 06:27:19.000000000","message":"That commit called it out:\n\n\u003e skip the sdist step, which is slow\n\nIssue was that now, with new tox, we (apparently? sometimes?) can\u0027t import from swift if we don\u0027t build the package and install it.","commit_id":"0c18b2d32910d507203b72c78fbcef8089ab9e5c"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  bash -ec \"pytest {posargs:test/unit} || pytest --last-failed {posargs:test/unit}\""},{"line_number":20,"context_line":"allowlist_externals \u003d"},{"line_number":21,"context_line":"  bash"},{"line_number":22,"context_line":"  find"},{"line_number":23,"context_line":"passenv \u003d SWIFT_*"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[testenv:s3api]"}],"source_content_type":"text/x-properties","patch_set":12,"id":"454daf14_ee211cdf","line":22,"updated":"2022-12-30 22:12:27.000000000","message":"maybe we should add functests and manpages here","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  bash -ec \"pytest {posargs:test/unit} || pytest --last-failed {posargs:test/unit}\""},{"line_number":20,"context_line":"allowlist_externals \u003d"},{"line_number":21,"context_line":"  bash"},{"line_number":22,"context_line":"  find"},{"line_number":23,"context_line":"passenv \u003d SWIFT_*"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[testenv:s3api]"}],"source_content_type":"text/x-properties","patch_set":12,"id":"87beba06_8bc51733","line":22,"in_reply_to":"454daf14_ee211cdf","updated":"2022-12-31 06:27:19.000000000","message":"*shrug* Either way -- do it where we use them, do it globally -- w/e","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a56c7d21b12acb87388d21963b2963555acbf25d","unresolved":true,"context_lines":[{"line_number":185,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":186,"context_line":"# Drop the --upgrade flag so we don\u0027t accidentally drag anything forward when"},{"line_number":187,"context_line":"# we install swift"},{"line_number":188,"context_line":"install_command \u003d pip install {opts} {packages}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"[testenv:pdf-docs]"},{"line_number":191,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":12,"id":"858c1c07_8ee4dccd","line":188,"updated":"2022-12-30 22:12:27.000000000","message":"I don\u0027t really understand the lower-constraints test, but this seems weird.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"10f826b49b6271255d8a2ca795f6a05aa6d4f230","unresolved":true,"context_lines":[{"line_number":185,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":186,"context_line":"# Drop the --upgrade flag so we don\u0027t accidentally drag anything forward when"},{"line_number":187,"context_line":"# we install swift"},{"line_number":188,"context_line":"install_command \u003d pip install {opts} {packages}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"[testenv:pdf-docs]"},{"line_number":191,"context_line":"basepython \u003d python3"}],"source_content_type":"text/x-properties","patch_set":12,"id":"d0c21e79_9456943b","line":188,"in_reply_to":"858c1c07_8ee4dccd","updated":"2022-12-31 06:27:19.000000000","message":"Now that we specify tox\u003c4 over in .zuul.yaml, this probably isn\u0027t necessary. I think the double-tox-run methodology (where we run tox once to just set up the environment, then again to run tests) got us into trouble somehow.","commit_id":"2d7c1dc6dd8a672c1f89a46b2423898d33ff63d2"}]}
