blob: 3fc18c9b7c45013882f84e7a54107264952bb4f4 (
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
|
---
# Verify a few items before we proceed with upgrade process.
- name: Verify upgrade can proceed on first master
hosts: oo_first_master
gather_facts: no
tasks:
- fail:
msg: >
This upgrade is only supported for origin and openshift-enterprise
deployment types
when: deployment_type not in ['origin','openshift-enterprise']
# Error out in situations where the user has older versions specified in their
# inventory in any of the openshift_release, openshift_image_tag, and
# openshift_pkg_version variables. These must be removed or updated to proceed
# with upgrade.
# TODO: Should we block if you're *over* the next major release version as well?
- fail:
msg: >
openshift_pkg_version is {{ openshift_pkg_version }} which is not a
valid version for a {{ openshift_upgrade_target }} upgrade
when:
- openshift_pkg_version is defined
- openshift_pkg_version.split('-',1).1 is version_compare(openshift_upgrade_target ,'<')
- fail:
msg: >
openshift_image_tag is {{ openshift_image_tag }} which is not a
valid version for a {{ openshift_upgrade_target }} upgrade
when:
- openshift_image_tag is defined
- openshift_image_tag.split('v',1).1 is version_compare(openshift_upgrade_target ,'<')
- set_fact:
openshift_release: "{{ openshift_release[1:] }}"
when: openshift_release is defined and openshift_release[0] == 'v'
- fail:
msg: >
openshift_release is {{ openshift_release }} which is not a
valid release for a {{ openshift_upgrade_target }} upgrade
when:
- openshift_release is defined
- not (openshift_release is version_compare(openshift_upgrade_target ,'='))
- name: Verify master processes
hosts: oo_masters_to_config
roles:
- lib_utils
- openshift_facts
tasks:
- name: Read master storage backend setting
yedit:
state: list
src: /etc/origin/master/master-config.yaml
key: kubernetesMasterConfig.apiServerArguments.storage-backend
register: _storage_backend
- fail:
msg: "Storage backend in /etc/origin/master/master-config.yaml must be set to 'etcd3' before the upgrade can continue"
when:
# assuming the master-config.yml is properly configured, i.e. the value is a list
- _storage_backend.result | default([], true) | length == 0 or _storage_backend.result[0] != "etcd3"
- debug:
msg: "Storage backend is set to etcd3"
- openshift_facts:
role: master
local_facts:
ha: "{{ groups.oo_masters_to_config | length > 1 }}"
- when: openshift.common.is_containerized | bool
block:
- set_fact:
master_services:
- "{{ openshift_service_type }}-master"
# In case of the non-ha to ha upgrade.
- name: Check if the {{ openshift_service_type }}-master-api.service exists
command: >
systemctl list-units {{ openshift_service_type }}-master-api.service --no-legend
register: master_api_service_status
- set_fact:
master_services:
- "{{ openshift_service_type }}-master-api"
- "{{ openshift_service_type }}-master-controllers"
when:
- master_api_service_status.stdout_lines | length > 0
- (openshift_service_type + '-master-api.service') in master_api_service_status.stdout_lines[0]
- name: Ensure Master is running
service:
name: "{{ item }}"
state: started
enabled: yes
with_items: "{{ master_services }}"
|