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
- 26f24b7086/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
This commit is contained in:
Ghanshyam Mann 2023-01-10 13:18:02 -06:00
parent fdf10423bf
commit b6505e20ba
1 changed files with 15 additions and 6 deletions

21
tox.ini
View File

@ -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]