From b6505e20baa3e240aeb9aa2c238c470eea95e0f1 Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Tue, 10 Jan 2023 13:18:02 -0600 Subject: [PATCH] Use pypi released version of placement in functional tests osc-placement functional tests are using the master version of placement which is failing due to the constraints mismatch on stable branches testing. - https://zuul.opendev.org/t/openstack/build/a2cc830f28f44ed5ae0e1c5f0a99ac75 During the discussion in Nova meeting, we did not find any reason why we are using the latest placement on stable branch testing of osc-placement - https://meetings.opendev.org/meetings/nova/2023/nova.2023-01-10-16.00.log.html#l-47 Below is the original patch which started using the placement from master source. - https://review.opendev.org/c/openstack/osc-placement/+/651939 To avoid the constraints mismatch on stable branch testing which can happen in future also, let's use it from pypi version which will be the same way as nova functional tests doing - https://github.com/openstack/nova/blob/26f24b7086855bc8f57059d618060cc5844dca15/tox.ini#L64 Also, remove basepython/ignore_basepython_conflict from tox.ini. Tox 4.2.6 still failing with the missing interpreter for [testenv:functional{,-py38, -py39,-py310}]. It is due to a conflict between basepython = python3 and the version fragment in the generative target suppressed by ignore_basepython_conflict = true. This patch removes basepython = python3 assuming that developers already switched for python3 in their environment as python2.7 is EOL. Ref: https://review.opendev.org/c/openstack/nova/+/869545 Change-Id: I4e3e5732411639054baaa9211a29e2e2c8210ac0 --- tox.ini | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tox.ini b/tox.ini index 58f7c63..4aa599d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,8 @@ [tox] minversion = 3.18.0 envlist = py3,functional,pep8 -# Automatic envs (pyXX) will use the python version appropriate to that -# env and ignore basepython inherited from [testenv]. That's what we -# want, and we don't need to be warned about it. -ignore_basepython_conflict = true [testenv] -basepython = python3 usedevelop = true allowlist_externals = rm @@ -25,9 +20,23 @@ commands = stestr run {posargs} [testenv:functional] description = Run functional tests using python3. +# As osc-placement functional tests import the PlacementFixture from the placement +# repository these tests are, by default, set up to run with openstack-placement +# from pypi. In the gate, Zuul will use the installed version of placement (stable +# branch version on stable gate run) OR the version of placement the Depends-On in +# the commit message suggests. If you want to run the tests with latest master from +# the placement repo, modify the dep line to point at master, example: +# deps = +# {[testenv]deps} +# git+https://opendev.org/openstack/placement#egg=openstack-placement +# If you want to run the test locally with an un-merged placement change, +# modify the dep line to point to your dependency or pip install placement +# into the appropriate tox virtualenv. +# NOTE: We express the requirement here instead of test-requirements +# because we do not want placement present during unit tests. deps = {[testenv]deps} - git+https://opendev.org/openstack/placement.git#egg=openstack-placement + openstack-placement>=1.0.0 commands = stestr --test-path=./osc_placement/tests/functional run {posargs} [testenv:functional-py38]