|  | --- | 
|  | - block: | 
|  |  | 
|  | - name: Obtain pgmaster IP for DC 2, if not provided | 
|  | set_fact: | 
|  | pgmaster_ip: "{{ hostvars[groups['dc-2-pgmaster'][0]][interface_name].ipv4.address }}" | 
|  | when: pgmaster_ip is not defined and groups['dc-2-pgmaster'] is defined | 
|  |  | 
|  | - name: Obtain pgstandby IP for DC 2, if not provided | 
|  | set_fact: | 
|  | pgstandby_ip: "{{ hostvars[groups['dc-2-pgstandby'][0]][interface_name].ipv4.address }}" | 
|  | when: pgstandby_ip is not defined and groups['dc-2-pgstandby'] is defined | 
|  |  | 
|  | - name: Set pgmaster_ip for DC 2, in cache, if defined | 
|  | cache: | 
|  | key: pgmaster_ip | 
|  | value: '{{ pgmaster_ip }}' | 
|  | when: pgmaster_ip is defined | 
|  |  | 
|  | - name: Set pgstandby_ip for DC 2, in cache, if defined | 
|  | cache: | 
|  | key: pgstandby_ip | 
|  | value: '{{ pgstandby_ip }}' | 
|  | when: pgstandby_ip is defined | 
|  |  | 
|  | when: (groups['dc-2-pgmaster'] is defined or groups['dc-2-pgstandby'] is defined) and inventory_hostname in groups['dc-2'] | 
|  |  | 
|  | - block: | 
|  | - name: Obtain pgmaster IP for DC 1, if not provided | 
|  | set_fact: | 
|  | pgmaster_ip: "{{ hostvars[groups['dc-1-pgmaster'][0]][interface_name].ipv4.address }}" | 
|  | when: pgmaster_ip is not defined and groups['dc-1-pgmaster'] is defined | 
|  |  | 
|  | - name: Obtain pgstandby IP for DC 1, if not provided | 
|  | set_fact: | 
|  | pgstandby_ip: "{{ hostvars[groups['dc-1-pgstandby'][0]][interface_name].ipv4.address }}" | 
|  | when: pgstandby_ip is not defined and groups['dc-1-pgstandby'] is defined | 
|  |  | 
|  | - name: Set pgmaster_ip for DC 1, in cache, if defined | 
|  | cache: | 
|  | key: pgmaster_ip | 
|  | value: '{{ pgmaster_ip }}' | 
|  | when: pgmaster_ip is defined | 
|  |  | 
|  | - name: Set pgstandby_ip for DC 1, in cache, if defined | 
|  | cache: | 
|  | key: pgstandby_ip | 
|  | value: '{{ pgstandby_ip }}' | 
|  | when: pgstandby_ip is defined | 
|  |  | 
|  | when: (groups['dc-1-pgmaster'] is defined or groups['dc-1-pgstandby'] is defined) and inventory_hostname in groups['dc-1'] | 
|  |  | 
|  | - block: | 
|  | - name: Obtain pgmaster IP for DC 1, if not provided | 
|  | set_fact: | 
|  | pgmaster_ip: "{{ groups['dc-1-pgmaster'][0] }}" | 
|  |  | 
|  | - name: Obtain pgstandby IP for DC 1, if not provided | 
|  | set_fact: | 
|  | pgstandby_ip: "{{ groups['dc-2-pgstandby'][0] }}" | 
|  |  | 
|  | - name: Set pgmaster_ip for DC 1, in cache, if defined | 
|  | cache: | 
|  | key: pgmaster_ip | 
|  | value: '{{ pgmaster_ip }}' | 
|  |  | 
|  | - name: Set pgstandby_ip for DC 1, in cache, if defined | 
|  | cache: | 
|  | key: pgstandby_ip | 
|  | value: '{{ pgstandby_ip }}' | 
|  |  | 
|  | when: groups['dc-1-pgmaster'] is defined and groups['dc-2-pgstandby'] is defined |