Refactor way tests info are passed from sed to file with lookup

The idea is to avoid modifying test targets from the workflow to prevent
ansible-test to think every tests needs to be run.
This commit is contained in:
Laurent Indermuehle 2023-01-05 19:04:51 +01:00
commit 98ce2af28c
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
7 changed files with 35 additions and 22 deletions

View file

@ -1,4 +1,2 @@
---
home_dir: "{{ playbook_dir }}/root"
db_engine_version: mysql:8.0.22
python_packages: [pymysql == 0.9.3]

View file

@ -0,0 +1,5 @@
---
- name: "{{ role_name }} | Connector | Install python packages"
ansible.builtin.pip:
name: "{{ connector_name }}"

View file

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

View file

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

View file

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