Fix error when using local registry by using quay.io

This commit is contained in:
Laurent Indermuehle 2023-01-14 00:17:40 +01:00
commit 9bfd0a3b28
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
3 changed files with 7 additions and 24 deletions

View file

@ -45,12 +45,12 @@ jobs:
db_engine_version: mysql:5.7.40
python: 3.8
connector: pymysql==0.7.11
docker_container: my57-py38-mysqlclient201-pymysql0711
docker_container: quay.io/mws/community-mysql-test-containers-my57-py38-mysqlclient201-pymysql0711:0.0.1
- ansible: stable-2.12
db_engine_version: mysql:5.7.40
python: 3.8
connector: pymysql==0.9.3
docker_container: my57-py38-pymysql093
docker_container: quay.io/mws/community-mysql-test-containers-my57-py38-pymysql093:0.0.1
# db_engine_version:
# - mysql:5.7.40

View file

@ -15,28 +15,11 @@ The Makefile accept the following options:
- ansible: Mandatory version of ansible to install in a venv to run ansible-test.
- docker_container:
The container image to use to run our test. There images are created in github.com/community.mysql-test-containers and push the following images on quay.io:
- my57-py38-pymysql093
- my57-py38-mysqlclient201-pymysql0711
- my57-py39-pymysql093
- my57-py39-mysqlclient203-pymysql0711
- my57-py310-pymysql093
- my57-py310-mysqlclient211-pymysql0711
- my80-py38-pymysql093
- my80-py38-mysqlclient201-pymysql0711
- my80-py39-pymysql093
- my80-py39-mysqlclient203-pymysql0711
- my80-py310-pymysql093
- my80-py310-mysqlclient211-pymysql0711
- mariadb-py38-pymysql093
- mariadb-py38-mysqlclient201
- mariadb-py39-pymysql093
- mariadb-py39-mysqlclient203
- mariadb-py310-pymysql093
- mariadb-py310-mysqlclient211
Unfortunatly you must provide the right container_image yourself. And you still need to provides db_engine_version, python, etc...
The container image to use to run our tests. Those images Dockerfile are in https://github.com/community.mysql-test-containers and then pushed to quay.io: E.G.:
`quay.io/mws/community-mysql-test-containers-my57-py38-mysqlclient201-pymysql0711:0.0.1`. Look in the link above for a complete list of available containers. You can also look into `.github/workflows/ansible-test-plugins.yml`
Unfortunatly you must provide the right container_image yourself. And you still need to provides db_engine_version, python, etc... because ansible-test won't do black magic to try to detect what we expect. Explicit is better than implicit anyway.
To minimise the amount of images, pymysql 0.7.11 and mysqlclient are shipped together.
- db_engine_version: The name of the container to use. Either MYSQL or MariaDB. Use ':' as a separator. Do not use short version, like mysql:8 for instance. Our tests expect a full version to filter tests based on released version. For instance: when: db_version is version ('8.0.22', '>').
- db_engine_version: The name of the container to use for the service containers that will host a primary database and two replicas. Either MYSQL or MariaDB. Use ':' as a separator. Do not use short version, like mysql:8 for instance. Our tests expect a full version to filter tests precisely. For instance: `when: db_version is version ('8.0.22', '>')`.
- connector: The name of the python package of the connector along with its version number. Use '==' as a separator.
- python: The python version to use in the controller.
- target : If omitted, all test targets will run. But you can limit the tests to a single target to speed up your tests.

View file

@ -50,7 +50,7 @@ test-integration:
python -m venv .venv/$(ansible)
source .venv/$(ansible)/bin/activate
python -m pip install --disable-pip-version-check --user https://github.com/ansible/ansible/archive/$(ansible).tar.gz ansible-test
-set -x; ansible-test integration $(target) -v --color --coverage --retry-on-error --continue-on-error --diff --docker localhost/community.mysql-$(docker_container):0.1.1 --docker-network podman --python $(python); set +x
-set -x; ansible-test integration $(target) -v --color --coverage --retry-on-error --continue-on-error --diff --docker $(docker_container) --docker-network podman --python $(python); set +x
# -set -x; ansible-test integration $(target) -v --color --coverage --retry-on-error --continue-on-error --diff --docker $(docker_container) --docker-network podman --python $(python); set +x
# -set -x; ansible-test integration $(target) -v --color --coverage --diff --docker $(docker_container) --docker-network podman --docker-terminate never --python $(python); set +x
rm tests/integration/db_engine_version