summaryrefslogtreecommitdiffstats
path: root/playbooks/common/openshift-cluster/upgrades/pre
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/common/openshift-cluster/upgrades/pre')
-rw-r--r--playbooks/common/openshift-cluster/upgrades/pre/config.yml4
-rw-r--r--playbooks/common/openshift-cluster/upgrades/pre/version_override.yml29
2 files changed, 33 insertions, 0 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/pre/config.yml b/playbooks/common/openshift-cluster/upgrades/pre/config.yml
index 44af37b2d..4dcd4f61b 100644
--- a/playbooks/common/openshift-cluster/upgrades/pre/config.yml
+++ b/playbooks/common/openshift-cluster/upgrades/pre/config.yml
@@ -51,6 +51,10 @@
# l_openshift_version_set_hosts is passed via upgrade_control_plane.yml
# l_openshift_version_check_hosts is passed via upgrade_control_plane.yml
+# version_override will set various version-related variables during a double upgrade.
+- import_playbook: version_override.yml
+ when: l_double_upgrade_cp | default(False)
+
- import_playbook: verify_cluster.yml
# If we're only upgrading nodes, we need to ensure masters are already upgraded
diff --git a/playbooks/common/openshift-cluster/upgrades/pre/version_override.yml b/playbooks/common/openshift-cluster/upgrades/pre/version_override.yml
new file mode 100644
index 000000000..b2954397f
--- /dev/null
+++ b/playbooks/common/openshift-cluster/upgrades/pre/version_override.yml
@@ -0,0 +1,29 @@
+---
+# This playbook overrides normal version setting during double upgrades.
+
+- name: Set proper version values for upgrade
+ hosts: "{{ l_version_override_hosts | default('all:!all') }}"
+ tasks:
+ - set_fact:
+ # All of these will either have been set by openshift_version or
+ # provided by the user; we need to save these for later.
+ l_double_upgrade_saved_version: "{{ openshift_version }}"
+ l_double_upgrade_saved_release: "{{ openshift_release | default(openshift_upgrade_target) }}"
+ l_double_upgrade_saved_tag: "{{ openshift_image_tag }}"
+ l_double_upgrade_saved_pkgv: "{{ openshift_pkg_version }}"
+ - set_fact:
+ # We already ran openshift_version for the second of two upgrades;
+ # here we need to set some variables to enable the first upgrade.
+ # openshift_version, openshift_image_tag, and openshift_pkg_version
+ # will be modified by openshift_version; we want to ensure these
+ # are initially set to first versions to ensure no accidental usage of
+ # second versions (eg, 3.8 and 3.9 respectively) are used.
+ l_double_upgrade_cp_reset_version: True
+ openshift_version: "{{ l_double_upgrade_first_version }}"
+ openshift_release: "{{ l_double_upgrade_first_release }}"
+ openshift_upgrade_target: '3.8'
+ openshift_upgrade_min: '3.7'
+
+# Now that we have force-set a different version, we need to update a few things
+# to ensure we have settings that actually match what's in repos/registries.
+- import_playbook: ../../../../init/version.yml