On 2022-12-08 13:56:45 -0800 (-0800), Ghanshyam Mann wrote: [...]
I am debugging that bug but here I am asking something else here. My question is about different tox versions installed in the same type of jobs with devstack same scripts. Tox 4 is installed in the stable branch and master focal job and Tox 3 in the rest of the master jobs.
I am trying to understand why ensure-tox capping tox seems capping it for master jobs but not for stable branch jobs (no change int the Devstack scripts in master vs stable?
The jobs you're talking about don't seem to use the ensure-tox role at all, so maybe that's where your confusion is arising? It's mostly used by jobs based (usually indirectly) on the "tox" parent job from zuul-jobs, so mostly unit tests and linters.
The only difference I see here is focal jobs (stable branch jobs or focal job on master) using latest tox.
I think you're either misunderstanding how those scripts work, or how Python packaging and pip work. If constraints lists are being supplied when the lib/tempest script installs its own copy of tox, then those can end up influencing which version of tox is installed even if tox is not in the constraints list (because current pip will try to satisfy constrained dependencies and limit available tox versions to those which work with any of its dependencies which have been constrained). If stable branches are forcing different versions of pip, that can also influence which versions of tox might end up installed, since older pip lacks a sane dependency solver and is just sort of "yolo" about the whole idea. There are lots of variables which can come into play. -- Jeremy Stanley