diff --git a/.github/workflows/ansible-test-plugins.yml b/.github/workflows/ansible-test-plugins.yml index 42f2738..8aae466 100644 --- a/.github/workflows/ansible-test-plugins.yml +++ b/.github/workflows/ansible-test-plugins.yml @@ -15,9 +15,6 @@ on: - cron: '0 6 * * *' -env: - config_file: "tests/integration/targets/setup_controller/defaults/main.yml" - jobs: # sanity: # name: "Sanity (Ansible: ${{ matrix.ansible }})" @@ -128,9 +125,9 @@ jobs: ansible-core-version: ${{ matrix.ansible }} pre-test-cmd: >- >&2 echo Setting db_engine_version to ${{ matrix.db_engine_version }}...; - sed -i 's/^db_engine_version:.*/db_engine_version: [${{ matrix.db_engine_version }}]/' ${{ env.config_file }} + echo ${{ matrix.db_engine_version }} > tests/integration/db_engine_version >&2 echo Setting Connector version to ${{ matrix.connector }}...; - sed -i 's/^python_packages:.*/python_packages: [${{ matrix.connector }}]/' ${{ env.config_file }} + echo ${{ matrix.connector }} > tests/integration/connector target-python-version: ${{ matrix.python }} testing-type: integration diff --git a/Makefile b/Makefile index bbc7768..d02cf6e 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ .PHONY: test-integration test-integration: + echo "mysql:8.0.22" > tests/integration/db_engine_version + echo "pymysql==0.9.3" > tests/integration/connector podman run \ --detach \ --name primary \ @@ -32,7 +34,9 @@ test-integration: --volume ./tests/integration/targets/setup_mysql/replica2/:/etc/mysql/conf.d/ \ mysql:8.0.22 while ! podman healthcheck run primary && [[ "$$SECONDS" -lt 120 ]]; do sleep 1; done - -set -x; ansible-test integration -v --color --coverage --retry-on-error --continue-on-error --diff --docker --docker-network podman --python 3.8; set +x + -set -x; ansible-test integration -v --color --coverage --retry-on-error --continue-on-error --diff --docker --docker-network podman --python 3.8; set +x + rm tests/integration/db_engine_version + rm tests/integration/connector podman stop --time 0 --ignore primary podman stop --time 0 --ignore replica1 podman stop --time 0 --ignore replica2 diff --git a/tests/integration/targets/setup_controller/defaults/main.yml b/tests/integration/targets/setup_controller/defaults/main.yml index 6f4db3b..d972129 100644 --- a/tests/integration/targets/setup_controller/defaults/main.yml +++ b/tests/integration/targets/setup_controller/defaults/main.yml @@ -1,4 +1,2 @@ --- home_dir: "{{ playbook_dir }}/root" -db_engine_version: mysql:8.0.22 -python_packages: [pymysql == 0.9.3] diff --git a/tests/integration/targets/setup_controller/tasks/connector.yml b/tests/integration/targets/setup_controller/tasks/connector.yml new file mode 100644 index 0000000..5c48142 --- /dev/null +++ b/tests/integration/targets/setup_controller/tasks/connector.yml @@ -0,0 +1,5 @@ +--- + +- name: "{{ role_name }} | Connector | Install python packages" + ansible.builtin.pip: + name: "{{ connector_name }}" diff --git a/tests/integration/targets/setup_controller/tasks/install.yml b/tests/integration/targets/setup_controller/tasks/install.yml index d59dae7..6064404 100644 --- a/tests/integration/targets/setup_controller/tasks/install.yml +++ b/tests/integration/targets/setup_controller/tasks/install.yml @@ -11,11 +11,6 @@ environment: DEBIAN_FRONTEND: noninteractive -- name: "{{ role_name }} | install | install python packages" - ansible.builtin.pip: - name: "{{ python_packages }}" - register: connector - - name: "{{ role_name }} | install | Ensure fake root folder" ansible.builtin.file: path: "{{ playbook_dir }}/root" diff --git a/tests/integration/targets/setup_controller/tasks/main.yml b/tests/integration/targets/setup_controller/tasks/main.yml index f3436ed..b3a4dcb 100644 --- a/tests/integration/targets/setup_controller/tasks/main.yml +++ b/tests/integration/targets/setup_controller/tasks/main.yml @@ -11,3 +11,7 @@ - name: Set variables ansible.builtin.import_tasks: file: setvars.yml + +- name: Install MySQL connector + ansible.builtin.import_tasks: + file: connector.yml diff --git a/tests/integration/targets/setup_controller/tasks/setvars.yml b/tests/integration/targets/setup_controller/tasks/setvars.yml index 9ea9eb7..d126c27 100644 --- a/tests/integration/targets/setup_controller/tasks/setvars.yml +++ b/tests/integration/targets/setup_controller/tasks/setvars.yml @@ -1,20 +1,29 @@ --- -- name: "{{ role_name }} | setvars | Extract Podman/Docker Network Gateway" +- name: "{{ role_name }} | Setvars | Extract Podman/Docker Network Gateway" ansible.builtin.shell: cmd: ip route|grep default|awk '{print $3}' register: ip_route_output -- name: "{{ role_name }} | setvars | Set Fact" +- name: "{{ role_name }} | Setvars | Set Fact" ansible.builtin.set_fact: - connector_name: "{{ connector.name.0 }}" gateway_addr: "{{ ip_route_output.stdout }}" - db_engine: "{{ db_engine_version | split(':') | first }}" - db_version: "{{ db_engine_version | split(':') | last }}" + connector_name: > + {{ lookup( + 'file', + '/root/ansible_collections/community/mysql/tests/integration/connector' + ) }} + db_engine_version: > + {{ lookup( + 'file', + '/root/ansible_collections/community/mysql/tests/integration/db_engine_version' + ) }}" -- name: "{{ role_name }} | setvars | Set Fact using above facts" +- name: "{{ role_name }} | Setvars | Set Fact using above facts" ansible.builtin.set_fact: connector_ver: "{{ connector_name.split('=')[2].strip() }}" + db_engine: "{{ db_engine_version | split(':') | first }}" + db_version: "{{ db_engine_version | split(':') | last }}" mysql_command: >- mysql -h{{ gateway_addr }} @@ -29,9 +38,10 @@ -p{{ mysql_password }} --protocol=tcp -- name: "{{ role_name }} | setvars | Debug connector info" +- name: "{{ role_name }} | Setvars | Output test informations" ansible.builtin.debug: msg: > Connector name: {{ connector_name }}, - Connector version: {{ connector_ver }} - db_engine: {{ db_engine }} + Connector version: {{ connector_ver }}, + db_engine: {{ db_engine }}, + db_version: {{ db_version }}