)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3cb5932e8735ff508ed126b50d6393c31b44a88e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Parent:     11faeb61 (Fix upper-constraints not applied to package deps)"},{"line_number":2,"context_line":"Author:     jgilaber \u003cjgilaber@redhat.com\u003e"},{"line_number":3,"context_line":"AuthorDate: 2026-10-07 15:02:45 +0200"},{"line_number":4,"context_line":"Commit:     jgilaber \u003cjgilaber@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8f158681_2fc474fe","line":1,"updated":"2026-10-07 13:34:05.000000000","message":"The commit message body reads \u0027tox 4.28.0 provides support for a constraints options which lets us get the same behavior\u0027. The plural \u0027options\u0027 paired with the singular article \u0027a\u0027 is a grammar error that becomes part of the permanent, searchable Gerrit change history.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Impact**: Minor: the permanent change history carries a small grammar error; the intended meaning remains clear to future readers.\n\n**Recommendation**:\nWhen reworking the commit (for example to address CF-001), reword to \u0027provides support for a constraints option, which lets\u0027 or \u0027provides support for the constraints option, which lets\u0027.","commit_id":"9844a3148d7bc1de41031a9e67472068a795c402"}],"tox.ini":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3cb5932e8735ff508ed126b50d6393c31b44a88e","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  rm"},{"line_number":9,"context_line":"  env"},{"line_number":10,"context_line":"  make"},{"line_number":11,"context_line":"constraints \u003d"},{"line_number":12,"context_line":"  {env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"},{"line_number":13,"context_line":"setenv \u003d"},{"line_number":14,"context_line":"  OS_TEST_PATH\u003dcyborg/tests/unit"}],"source_content_type":"text/x-properties","patch_set":1,"id":"e78ee26b_ff29f5e9","line":11,"updated":"2026-10-07 13:34:05.000000000","message":"Replacing the install_command override with the native tox \u0027constraints\u0027 setting applies the upper-constraints file only to the env \u0027deps\u0027 step. With \u0027usedevelop \u003d True\u0027 (tox.ini:6) the package is installed editable, and pip resolves the package\u0027s own transitive dependencies in the install_package_deps step. In tox 4 the \u0027constraints\u0027 setting is not passed to that step unless \u0027constrain_package_deps \u003d true\u0027 is also set. The removed install_command embedded -c{env:TOX_CONSTRAINTS_FILE:...} into every pip invocation, including the package install, so this change drops constraints from exactly the step that the parent commit fixed, contradicting the commit message claim that it \u0027lets us get the same behavior\u0027.\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Impact**: When the upper-constraints file (TOX_CONSTRAINTS_FILE) caps a library below the latest release (e.g. oslo.policy 5.x while 6.x exists), pip is free to install the newer version as a package dependency, breaking \u0027tox -e docs\u0027 and other usedevelop environments. This is the exact documented failure of bug #2169846, reopened one commit after it was fixed; OpenStack CI and stable-branch patch validation rely on upper-constraints being honored across all install steps.\n\n**Priority**: Before merge\n**Recommendation**:\nAdd \u0027constrain_package_deps \u003d true\u0027 to [testenv] next to the new \u0027constraints\u0027 setting (optionally with \u0027use_frozen_constraints\u0027 if frozen versions are preferred) so the constraint file is also passed to the package install step. This works with both the pip and tox-uv install backends and preserves the behavior the commit message claims.","commit_id":"9844a3148d7bc1de41031a9e67472068a795c402"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"1ac90c9d6619826b97ca9ea748a7f5bcfe3161c9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  rm"},{"line_number":9,"context_line":"  env"},{"line_number":10,"context_line":"  make"},{"line_number":11,"context_line":"constraints \u003d"},{"line_number":12,"context_line":"  {env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"},{"line_number":13,"context_line":"setenv \u003d"},{"line_number":14,"context_line":"  OS_TEST_PATH\u003dcyborg/tests/unit"}],"source_content_type":"text/x-properties","patch_set":2,"id":"2c72a026_bab965e9","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":13},"updated":"2026-10-08 06:15:12.000000000","message":"It was added in https://tox.wiki/en/4.61.0/changelog.html#features-4-28-0 and It is also used in nova: https://github.com/openstack/nova/commit/5acdfc5632b330bf778850ab74c7a8daf7525102","commit_id":"ebfc669a2af3003f2922b7d7cc9be0d680053aae"}]}
