summaryrefslogtreecommitdiffstats
path: root/playbooks/common/openshift-cluster/upgrades/v3_6/upgrade.yml
blob: 8ceab09f4bc50cfc096326a9b5c55b7c11b4eaaf (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
---
#
# Full Control Plane + Nodes Upgrade
#
- 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: '3.6'
      openshift_upgrade_min: "{{ '1.5' if deployment_type == 'origin' else '3.5' }}"

# Pre-upgrade

- include: ../initialize_nodes_to_upgrade.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

- include: ../pre/verify_inventory_vars.yml
  tags:
  - pre_upgrade

- include: ../disable_master_excluders.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

- include: ../pre/verify_health_checks.yml
  tags:
  - pre_upgrade

- include: ../pre/verify_control_plane_running.yml
  tags:
  - pre_upgrade

- include: ../../../openshift-master/validate_restart.yml
  tags:
  - pre_upgrade

- name: Verify upgrade targets
  hosts: oo_masters_to_config:oo_nodes_to_upgrade
  tasks:
  - include: ../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:
  - include: ../pre/verify_docker_upgrade_targets.yml
  tags:
  - pre_upgrade

- include: validator.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_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config
  tasks:
  - include: ../cleanup_unused_images.yml

- include: ../upgrade_control_plane.yml

- include: ../upgrade_nodes.yml

- include: ../post_control_plane.yml