mirror of
https://github.com/ansible-collections/community.mysql.git
synced 2026-02-03 23:01:49 +00:00
Remove testing against mysqlclient (#736)
* Remove testing against mysqlclient * Fix * Update TESTING.md
This commit is contained in:
parent
fed5f30203
commit
04b663b3b7
8 changed files with 8 additions and 77 deletions
40
.github/workflows/ansible-test-plugins.yml
vendored
40
.github/workflows/ansible-test-plugins.yml
vendored
|
|
@ -58,14 +58,10 @@ jobs:
|
||||||
- '11.4.5'
|
- '11.4.5'
|
||||||
connector_name:
|
connector_name:
|
||||||
- pymysql
|
- pymysql
|
||||||
- mysqlclient
|
|
||||||
connector_version:
|
connector_version:
|
||||||
- '0.9.3'
|
- '0.9.3'
|
||||||
- '1.0.2'
|
- '1.0.2'
|
||||||
- '1.1.1'
|
- '1.1.1'
|
||||||
- '2.0.1'
|
|
||||||
- '2.0.3'
|
|
||||||
- '2.1.1'
|
|
||||||
|
|
||||||
include:
|
include:
|
||||||
|
|
||||||
|
|
@ -98,24 +94,6 @@ jobs:
|
||||||
- db_engine_name: mariadb
|
- db_engine_name: mariadb
|
||||||
db_engine_version: '8.4.1'
|
db_engine_version: '8.4.1'
|
||||||
|
|
||||||
- connector_name: pymysql
|
|
||||||
connector_version: '2.0.1'
|
|
||||||
|
|
||||||
- connector_name: pymysql
|
|
||||||
connector_version: '2.0.3'
|
|
||||||
|
|
||||||
- connector_name: pymysql
|
|
||||||
connector_version: '2.1.1'
|
|
||||||
|
|
||||||
- connector_name: mysqlclient
|
|
||||||
connector_version: '0.9.3'
|
|
||||||
|
|
||||||
- connector_name: mysqlclient
|
|
||||||
connector_version: '1.0.2'
|
|
||||||
|
|
||||||
- connector_name: mysqlclient
|
|
||||||
connector_version: '1.1.1'
|
|
||||||
|
|
||||||
- db_engine_version: '8.0.38'
|
- db_engine_version: '8.0.38'
|
||||||
ansible: stable-2.17
|
ansible: stable-2.17
|
||||||
|
|
||||||
|
|
@ -128,24 +106,12 @@ jobs:
|
||||||
- db_engine_version: '10.11.8'
|
- db_engine_version: '10.11.8'
|
||||||
ansible: devel
|
ansible: devel
|
||||||
|
|
||||||
- db_engine_version: '8.4.1'
|
|
||||||
connector_version: '0.9.3'
|
|
||||||
|
|
||||||
- db_engine_version: '8.4.1'
|
|
||||||
connector_version: '1.0.2'
|
|
||||||
|
|
||||||
- db_engine_version: '8.4.1'
|
- db_engine_version: '8.4.1'
|
||||||
connector_version: '2.0.1'
|
connector_version: '2.0.1'
|
||||||
|
|
||||||
- db_engine_version: '8.4.1'
|
- db_engine_version: '8.4.1'
|
||||||
connector_version: '2.0.3'
|
connector_version: '2.0.3'
|
||||||
|
|
||||||
- db_engine_version: '10.11.8'
|
|
||||||
connector_version: '0.9.3'
|
|
||||||
|
|
||||||
- db_engine_version: '10.11.8'
|
|
||||||
connector_version: '1.0.2'
|
|
||||||
|
|
||||||
- db_engine_version: '10.11.8'
|
- db_engine_version: '10.11.8'
|
||||||
connector_version: '2.0.1'
|
connector_version: '2.0.1'
|
||||||
|
|
||||||
|
|
@ -158,12 +124,6 @@ jobs:
|
||||||
- db_engine_version: '8.4.1'
|
- db_engine_version: '8.4.1'
|
||||||
ansible: stable-2.15
|
ansible: stable-2.15
|
||||||
|
|
||||||
- connector_version: '1.1.1'
|
|
||||||
db_engine_version: '8.0.38'
|
|
||||||
|
|
||||||
- connector_version: '1.1.1'
|
|
||||||
db_engine_version: '10.11.8'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db_primary:
|
db_primary:
|
||||||
image: docker.io/library/${{ matrix.db_engine_name }}:${{ matrix.db_engine_version }}
|
image: docker.io/library/${{ matrix.db_engine_name }}:${{ matrix.db_engine_version }}
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,6 @@ The Makefile accept the following options
|
||||||
- Mandatory: true
|
- Mandatory: true
|
||||||
- Choices:
|
- Choices:
|
||||||
- "pymysql"
|
- "pymysql"
|
||||||
- "mysqlclient"
|
|
||||||
- Description: The python package of the connector to use. In addition to selecting the test container, this value is also used for tests filtering: `when: connector_name == 'pymysql'`.
|
- Description: The python package of the connector to use. In addition to selecting the test container, this value is also used for tests filtering: `when: connector_name == 'pymysql'`.
|
||||||
|
|
||||||
- `connector_version`
|
- `connector_version`
|
||||||
|
|
@ -118,7 +117,7 @@ make ansible="stable-2.16" db_engine_name="mysql" db_engine_version="8.0.31" con
|
||||||
|
|
||||||
# Keep databases and ansible tests containers alives
|
# Keep databases and ansible tests containers alives
|
||||||
# A single target and continue on errors
|
# A single target and continue on errors
|
||||||
make ansible="stable-2.17" db_engine_name="mysql" db_engine_version="8.0.31" connector_name="mysqlclient" connector_version="2.0.3" target="test_mysql_query" keep_containers_alive=1 continue_on_errors=1
|
make ansible="stable-2.17" db_engine_name="mysql" db_engine_version="8.0.31" connector_name="pymysql" connector_version="1.0.2" target="test_mysql_query" keep_containers_alive=1 continue_on_errors=1
|
||||||
|
|
||||||
# If your system has an usupported version of Python:
|
# If your system has an usupported version of Python:
|
||||||
make local_python_version="3.10" ansible="stable-2.17" db_engine_name="mariadb" db_engine_version="11.4.5" connector_name="pymysql" connector_version="1.0.2"
|
make local_python_version="3.10" ansible="stable-2.17" db_engine_name="mariadb" db_engine_version="11.4.5" connector_name="pymysql" connector_version="1.0.2"
|
||||||
|
|
|
||||||
2
changelogs/fragments/2-drop_mysql_client.yml
Normal file
2
changelogs/fragments/2-drop_mysql_client.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
breaking_changes:
|
||||||
|
- collection - stop testing against mysqlclient connector as its support was deprecated in this collection - use PyMySQL connector instead! It'll stop working in 5.0.0 when we remove all related code (https://github.com/ansible-collections/community.mysql/issues/654).
|
||||||
|
|
@ -33,14 +33,6 @@
|
||||||
when:
|
when:
|
||||||
- connector_name == 'pymysql'
|
- connector_name == 'pymysql'
|
||||||
|
|
||||||
- name: Assert that mysql_info module used the expected version of mysqlclient
|
|
||||||
assert:
|
|
||||||
that:
|
|
||||||
- primary_info.connector_name == 'MySQLdb'
|
|
||||||
- primary_info.connector_version == connector_version
|
|
||||||
when:
|
|
||||||
- connector_name == 'mysqlclient'
|
|
||||||
|
|
||||||
- name: Get the python version in use
|
- name: Get the python version in use
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: echo $( $(command -v python || command -v python3) -V )
|
cmd: echo $( $(command -v python || command -v python3) -V )
|
||||||
|
|
|
||||||
|
|
@ -404,20 +404,15 @@
|
||||||
- connector_version is version('0.10.0', '<')
|
- connector_version is version('0.10.0', '<')
|
||||||
|
|
||||||
# Issue https://github.com/ansible-collections/community.mysql/issues/268
|
# Issue https://github.com/ansible-collections/community.mysql/issues/268
|
||||||
- name: Assert that create table IF NOT EXISTS is changed with mysqlclient
|
- name: Assert that create table IF NOT EXISTS is changed
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
# Mysqlclient 2.0.1 and pymysql 0.10.0+ drivers throws no warning,
|
# pymysql 0.10.0+ drivers throw no warning,
|
||||||
# so it's impossible to figure out if the state was changed or not.
|
# so it's impossible to figure out if the state was changed or not.
|
||||||
# We assume that it was for DDL queries by default in the code
|
# We assume that it was for DDL queries by default in the code
|
||||||
- result is changed
|
- result is changed
|
||||||
when:
|
when:
|
||||||
- >
|
- connector_name == 'pymysql' and connector_version is version('0.10.0', '>')
|
||||||
connector_name == 'mysqlclient'
|
|
||||||
or (
|
|
||||||
connector_name == 'pymysql'
|
|
||||||
and connector_version is version('0.10.0', '>')
|
|
||||||
)
|
|
||||||
|
|
||||||
- name: Drop db {{ test_db }}
|
- name: Drop db {{ test_db }}
|
||||||
mysql_query:
|
mysql_query:
|
||||||
|
|
|
||||||
|
|
@ -278,7 +278,7 @@
|
||||||
fail_on_error: true
|
fail_on_error: true
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
# mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed"
|
# pymysql 0.10.0+ always returns "changed"
|
||||||
- name: Assert that startreplica is not changed
|
- name: Assert that startreplica is not changed
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
|
|
@ -306,7 +306,7 @@
|
||||||
timeout: 2
|
timeout: 2
|
||||||
|
|
||||||
# Test stopreplica mode:
|
# Test stopreplica mode:
|
||||||
# mysqlclient 2.0.1 and pymysql 0.10.0+ always return "changed"
|
# pymysql 0.10.0+ always returns "changed"
|
||||||
- name: Stop replica that is no longer running
|
- name: Stop replica that is no longer running
|
||||||
mysql_replication:
|
mysql_replication:
|
||||||
<<: *mysql_params
|
<<: *mysql_params
|
||||||
|
|
|
||||||
|
|
@ -60,13 +60,6 @@
|
||||||
when:
|
when:
|
||||||
- connector_name == 'pymysql'
|
- connector_name == 'pymysql'
|
||||||
|
|
||||||
- name: Assert that result is success for mysqlclient
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result is succeeded
|
|
||||||
when:
|
|
||||||
- connector_name != 'pymysql'
|
|
||||||
|
|
||||||
- name: attempt connection with newly created user ignoring hostname
|
- name: attempt connection with newly created user ignoring hostname
|
||||||
community.mysql.mysql_variables:
|
community.mysql.mysql_variables:
|
||||||
variable: '{{ set_name }}'
|
variable: '{{ set_name }}'
|
||||||
|
|
|
||||||
|
|
@ -184,16 +184,6 @@
|
||||||
register: oor_result
|
register: oor_result
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
|
||||||
- include_tasks: assert_var.yml
|
|
||||||
vars:
|
|
||||||
changed: true
|
|
||||||
output: "{{ oor_result }}"
|
|
||||||
var_name: max_connect_errors
|
|
||||||
var_value: 1
|
|
||||||
when:
|
|
||||||
- connector_name == 'mysqlclient'
|
|
||||||
- db_engine == 'mysql' # mysqlclient returns "changed" with MariaDB
|
|
||||||
|
|
||||||
- include_tasks: assert_fail_msg.yml
|
- include_tasks: assert_fail_msg.yml
|
||||||
vars:
|
vars:
|
||||||
output: "{{ oor_result }}"
|
output: "{{ oor_result }}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue