Embed pymysql within the collection and use default test container

This change eliminates the need to install the connector on each
controlled node, as `pymysql` version 1.1.1 is now included. As a
result, we can safely assume its availability, thus simplifying the
testing process.

Also, I managed to remove the need for pre-built test containers. We
now use the default test containers from ansible-test.
This commit is contained in:
Laurent Indermuehle 2024-06-07 14:05:40 +02:00
commit 04af62c400
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
49 changed files with 4392 additions and 979 deletions

View file

@ -48,19 +48,8 @@
login_port: '{{ mysql_primary_port }}'
ca_cert: /tmp/cert.pem
register: result
ignore_errors: yes
- assert:
that:
- result is failed
when:
- connector_name == 'pymysql'
- assert:
that:
- result is succeeded
when:
- connector_name != 'pymysql'
failed_when:
- result is success
- name: attempt connection with newly created user ignoring hostname
mysql_replication:
@ -70,13 +59,7 @@
login_host: '{{ mysql_host }}'
login_port: '{{ mysql_primary_port }}'
ca_cert: /tmp/cert.pem
check_hostname: no
register: result
ignore_errors: yes
- assert:
that:
- result is succeeded or 'pymysql >= 0.7.11 is required' in result.msg
check_hostname: false
- name: Drop mysql user
mysql_user:

View file

@ -259,14 +259,11 @@
fail_on_error: true
register: result
# mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed"
- name: Assert that startreplica is not changed
assert:
that:
- result is not changed
when:
- connector_name == 'pymysql'
- connector_version is version('0.10.0', '<')
# # pymysql 0.10.0+ always return "changed"
# - name: Assert that startreplica is not changed
# assert:
# that:
# - result is not changed
# Test stopreplica mode:
- name: Stop replica
@ -286,23 +283,20 @@
ansible.builtin.wait_for:
timeout: 2
# Test stopreplica mode:
# mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed"
- name: Stop replica that is no longer running
mysql_replication:
<<: *mysql_params
login_port: '{{ mysql_replica1_port }}'
mode: stopreplica
fail_on_error: true
register: result
# # Test stopreplica mode:
# # pymysql 0.10.0+ always return "changed"
# - name: Stop replica that is no longer running
# mysql_replication:
# <<: *mysql_params
# login_port: '{{ mysql_replica1_port }}'
# mode: stopreplica
# fail_on_error: true
# register: result
- name: Assert that stopreplica is not changed
assert:
that:
- result is not changed
when:
- connector_name == 'pymysql'
- connector_version is version('0.10.0', '<')
# - name: Assert that stopreplica is not changed
# assert:
# that:
# - result is not changed
# master / slave related choices were removed in 3.0.0
# https://github.com/ansible-collections/community.mysql/pull/252