---
- name: Stop Postgres Components in {{ region }}
  hosts: pg
  gather_facts: no
  tags: ['pgstop']
  roles:
  - { role:  apigee-opdk-stop-components, component_name: 'edge-postgres-server' }
  - { role:  apigee-opdk-stop-components, component_name: 'apigee-postgresql' }

- name: Stop Qpid components in {{ region }}
  hosts: "{{ region }}-qpid"
  gather_facts: no
  tags: ['pgstop']
  roles:
  - { role:  apigee-opdk-stop-components, component_name: 'edge-qpid-server' }

- name: Upgrade PS component in {{ region }}
  hosts: pgmaster
  serial: 1
  gather_facts: no
  tags: ['pgmaster']
  vars:
    server_type_names: ['ps']
    upgrade_component: ps
  pre_tasks:
  - name: Report current node
    debug:
      msg: "Upgrading component {{ upgrade_component }} on {{ inventory_hostname }} ( {{ ansible_hostname }} )"
  roles:
  - { role: apigee-opdk-set-reachable, reachability: False, server_types: '{{ server_type_names }}' }
  - { role: apigee-opdk-update-component,  apigee_component: '{{ upgrade_component }}', validate_ready: false }
  - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' }

- name: Upgrade PS edge component in {{ region }}
  hosts: pgmaster
  serial: 1
  gather_facts: no
  vars:
    server_type_names: ['ps']
    upgrade_component: edge
  tags: ['pgmaster_edge']
  pre_tasks:
  - name: Report current node
    debug:
      msg: "Upgrading component {{ upgrade_component }} on {{ inventory_hostname }} ( {{ ansible_hostname }} )"
  roles:
  - { role: apigee-opdk-set-reachable, reachability: False, server_types: '{{ server_type_names }}' }
  - { role: apigee-opdk-update-component,  apigee_component: '{{ upgrade_component }}', validate_ready: false }
  - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' }

- name: Verify and resolve PG issues with upgrade
  include: upgrade-postgres-fix-pg_control-file.yml
  vars:
    hosts: pgmaster
  tags: ['pg_control']

- name: Upgrade Postgres master in {{ region }}
  hosts: pgmaster
  tags: ['db_upgrade']
  gather_facts: no
  serial: 1
  roles:
  - { role: apigee-opdk-setup-postgres-=db-upgrade }

- name: Upgrade Postgres standby in DC-1
  hosts: pgstandby
  serial: 1
  gather_facts: no
  vars:
    server_type_names: ['ps']
    upgrade_component: ps
    validate_ready: false
  tags: ['pgstandby']
  pre_tasks:
  - name: Report current node
    debug:
      msg: "Upgrading component {{ upgrade_component }} on {{ inventory_hostname }} ( {{ ansible_hostname }} )"
  roles:
  - { role: apigee-opdk-set-reachable, reachability: False, server_types: '{{ server_type_names }}' }
  - { role: apigee-opdk-update-component,  apigee_component: '{{ upgrade_component }}', validate_ready: false }
  - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' }

- name: Start Postgres components in {{ region }}
  hosts: pg
  serial: 1
  gather_facts: no
  tags: ['pgstart']
  roles:
  - { role:  apigee-opdk-start-components, component_name: 'edge-postgres-server', component_start_delay: 1 }
  - { role:  apigee-opdk-start-components, component_name: 'apigee-postgresql', component_start_delay: 1 }

- name: Start Qpid components in {{ region }}
  hosts: "{{ region }}-qpid"
  tags: ['pgstart']
  roles:
  - { role:  apigee-opdk-start-components, component_name: 'edge-qpid-server', component_start_delay: 1 }

- name: Validate that PG Master is master in {{ region }}
  hosts: pgmaster
  tags: ['pgmaster_validate']
  serial: 1
  gather_facts: no
  tasks:
  - name: Validate this is postgresql master
    shell: "{{ apigee_service }} apigee-postgresql postgres-check-master"

- name: Setup and Validate that PG Standby is standby in {{ region }}
  hosts: pgstandby
  tags: ['pgstandby']
  gather_facts: no
  serial: 1
  vars:
    cwc_properties:
    - { key: conf_postgresql_max_wal_senders, value: '3', file_name: 'postgresql' }
    - { key: conf_postgresql_wal_keep_segments, value: '500', file_name: 'postgresql' }
  roles:
  - { role: apigee-opdk-setup-postgres-standby }
  - { role: apigee-opdk-cwc-update, when: update_max_wal_settings is defined and update_max_wal_settings }
  - { role: apigee-opdk-setup-postgres-standby, when: update_max_wal_settings is defined and update_max_wal_settings }

- name: Upgrade PG with edge for remaining components in {{ region }}
  hosts: pg
  tags: ['pg_edge']
  serial: 1
  gather_facts: no
  vars:
    upgrade_component: edge
  pre_tasks:
  - name: Report current node
    debug:
      msg: "Upgrading component {{ upgrade_component }} on {{ inventory_hostname }} ( {{ ansible_hostname }} )"
  roles:
  - { role: apigee-opdk-update-component,  apigee_component: '{{ upgrade_component }}' }
