blob: 1e704b66c33948bae36727598a4603a082a50f32 (
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
---
#
# Full Control Plane + Nodes Upgrade
#
- import_playbook: ../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: '3.9'
openshift_upgrade_min: '3.7'
# Pre-upgrade
- import_playbook: ../initialize_nodes_to_upgrade.yml
tags:
- pre_upgrade
- import_playbook: ../pre/verify_etcd3_backend.yml
tags:
- pre_upgrade
- name: Update repos and initialize facts on all hosts
hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config:oo_lb_to_config
tags:
- pre_upgrade
roles:
- openshift_repos
- 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_config']
| 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
- openshift_generate_no_proxy_hosts | default(True) | bool
- import_playbook: ../pre/verify_inventory_vars.yml
tags:
- pre_upgrade
- import_playbook: ../pre/verify_health_checks.yml
tags:
- pre_upgrade
- import_playbook: ../pre/verify_control_plane_running.yml
tags:
- pre_upgrade
- import_playbook: ../disable_master_excluders.yml
tags:
- pre_upgrade
- import_playbook: ../disable_node_excluders.yml
tags:
- pre_upgrade
- import_playbook: ../../../../init/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
- import_playbook: ../../../../openshift-master/private/validate_restart.yml
tags:
- pre_upgrade
- name: Verify upgrade targets
hosts: oo_masters_to_config:oo_nodes_to_upgrade
tasks:
- include_tasks: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade
- name: Verify docker upgrade targets
hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config
tasks:
- import_tasks: ../pre/tasks/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade
- import_playbook: validator.yml
tags:
- pre_upgrade
- import_playbook: ../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_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config
tasks:
- include_tasks: ../cleanup_unused_images.yml
- import_playbook: ../upgrade_control_plane.yml
vars:
master_config_hook: "v3_7/master_config_upgrade.yml"
# All controllers must be stopped at the same time then restarted
- name: Cycle all controller services to force new leader election mode
hosts: oo_masters_to_config
gather_facts: no
roles:
- role: openshift_facts
tasks:
- name: Stop {{ openshift.common.service_type }}-master-controllers
systemd:
name: "{{ openshift.common.service_type }}-master-controllers"
state: stopped
- name: Start {{ openshift.common.service_type }}-master-controllers
systemd:
name: "{{ openshift.common.service_type }}-master-controllers"
state: started
- import_playbook: ../upgrade_nodes.yml
- import_playbook: ../post_control_plane.yml
|