blob: ae205b172e78e1ec5b54d226971886718b0e70e9 (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
---
#
# Node Upgrade Playbook
#
# Upgrades nodes only, but requires the control plane to have already been upgraded.
#
- include: ../init.yml
tags:
- pre_upgrade
- name: Configure the upgrade target for the common upgrade tasks
hosts: oo_all_hosts
tags:
- pre_upgrade
tasks:
- set_fact:
openshift_upgrade_target: "{{ '1.4' if deployment_type == 'origin' else '3.4' }}"
openshift_upgrade_min: "{{ '1.3' if deployment_type == 'origin' else '3.3' }}"
# Pre-upgrade
- include: ../initialize_nodes_to_upgrade.yml
tags:
- pre_upgrade
- name: Update repos on nodes
hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config:oo_lb_to_config
roles:
- openshift_repos
tags:
- pre_upgrade
- name: Set openshift_no_proxy_internal_hostnames
hosts: oo_masters_to_config:oo_nodes_to_upgrade
tags:
- pre_upgrade
tasks:
- set_fact:
openshift_no_proxy_internal_hostnames: "{{ hostvars | oo_select_keys(groups['oo_nodes_to_upgrade']
| union(groups['oo_masters_to_config'])
| union(groups['oo_etcd_to_config'] | default([])))
| oo_collect('openshift.common.hostname') | default([]) | join (',')
}}"
when: "{{ (openshift_http_proxy is defined or openshift_https_proxy is defined) and
openshift_generate_no_proxy_hosts | default(True) | bool }}"
- include: ../pre/verify_inventory_vars.yml
tags:
- pre_upgrade
- include: ../disable_node_excluders.yml
tags:
- pre_upgrade
- include: ../../initialize_openshift_version.yml
tags:
- pre_upgrade
vars:
# Request specific openshift_release and let the openshift_version role handle converting this
# to a more specific version, respecting openshift_image_tag and openshift_pkg_version if
# defined, and overriding the normal behavior of protecting the installed version
openshift_release: "{{ openshift_upgrade_target }}"
openshift_protect_installed_version: False
# We skip the docker role at this point in upgrade to prevent
# unintended package, container, or config upgrades which trigger
# docker restarts. At this early stage of upgrade we can assume
# docker is configured and running.
skip_docker_role: True
- name: Verify masters are already upgraded
hosts: oo_masters_to_config
tags:
- pre_upgrade
tasks:
- fail: msg="Master running {{ openshift.common.version }} must be upgraded to {{ openshift_version }} before node upgrade can be run."
when: openshift.common.version != openshift_version
- include: ../pre/verify_control_plane_running.yml
tags:
- pre_upgrade
- include: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade
- include: ../pre/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade
- include: ../pre/gate_checks.yml
tags:
- pre_upgrade
# Pre-upgrade completed, nothing after this should be tagged pre_upgrade.
# Separate step so we can execute in parallel and clear out anything unused
# before we get into the serialized upgrade process which will then remove
# remaining images if possible.
- name: Cleanup unused Docker images
hosts: oo_nodes_to_upgrade
tasks:
- include: ../cleanup_unused_images.yml
- include: ../upgrade_nodes.yml
|