From 288f4cfef9ae0f585836f4bef8e19407322a0e17 Mon Sep 17 00:00:00 2001 From: Andrew Klychkov Date: Wed, 9 Dec 2020 15:37:48 +0300 Subject: [PATCH] Add version check to the tests --- .../tasks/mysql_replication_initial.yml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) 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 8f548fd..4a18fea 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 @@ -8,6 +8,22 @@ login_host: 127.0.0.1 block: + - name: find out the database version + mysql_info: + <<: *mysql_params + login_port: '{{ mysql_primary_port }}' + filter: version + register: db + + - name: Set mysql8022_and_higher + set_fact: + mysql8022_and_higher: false + + - name: Set mysql8022_and_higher + set_fact: + mysql8022_and_higher: true + when: + - db.version.major > 8 or (db.version.major == 8 and db.version.minor > 0) or (db.version.major == 8 and db.version.minor == 0 and db.version.release > 21) - name: alias mysql command to include default options set_fact: @@ -139,6 +155,18 @@ - slave_status.Last_IO_Errno == 0 - slave_status.Last_IO_Error == '' - slave_status is not changed + when: mysql8022_and_higher == false + + - assert: + that: + - slave_status.Is_Slave == true + - slave_status.Source_Host == '{{ mysql_host }}' + - slave_status.Exec_Source_Log_Pos == mysql_primary_status.Position + - slave_status.Source_Port == {{ mysql_primary_port }} + - slave_status.Last_IO_Errno == 0 + - slave_status.Last_IO_Error == '' + - slave_status is not changed + when: mysql8022_and_higher == true # Create test table and add data to it: - name: Create test table @@ -164,6 +192,12 @@ - assert: that: - slave_status.Exec_Master_Log_Pos != mysql_primary_status.Position + when: mysql8022_and_higher == false + + - assert: + that: + - slave_status.Exec_Source_Log_Pos != mysql_primary_status.Position + when: mysql8022_and_higher == true - shell: pip show pymysql | awk '/Version/ {print $2}' register: pymysql_version