updated in anticipation of moving to installation folder
diff --git a/analysis.yml b/analysis.yml new file mode 100644 index 0000000..531499a --- /dev/null +++ b/analysis.yml
@@ -0,0 +1,45 @@ +--- +- name: Show Zookeeper Leader + hosts: '{{ hosts }}' + tags: ['leader'] + serial: 1 + tasks: + - name: Display Zookeeper Leadership + shell: "echo srvr | nc localhost 2181 | grep Mode:" + +- name: Show Cassandra Ring + hosts: '{{ hosts }}' + tags: ['ring'] + serial: 1 + tasks: + - name: Display Cassandra Ring + shell: "{{ nodetool }} ring" + +- name: Show Cassandra Status + hosts: '{{ hosts }}' + tags: ['status'] + serial: 1 + tasks: + - name: Display Cassandra Ring + shell: "{{ nodetool }} status" + +- name: Show Cassandra Replication Factor + hosts: '{{ hosts }}' + tags: ['replication'] + tasks: + - name: Display Cassandra Replication Factor + shell: "{{ cqlsh }} -e 'select * from system.schema_keyspaces' {{ local_address}}" + +- name: Show Postgres Master Check + hosts: '{{ hosts }}' + tags: ['master'] + tasks: + - name: Display Postgres Master Status Check + shell: "{{ apigee_service }} apigee-postgresql postgres-check-master" + +- name: Show Postgres Standby Check + hosts: '{{ hosts }}' + tags: ['standby'] + tasks: + - name: Display Postgres Standby Status Check + shell: "{{ apigee_service }} apigee-postgresql postgres-check-standby"
diff --git a/components/opdk-install-component.yml b/components/opdk-install-component.yml deleted file mode 100644 index a266279..0000000 --- a/components/opdk-install-component.yml +++ /dev/null
@@ -1,10 +0,0 @@ ---- -- hosts: '{{ hosts }}' - serial: 1 - gather_facts: no - roles: - - { role: apigee-opdk-setup-java-home, tags: ['apigee-pre-req', 'java_home'] } - - { role: apigee-opdk-setup-bootstrap, tags: ['apigee-pre-req', 'apigee-bootstrap'] } - - { role: apigee-opdk-setup-silent-installation-config, tags: ['apigee-pre-req', 'apigee-silent-config'] } - - { role: apigee-opdk-setup-component-installer, tags: ['apigee-component'] } - - { role: apigee-opdk-setup-component, profile: '{{ component_profile }}', tags: ['apigee-component'] }
diff --git a/components/opdk-update-installer.yml b/components/opdk-update-installer.yml deleted file mode 100644 index 74c57df..0000000 --- a/components/opdk-update-installer.yml +++ /dev/null
@@ -1,8 +0,0 @@ ---- -- hosts: '{{ hosts }}' - serial: 1 - gather_facts: no - roles: - - apigee-opdk-setup-java-home - - apigee-opdk-setup-bootstrap - - { role: 'apigee-opdk-setup-component-installer', upgrade_edge: true }
diff --git a/components/opdk-upgrade-component.yml b/components/opdk-upgrade-component.yml deleted file mode 100644 index 4e10d4e..0000000 --- a/components/opdk-upgrade-component.yml +++ /dev/null
@@ -1,30 +0,0 @@ ---- -- hosts: '{{ hosts }}' - serial: 1 - gather_facts: no - roles: - - { - role: apigee-opdk-set-reachable, - reachability: False, - server_types: '{{ server_type_names }}', - when: server_type_names is defined - } - - { - role: apigee-opdk-iptables-port-block, - destination_port: '{{ block_port }}', - when: block_port is defined - } - - { - role: apigee-opdk-update-component, - apigee_component: '{{ upgrade_component }}' - } - - { - role: apigee-opdk-iptables-flush, - when: block_port is defined - } - - { - role: apigee-opdk-set-reachable, - reachability: True, - server_types: '{{ server_type_names }}', - when: server_type_names is defined - }
diff --git a/configuration/opdk-set-reachable.yml b/configuration/opdk-set-reachable.yml deleted file mode 100644 index 28d8a21..0000000 --- a/configuration/opdk-set-reachable.yml +++ /dev/null
@@ -1,10 +0,0 @@ ---- -- hosts: '{{ hosts }}' - serial: 1 - gather_facts: no - vars_files: - - ~/.apigee/credentials.yml - roles: - - { role: apigee-opdk-set-reachable, reachable: '{{ reachability }}', server_types: ['router', 'mp'] } - tags: - - reachability \ No newline at end of file
diff --git a/validations/opdk-setup-log-files.yml b/opdk-setup-log-files.yml similarity index 95% rename from validations/opdk-setup-log-files.yml rename to opdk-setup-log-files.yml index 8e14d6f..5a26457 100644 --- a/validations/opdk-setup-log-files.yml +++ b/opdk-setup-log-files.yml
@@ -1,8 +1,8 @@ --- - hosts: '{{ hosts }}' + gather_facts: no become: true strategy: free - gather_facts: no vars: pattern: - { dir: '/etc/', pattern: 'hosts' } @@ -36,5 +36,6 @@ - { dir: '{{ apigee_installation_home }}/apigee-zookeeper/', pattern: '*yml' } - { dir: '{{ apigee_installation_home }}/apigee-zookeeper/', pattern: '*yaml' } - { dir: '{{ apigee_installation_home }}/apigee-zookeeper/', pattern: '*properties' } + - { dir: '{{ apigee_installation_home }}/apigee-postgresql/', pattern: '*conf' } roles: - { role: apigee-fetch-files, download_pattern: '{{ pattern }}', download_folder: "~/.apigee/logs_configs/{{ hosts }}/" }
diff --git a/upgrade-edge-rollback.yml b/upgrade-edge-rollback.yml new file mode 100644 index 0000000..e0662aa --- /dev/null +++ b/upgrade-edge-rollback.yml
@@ -0,0 +1,24 @@ +--- +- name: Update the ansible cache + hosts: planet + gather_facts: no + vars_files: + - ~/.apigee/credentials.yml + roles: + - { role: apigee-opdk-setup-default-settings, tags: ['cache'] } + +- name: Rolling back installation of {{ component }} on {{ hosts }} to {{ opdk_version }} + hosts: '{{ hosts }}' + gather_facts: no + roles: + - { role: apigee-opdk-setup-bootstrap-rollback, tags: ['rollback'], remove_apigee: true } + - { role: apigee-server-restart, tags: ['restart-server'] } + - { role: apigee-opdk-setup-java-home, tags: ['apigee-pre-req', 'java_home'] } + - { role: apigee-opdk-setup-silent-installation-config, tags: ['apigee-silent-config'], opdk_ldap_type: '2', when: "{{ groups['dc-2'] is defined }}" } + - { role: apigee-opdk-setup-silent-installation-config, tags: ['apigee-silent-config'], opdk_ldap_type: '1', when: "{{ groups['dc-2'] is not defined }}" } + - { role: apigee-opdk-setup-bootstrap, tags: ['apigee-pre-req', 'apigee-bootstrap'], upgrade_edge: true } + - { role: apigee-opdk-setup-component-installer, tags: ['apigee-component'] } + - { role: apigee-opdk-setup-component, profile: '{{ component }}',tags: ['apigee-component'] } + - { role: apigee-opdk-start-components, tags: ['apigee-component', 'start'] } + - { role: apigee-opdk-setup-postgres-master, tags: ['apigee-component', 'master'], when: analytics_component is defined and analytics_component == 'master' } + - { role: apigee-opdk-setup-postgres-standby, tags: ['apigee-component', 'standby'], when: analytics_component is defined and analytics_component == 'standby' }
diff --git a/upgrade-edge.yml b/upgrade-edge.yml new file mode 100644 index 0000000..222929d --- /dev/null +++ b/upgrade-edge.yml
@@ -0,0 +1,194 @@ +--- +- name: Update cache and ensure components are running + hosts: planet + gather_facts: no + tags: ['apigee-pre-req'] + vars_files: + - ~/.apigee/credentials.yml + roles: + - { role: apigee-opdk-setup-default-settings, tags: ['cache'] } + - { role: apigee-opdk-start-components, tags: ['start'] } + - { role: apigee-opdk-setup-java-home, tags: ['java_home'] } + - { role: apigee-opdk-setup-bootstrap, tags: ['apigee-bootstrap'], upgrade_edge: true } + - { role: apigee-opdk-setup-component-installer, tags: ['apigee-component'], upgrade_edge: true } + + +- name: Upgrade Cassandra + hosts: ds + serial: 1 + tags: ['ds'] + gather_facts: no + vars: + upgrade_component: cs,zk + 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 }}' } + +- name: Upgrade Qpid + hosts: qpid + serial: 1 + gather_facts: no + tags: ['qpid'] + vars: + server_type_names: ['qs'] + upgrade_component: qpid + block_port: '{{ qpid_messaging_port }}' + 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-iptables-port-block, destination_port: '{{ block_port }}' } + - { role: apigee-opdk-update-component, apigee_component: '{{ upgrade_component }}' } + - { role: apigee-opdk-iptables-flush } + - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' } + +- name: Upgrade Ldap + hosts: ldap + tags: ['ldap'] + serial: 1 + gather_facts: no + vars: + hosts: ldap + upgrade_component: ldap + 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 }}' } + +- name: Upgrade Qpid Edge Components + hosts: qpid + serial: 1 + gather_facts: no + tags: ['qpid_edge'] + vars: + upgrade_component: edge + block_port: '{{ qpid_messaging_port }}' + server_types: ['qs'] + 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-iptables-port-block, destination_port: '{{ block_port }}' } + - { role: apigee-opdk-update-component, apigee_component: '{{ upgrade_component }}' } + - { role: apigee-opdk-iptables-flush } + - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' } + + +- name: Upgrade Management Server Edge Components + hosts: ms + serial: 1 + gather_facts: no + tags: ['ms_edge'] + 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 }}' } + +- name: Upgrade Router & Message Processor + hosts: rmp + serial: 1 + gather_facts: no + tags: ['rmp'] + vars: + server_type_names: ['router', 'mp'] + upgrade_component: 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 }}' } + - { role: apigee-opdk-set-reachable, reachability: True, server_types: '{{ server_type_names }}' } + +- name: Upgrade UI + hosts: ui + serial: 1 + gather_facts: no + tags: ['ui'] + vars: + upgrade_component: ui + 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 }}' } + +- name: Upgrade PG in DC-1 + include: upgrade-postgres.yml + tags: ['pg'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-ds + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-ds + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-ms + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-ms + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-rmp + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-rmp + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-qpid + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-qpid + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-pgmaster + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-pgmaster + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-1-pgstandby + tags: ['logs'] + +- include: opdk-setup-log-files.yml + vars: + hosts: dc-2-pgstandby + tags: ['logs'] +
diff --git a/upgrade-postgres-fix-pg_control-file.yml b/upgrade-postgres-fix-pg_control-file.yml new file mode 100644 index 0000000..90dd323 --- /dev/null +++ b/upgrade-postgres-fix-pg_control-file.yml
@@ -0,0 +1,33 @@ +--- +- name: Restore broken pg_control file on {{ hosts }} + hosts: '{{ hosts }}' + serial: 1 + gather_facts: no + become: yes + vars: + pg_control_old: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old" + pg_control: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" + tasks: + - name: Determine if old pg_control is incorrectly managed + stat: + path: "{{ pg_control_old }}" + register: pg_control + + - block: + - block: + - name: Restore pg_control file + copy: + src: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old" + dest: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" + + rescue: + - name: Restore pg_control file failed, trying again + shell: "sudo cp {{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old {{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" + + - name: Set pg_control file ownership + file: + path: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" + owner: "{{ opdk_user_name }}" + group: "{{ opdk_group_name }}" + + when: pg_control.stat.exists
diff --git a/upgrade-postgres.yml b/upgrade-postgres.yml new file mode 100644 index 0000000..0a6f676 --- /dev/null +++ b/upgrade-postgres.yml
@@ -0,0 +1,133 @@ +--- +- 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 }}' }
diff --git a/requirements.yml b/upgrade-requirements.yml similarity index 81% rename from requirements.yml rename to upgrade-requirements.yml index 1f515a9..7e2d084 100644 --- a/requirements.yml +++ b/upgrade-requirements.yml
@@ -34,3 +34,11 @@ - src: https://github.com/carlosfrias/apigee-opdk-setup-java-home.git - src: https://github.com/carlosfrias/apigee-opdk-modules + +- src: https://github.com/carlosfrias/apigee-server-restart + +- src: https://github.com/carlosfrias/apigee-opdk-setup-postgres-standby + +- src: https://github.com/carlosfrias/apigee-opdk-cwc-update + +- src: https://github.com/carlosfrias/apigee-opdk-setup-postgres-db-upgrade
diff --git a/upgrade-rollback.yml b/upgrade-rollback.yml deleted file mode 100644 index c95afb3..0000000 --- a/upgrade-rollback.yml +++ /dev/null
@@ -1,27 +0,0 @@ ---- -- name: Update the ansible cache - hosts: planet - tags: ['cache', 'apigee-pre-req' ] - gather_facts: no - vars_files: - - ~/.apigee/credentials.yml - roles: - - apigee-opdk-setup-default-settings - -- name: Rolling back installation and bootstrap - hosts: '{{ hosts }}' - gather_facts: no - tags: ['rollback'] - vars: - remove_apigee: true - opdk_version: 4.16.01 - roles: - - apigee-opdk-setup-bootstrap-rollback - -- name: Bootstap to the specified version on attribute opdk_version - include: components/opdk-install-component.yml - tags: ['install'] - vars: - opdk_version: 4.16.01 - component_profile: "{{ component }}" - upgrade_edge: true
diff --git a/upgrade.yml b/upgrade.yml deleted file mode 100644 index 0dca576..0000000 --- a/upgrade.yml +++ /dev/null
@@ -1,336 +0,0 @@ ---- -- name: Update the ansible cache - hosts: planet - tags: ['cache'] - gather_facts: no - vars_files: - - ~/.apigee/credentials.yml - roles: - - apigee-opdk-setup-default-settings - -- name: All components should be running - gather_facts: no - hosts: planet - tags: ['start'] - serial: 1 - tasks: - - name: All components should be running - shell: "{{ apigee_all }} start" - -- name: Update the installer for planet - include: components/opdk-update-installer.yml - vars: - hosts: planet - upgrade_edge: true - tags: ['installer'] - -- name: Upgrade Cassandra - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: ds - upgrade_component: cs,zk - tags: ['cs-zk'] - -- name: Upgrade qpid - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: qpid - server_type_names: - - qs - upgrade_component: qpid - block_port: '{{ qpid_messaging_port }}' - tags: ['qpid'] - -- name: Upgrade ldap - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: ldap - upgrade_component: ldap - tags: ['ldap'] - -- name: Upgrade qpid - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: qpid - upgrade_component: edge - block_port: '{{ qpid_messaging_port }}' - tags: ['qpid_edge'] - -- name: Upgrade ms - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: ms - upgrade_component: edge - tags: ['ms_edge'] - -- name: Upgrade rmp - include: components/opdk-upgrade-component.yml - vars: - server_type_names: - - router - - mp - upgrade_edge: true - hosts: rmp - upgrade_component: edge - tags: ['rmp'] - -- name: Upgrade ui - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: ui - upgrade_component: ui - tags: ['ui'] - -- name: Stop Postgres components - hosts: pg - gather_facts: no - tags: ['pg', '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 - tags: ['pg', 'pgstop'] - gather_facts: no - hosts: qpid - roles: - - { role: apigee-opdk-stop-components, component_name: 'edge-qpid-server' } - -- name: Upgrade PS component - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: pgmaster - server_type_names: ['ps'] - upgrade_component: ps - tags: - - pgmaster - - pg - -- name: Upgrade PS edge component - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: pgmaster - server_type_names: ['ps'] - upgrade_component: edge - tags: - - pgmaster_edge - - pg - -- name: Restore broken pg_control file on pgmaster - hosts: pgmaster - serial: 1 - gather_facts: no - become: yes - tags: ['pg', 'pg_control'] - vars: - pg_control_old: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old" - pg_control: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" - tasks: - - name: Determine if old pg_control is incorrectly managed - stat: - path: "{{ pg_control_old }}" - register: pg_control - - - block: - - block: - - name: Restore pg_control file - copy: - src: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old" - dest: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" - - rescue: - - name: Restore pg_control file failed, trying again - shell: "sudo cp {{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control.old {{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" - - - name: Set pg_control file ownership - file: - path: "{{ apigee_installation_home }}/data/apigee-postgresql/pgdata-9.3.old/global/pg_control" - owner: "{{ opdk_user_name }}" - group: "{{ opdk_group_name }}" - - when: pg_control.stat.exists - -- name: Upgrade Postgres master - hosts: pgmaster - tags: ['pgmaster_db_upgrade','pg'] - gather_facts: no - serial: 1 - tasks: - - name: PGMaster DB upgrade - shell: '{{ apigee_service }} apigee-postgresql db_upgrade' - -- name: Upgrade Postgres standby - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: pgstandby - server_type_names: ['ps'] - upgrade_component: ps - tags: - - pgstandby - - pg - -- name: Start Postgres components - hosts: ps - serial: 1 - gather_facts: no - tags: ['pg', '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 - hosts: qpid - tags: ['pg', 'pgstart'] - roles: - - { role: apigee-opdk-start-components, component_name: 'edge-qpid-server', component_start_delay: 1 } - -- name: Validate that PG Master is master - hosts: pgmaster - tags: ['pg', '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 - hosts: pgstandby - tags: ['pg', 'pgstandby'] - gather_facts: no - serial: 1 - tasks: - - name: Remove pgdata folder - file: - path: "{{ apigee_installation_home}}/data/apigee-postgresql/pgdata" - state: absent - - - name: Restore empty pgdata folder - file: - path: "{{ apigee_installation_home}}/data/apigee-postgresql/pgdata" - state: directory - owner: "{{ opdk_user_name }}" - group: "{{ opdk_group_name }}" - mode: "0700" - - - name: Setup replication standby - shell: "{{ apigee_service }} apigee-postgresql setup-replication-on-standby -f {{ opdk_installation_config_file }}" - - - name: Setup replication on standby completing work - pause: - seconds: 10 - - - name: Start all components - shell: "{{ apigee_all }} start" - - - name: Component start is completing - pause: - seconds: 10 - - - name: Validate this is postgresql standby - shell: "{{ apigee_service }} apigee-postgresql postgres-check-standby" - tags: - - pgstandby_validate - -- name: Upgrade PG with edge for remaining components - include: components/opdk-upgrade-component.yml - vars: - upgrade_edge: true - hosts: pg - upgrade_component: edge - tags: - - pg - - pg_edge - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-ds - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-ds - tags: - - logs - - dc-2 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-ms - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-ms - tags: - - logs - - dc-2 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-rmp - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-rmp - tags: - - logs - - dc-2 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-qpid - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-qpid - tags: - - logs - - dc-2 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-pgmaster - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-pgmaster - tags: - - logs - - dc-2 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-1-pgstandby - tags: - - logs - - dc-1 - -- include: validations/opdk-setup-log-files.yml - vars: - hosts: dc-2-pgstandby - tags: - - logs - - dc-2 -