From cdb1ae5fd0057aa6b666ca53fc54e73ce8be19fa Mon Sep 17 00:00:00 2001 From: Michael Gugino Date: Mon, 12 Feb 2018 17:46:24 -0500 Subject: Simplify double upgrade version logic Currently, double upgrade process (3.7 -> 3.9) for control plane attempts to run openshift_version role twice to set the appropriate values for upgrading each major version, 3.8 and 3.9. This commit instructs openshift_version to only inquire about the proper settings for 3.9, and hard-sets the appropriate values for 3.8. This allows a simplification of the openshift_version role, allowing for easier debugging. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1542368 --- .../upgrades/pre/version_override.yml | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 playbooks/common/openshift-cluster/upgrades/pre/version_override.yml (limited to 'playbooks/common/openshift-cluster/upgrades/pre/version_override.yml') 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 -- cgit v1.2.1