Unit tests: Isolate mysql test migrations

All database migration testing in opestack is done through
an opportunistic worker model, where if the database is available
and correctly configured for testing, i.e. openstack-citest user
and access appropriately granted, then the tests will create and
test migrations.

However, this has been problematic with mysql as of recent, as we
have seen a long standing migration issue boil to the surface often
with tests.

As a result, we're isolating that test down to it's own job so we
can limit the blast damage. This also helps us isolate is it all
of the tests, or is it just soley isolated down to the mysql test
run class, which is an additional data point.

By default, we continue to run Postgres migration tests in the
main jobs, as they haven't been impacted by this issue.

Change-Id: Iefc044c31ef029e400a7dad294504175a4462638
This commit is contained in:
Julia Kreger 2023-06-29 09:13:18 -07:00
parent a600895ba3
commit 5cad8ac773
3 changed files with 16 additions and 1 deletions

View File

@ -22,7 +22,7 @@ deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
commands = commands =
stestr run --slowest --parallel-class {posargs} stestr run --slowest --parallel-class --exclude-regex TestMigrationsMySQL {posargs}
passenv = http_proxy passenv = http_proxy
HTTP_PROXY HTTP_PROXY
https_proxy https_proxy
@ -84,6 +84,11 @@ envdir = {toxworkdir}/venv
commands = commands =
oslopolicy-sample-generator --config-file=tools/policy/ironic-policy-generator.conf oslopolicy-sample-generator --config-file=tools/policy/ironic-policy-generator.conf
[testenv:mysql-migrations]
sitepackages = False
commands =
stestr run --slowest --parallel-class TestMigrationsMySQL {posargs}
[testenv:debug] [testenv:debug]
commands = oslo_debug_helper -t ironic/tests/unit {posargs} commands = oslo_debug_helper -t ironic/tests/unit {posargs}

View File

@ -683,6 +683,14 @@
vars: vars:
tox_envlist: unit-with-driver-libs tox_envlist: unit-with-driver-libs
- job:
name: ironic-tox-unit-mysql-migrations
parent: openstack-tox
description: |
Run MySQL based data model migrations separate to isolate failures.
vars:
tox_envlist: mysql-migrations
- job: - job:
name: ironic-inspector-tempest-discovery-fast-track name: ironic-inspector-tempest-discovery-fast-track
description: ironic-inspector-tempest-discovery-fast-track description: ironic-inspector-tempest-discovery-fast-track

View File

@ -9,6 +9,7 @@
- release-notes-jobs-python3 - release-notes-jobs-python3
check: check:
jobs: jobs:
- ironic-tox-unit-mysql-migrations
- ironic-tox-unit-with-driver-libs - ironic-tox-unit-with-driver-libs
- ironic-cross-sushy: - ironic-cross-sushy:
voting: false voting: false
@ -65,6 +66,7 @@
voting: false voting: false
gate: gate:
jobs: jobs:
- ironic-tox-unit-mysql-migrations
- ironic-tox-unit-with-driver-libs - ironic-tox-unit-with-driver-libs
- ironic-tempest-functional-python3 - ironic-tempest-functional-python3
# NOTE(rpittau) disabled until we fix the tests # NOTE(rpittau) disabled until we fix the tests