diff --git a/.github/workflows/ansible-test-plugins.yml b/.github/workflows/ansible-test-plugins.yml index 5c79d2c..f20a02c 100644 --- a/.github/workflows/ansible-test-plugins.yml +++ b/.github/workflows/ansible-test-plugins.yml @@ -58,14 +58,10 @@ jobs: - '11.4.5' connector_name: - pymysql - - mysqlclient connector_version: - '0.9.3' - '1.0.2' - '1.1.1' - - '2.0.1' - - '2.0.3' - - '2.1.1' include: @@ -98,24 +94,6 @@ jobs: - db_engine_name: mariadb 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' ansible: stable-2.17 @@ -128,24 +106,12 @@ jobs: - db_engine_version: '10.11.8' 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' connector_version: '2.0.1' - db_engine_version: '8.4.1' 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' connector_version: '2.0.1' @@ -158,12 +124,6 @@ jobs: - db_engine_version: '8.4.1' 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: db_primary: image: docker.io/library/${{ matrix.db_engine_name }}:${{ matrix.db_engine_version }} diff --git a/TESTING.md b/TESTING.md index 45e6bba..ba16127 100644 --- a/TESTING.md +++ b/TESTING.md @@ -73,7 +73,6 @@ The Makefile accept the following options - Mandatory: true - Choices: - "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'`. - `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 # 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: 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" diff --git a/changelogs/fragments/2-drop_mysql_client.yml b/changelogs/fragments/2-drop_mysql_client.yml new file mode 100644 index 0000000..f854395 --- /dev/null +++ b/changelogs/fragments/2-drop_mysql_client.yml @@ -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). diff --git a/tests/integration/targets/setup_controller/tasks/verify.yml b/tests/integration/targets/setup_controller/tasks/verify.yml index d3d615f..c72b16e 100644 --- a/tests/integration/targets/setup_controller/tasks/verify.yml +++ b/tests/integration/targets/setup_controller/tasks/verify.yml @@ -33,14 +33,6 @@ when: - 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 ansible.builtin.shell: cmd: echo $( $(command -v python || command -v python3) -V ) diff --git a/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml b/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml index 5545111..3314ddc 100644 --- a/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml +++ b/tests/integration/targets/test_mysql_query/tasks/mysql_query_initial.yml @@ -404,20 +404,15 @@ - connector_version is version('0.10.0', '<') # 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: 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. # We assume that it was for DDL queries by default in the code - result is changed when: - - > - connector_name == 'mysqlclient' - or ( - connector_name == 'pymysql' - and connector_version is version('0.10.0', '>') - ) + - connector_name == 'pymysql' and connector_version is version('0.10.0', '>') - name: Drop db {{ test_db }} mysql_query: diff --git a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml index 182ea5c..d87bada 100644 --- a/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml +++ b/tests/integration/targets/test_mysql_replication/tasks/mysql_replication_initial.yml @@ -278,7 +278,7 @@ fail_on_error: true 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 assert: that: @@ -306,7 +306,7 @@ timeout: 2 # 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 mysql_replication: <<: *mysql_params diff --git a/tests/integration/targets/test_mysql_variables/tasks/issue-28.yml b/tests/integration/targets/test_mysql_variables/tasks/issue-28.yml index 89d3d26..cf2a7ca 100644 --- a/tests/integration/targets/test_mysql_variables/tasks/issue-28.yml +++ b/tests/integration/targets/test_mysql_variables/tasks/issue-28.yml @@ -60,13 +60,6 @@ when: - 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 community.mysql.mysql_variables: variable: '{{ set_name }}' diff --git a/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml b/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml index e2fe9ab..bc3100c 100644 --- a/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml +++ b/tests/integration/targets/test_mysql_variables/tasks/mysql_variables.yml @@ -184,16 +184,6 @@ register: oor_result 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 vars: output: "{{ oor_result }}"