|
@@ -1,71 +1,4 @@
|
|
|
---
|
|
|
-- include: ../openshift-cluster/evaluate_groups.yml
|
|
|
-
|
|
|
-- name: Validate configuration for rolling restart
|
|
|
- hosts: oo_masters_to_config
|
|
|
- roles:
|
|
|
- - openshift_facts
|
|
|
- tasks:
|
|
|
- - fail:
|
|
|
- msg: "openshift_rolling_restart_mode must be set to either 'services' or 'system'"
|
|
|
- when: openshift_rolling_restart_mode is defined and openshift_rolling_restart_mode not in ["services", "system"]
|
|
|
- - openshift_facts:
|
|
|
- role: "{{ item.role }}"
|
|
|
- local_facts: "{{ item.local_facts }}"
|
|
|
- with_items:
|
|
|
- - role: common
|
|
|
- local_facts:
|
|
|
- rolling_restart_mode: "{{ openshift_rolling_restart_mode | default('services') }}"
|
|
|
- - role: master
|
|
|
- local_facts:
|
|
|
- cluster_method: "{{ openshift_master_cluster_method | default(None) }}"
|
|
|
-
|
|
|
-# Creating a temp file on localhost, we then check each system that will
|
|
|
-# be rebooted to see if that file exists, if so we know we're running
|
|
|
-# ansible on a machine that needs a reboot, and we need to error out.
|
|
|
-- name: Create temp file on localhost
|
|
|
- hosts: localhost
|
|
|
- connection: local
|
|
|
- become: no
|
|
|
- gather_facts: no
|
|
|
- tasks:
|
|
|
- - local_action: command mktemp
|
|
|
- register: mktemp
|
|
|
- changed_when: false
|
|
|
-
|
|
|
-- name: Check if temp file exists on any masters
|
|
|
- hosts: oo_masters_to_config
|
|
|
- tasks:
|
|
|
- - stat: path="{{ hostvars.localhost.mktemp.stdout }}"
|
|
|
- register: exists
|
|
|
- changed_when: false
|
|
|
-
|
|
|
-- name: Cleanup temp file on localhost
|
|
|
- hosts: localhost
|
|
|
- connection: local
|
|
|
- become: no
|
|
|
- gather_facts: no
|
|
|
- tasks:
|
|
|
- - file: path="{{ hostvars.localhost.mktemp.stdout }}" state=absent
|
|
|
- changed_when: false
|
|
|
-
|
|
|
-- name: Warn if restarting the system where ansible is running
|
|
|
- hosts: oo_masters_to_config
|
|
|
- tasks:
|
|
|
- - pause:
|
|
|
- prompt: >
|
|
|
- Warning: Running playbook from a host that will be restarted!
|
|
|
- Press CTRL+C and A to abort playbook execution. You may
|
|
|
- continue by pressing ENTER but the playbook will stop
|
|
|
- executing after this system has been restarted and services
|
|
|
- must be verified manually. To only restart services, set
|
|
|
- openshift_master_rolling_restart_mode=services in host
|
|
|
- inventory and relaunch the playbook.
|
|
|
- when: exists.stat.exists and openshift.common.rolling_restart_mode == 'system'
|
|
|
- - set_fact:
|
|
|
- current_host: "{{ exists.stat.exists }}"
|
|
|
- when: openshift.common.rolling_restart_mode == 'system'
|
|
|
-
|
|
|
- name: Restart masters
|
|
|
hosts: oo_masters_to_config
|
|
|
vars:
|