1# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
2# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
3
4- vars:
5    mysql_params: &mysql_params
6      login_user: '{{ mysql_user }}'
7      login_password: '{{ mysql_password }}'
8      login_host: 127.0.0.1
9
10  block:
11
12    # Test primary_delay mode:
13    - name: Run replication
14      mysql_replication:
15        <<: *mysql_params
16        login_port: '{{ mysql_replica1_port }}'
17        mode: changeprimary
18        primary_delay: '{{ test_primary_delay }}'
19      register: result
20
21    - assert:
22        that:
23        - result is changed
24        - result.queries == ["CHANGE MASTER TO MASTER_DELAY=60"]
25
26    # Auxiliary step:
27    - name: Start replica
28      mysql_replication:
29        <<: *mysql_params
30        login_port: '{{ mysql_replica1_port }}'
31        mode: startreplica
32      register: result
33
34    # Check primary_delay:
35    - name: Get standby status
36      mysql_replication:
37        <<: *mysql_params
38        login_port: '{{ mysql_replica1_port }}'
39        mode: getreplica
40      register: replica_status
41
42    - assert:
43        that:
44        - replica_status.SQL_Delay == {{ test_primary_delay }}
45        - replica_status is not changed
46