summaryrefslogtreecommitdiffstats
path: root/roles/openshift_node/tasks/upgrade.yml
blob: c5121c5b2177dac9581604482486dccaa5396c99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
# input variables:
# - l_docker_upgrade
# - openshift_is_atomic
# - node_config_hook
# - openshift_pkg_version
# - openshift_is_containerized
# - openshift_release

# tasks file for openshift_node_upgrade

- name: stop services for upgrade
  include_tasks: upgrade/stop_services.yml

# Ensure actually install latest package.
- name: install docker upgrade rpm
  command: "{{ ansible_pkg_mgr }} install -C -y docker{{ '-' + docker_version }}"
  register: result
  until: result is succeeded
  when:
  - l_docker_upgrade is defined
  - l_docker_upgrade | bool

- name: install pre-pulled rpms.
  include_tasks: upgrade/rpm_upgrade_install.yml
  vars:
    openshift_version: "{{ openshift_pkg_version | default('') }}"
  when: not openshift_is_containerized | bool


- include_tasks: "{{ node_config_hook }}"
  when: node_config_hook is defined

- include_tasks: upgrade/config_changes.yml

# Restart all services
- include_tasks: upgrade/restart.yml

- name: Wait for node to be ready
  oc_obj:
    state: list
    kind: node
    name: "{{ openshift.common.hostname | lower }}"
  register: node_output
  delegate_to: "{{ groups.oo_first_master.0 }}"
  until: node_output.results.returncode == 0 and node_output.results.results[0].status.conditions | selectattr('type', 'match', '^Ready$') | map(attribute='status') | join | bool == True
  # Give the node two minutes to come back online.
  retries: 24
  delay: 5

- include_tasks: dnsmasq_install.yml
- include_tasks: dnsmasq.yml

- meta: flush_handlers