diff options
| author | Russell Teague <rteague@redhat.com> | 2018-02-01 11:15:25 -0500 | 
|---|---|---|
| committer | Russell Teague <rteague@redhat.com> | 2018-02-02 10:39:55 -0500 | 
| commit | db9c0b33f30e992a9d7d2849d3b9c0ac4904689d (patch) | |
| tree | 068982a247bb8fd8bf7de6b6d39a3fccc88eb3fe | |
| parent | 3e2c7c22a54a3ccf88b49742003a3a4a937683f8 (diff) | |
Fix version handling in 3.8/3.9 control plane upgrades
6 files changed, 13 insertions, 11 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/pre/config.yml b/playbooks/common/openshift-cluster/upgrades/pre/config.yml index edc541ef9..44af37b2d 100644 --- a/playbooks/common/openshift-cluster/upgrades/pre/config.yml +++ b/playbooks/common/openshift-cluster/upgrades/pre/config.yml @@ -5,8 +5,6 @@  # Pre-upgrade  - import_playbook: ../initialize_nodes_to_upgrade.yml -- import_playbook: verify_cluster.yml -  - name: Update repos on upgrade hosts    hosts: "{{ l_upgrade_repo_hosts }}"    roles: @@ -53,6 +51,8 @@      # l_openshift_version_set_hosts is passed via upgrade_control_plane.yml      # l_openshift_version_check_hosts is passed via upgrade_control_plane.yml +- import_playbook: verify_cluster.yml +  # If we're only upgrading nodes, we need to ensure masters are already upgraded  - name: Verify masters are already upgraded    hosts: oo_masters_to_config diff --git a/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml b/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml index 5ee8a9d78..463a05688 100644 --- a/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml +++ b/playbooks/common/openshift-cluster/upgrades/pre/verify_cluster.yml @@ -17,6 +17,7 @@          valid version for a {{ openshift_upgrade_target }} upgrade      when:      - openshift_pkg_version is defined +    - openshift_pkg_version != ""      - openshift_pkg_version.split('-',1).1 is version_compare(openshift_upgrade_target ,'<')    - fail: @@ -25,6 +26,7 @@          valid version for a {{ openshift_upgrade_target }} upgrade      when:      - openshift_image_tag is defined +    - openshift_image_tag != ""      - openshift_image_tag.split('v',1).1 is version_compare(openshift_upgrade_target ,'<')    - set_fact: diff --git a/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml index c8a42322d..94d242be0 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_9/upgrade_control_plane.yml @@ -26,6 +26,7 @@        openshift_upgrade_min: '3.7'        openshift_release: '3.8'        _requested_pkg_version: "{{ openshift_pkg_version if openshift_pkg_version is defined else omit }}" +      openshift_pkg_version: ''        _requested_image_tag: "{{ openshift_image_tag if openshift_image_tag is defined else omit }}"        l_double_upgrade_cp: True      when: hostvars[groups.oo_first_master.0].openshift_currently_installed_version | version_compare('3.8','<') @@ -61,10 +62,8 @@  # Pre-upgrade completed -- import_playbook: ../upgrade_control_plane.yml -  vars: -    openshift_release: '3.8' -    openshift_pkg_version: '' +- name: Intermediate 3.8 Upgrade +  import_playbook: ../upgrade_control_plane.yml    when: hostvars[groups.oo_first_master.0].openshift_currently_installed_version | version_compare('3.8','<')  ## 3.8 upgrade complete we should now be able to upgrade to 3.9 @@ -77,7 +76,7 @@        openshift_upgrade_target: '3.9'        openshift_upgrade_min: '3.8'        openshift_release: '3.9' -      openshift_pkg_version: "{{ _requested_pkg_version | default ('-3.9*') }}" +      openshift_pkg_version: "{{ _requested_pkg_version if _requested_pkg_version is defined else '' }}"    # Set the user's specified image_tag for 3.9 upgrade if it was provided.    - set_fact:        openshift_image_tag: "{{ _requested_image_tag }}" @@ -106,6 +105,7 @@      l_upgrade_docker_target_hosts: "oo_masters_to_config:oo_etcd_to_config"      l_upgrade_excluder_hosts: "oo_masters_to_config"      openshift_protect_installed_version: False +    openshift_version_reinit: True  - name: Flag pre-upgrade checks complete for hosts without errors    hosts: oo_masters_to_config:oo_etcd_to_config @@ -114,8 +114,6 @@        pre_upgrade_complete: True  - import_playbook: ../upgrade_control_plane.yml -  vars: -    openshift_release: '3.9'  # All controllers must be stopped at the same time then restarted  - name: Cycle all controller services to force new leader election mode diff --git a/roles/openshift_version/tasks/first_master.yml b/roles/openshift_version/tasks/first_master.yml index e01a56dc1..b0d155c2c 100644 --- a/roles/openshift_version/tasks/first_master.yml +++ b/roles/openshift_version/tasks/first_master.yml @@ -19,7 +19,7 @@    - set_fact:        openshift_pkg_version: -{{ openshift_version }}    when: -  - openshift_pkg_version is not defined +  - openshift_pkg_version is not defined or openshift_pkg_version == ""    - openshift_upgrade_target is not defined  - block: @@ -28,5 +28,5 @@    - set_fact:        openshift_image_tag: v{{ openshift_version }}    when: > -    openshift_image_tag is not defined +    openshift_image_tag is not defined or openshift_image_tag == ""      or l_force_image_tag_to_version | bool diff --git a/roles/openshift_version/tasks/first_master_containerized_version.yml b/roles/openshift_version/tasks/first_master_containerized_version.yml index 3ed1d2cfe..9eb38cb2b 100644 --- a/roles/openshift_version/tasks/first_master_containerized_version.yml +++ b/roles/openshift_version/tasks/first_master_containerized_version.yml @@ -6,6 +6,7 @@      openshift_version: "{{ openshift_image_tag[1:].split('-')[0] if openshift_image_tag != 'latest' else openshift_image_tag }}"    when:    - openshift_image_tag is defined +  - openshift_image_tag != ""    - openshift_version is not defined    - not (openshift_version_reinit | default(false)) diff --git a/roles/openshift_version/tasks/first_master_rpm_version.yml b/roles/openshift_version/tasks/first_master_rpm_version.yml index 5d92f90c6..85e440513 100644 --- a/roles/openshift_version/tasks/first_master_rpm_version.yml +++ b/roles/openshift_version/tasks/first_master_rpm_version.yml @@ -5,6 +5,7 @@      openshift_version: "{{ openshift_pkg_version[1:].split('-')[0] }}"    when:    - openshift_pkg_version is defined +  - openshift_pkg_version != ""    - openshift_version is not defined    - not (openshift_version_reinit | default(false))  | 
