Skip to content

Commit

Permalink
backport openshift#4321 verify upgrade targets separately for each group
Browse files Browse the repository at this point in the history
  • Loading branch information
ingvagabund committed Jun 5, 2017
1 parent 435770c commit 0f5bc71
Show file tree
Hide file tree
Showing 8 changed files with 129 additions and 85 deletions.
@@ -1,23 +1,20 @@
---
- name: Verify docker upgrade targets
hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config
tasks:
# Only check if docker upgrade is required if docker_upgrade is not
# already set to False.
- include: ../docker/upgrade_check.yml
when: docker_upgrade is not defined or docker_upgrade | bool and not openshift.common.is_atomic | bool
# Only check if docker upgrade is required if docker_upgrade is not
# already set to False.
- include: ../docker/upgrade_check.yml
when: docker_upgrade is not defined or docker_upgrade | bool and not openshift.common.is_atomic | bool

# Additional checks for Atomic hosts:
# Additional checks for Atomic hosts:

- name: Determine available Docker
shell: "rpm -q --queryformat '---\ncurr_version: %{VERSION}\navail_version: \n' docker"
register: g_atomic_docker_version_result
when: openshift.common.is_atomic | bool
- name: Determine available Docker
shell: "rpm -q --queryformat '---\ncurr_version: %{VERSION}\navail_version: \n' docker"
register: g_atomic_docker_version_result
when: openshift.common.is_atomic | bool

- set_fact:
l_docker_version: "{{ g_atomic_docker_version_result.stdout | from_yaml }}"
when: openshift.common.is_atomic | bool
- set_fact:
l_docker_version: "{{ g_atomic_docker_version_result.stdout | from_yaml }}"
when: openshift.common.is_atomic | bool

- fail:
msg: This playbook requires access to Docker 1.12 or later
when: openshift.common.is_atomic | bool and l_docker_version.avail_version | default(l_docker_version.curr_version, true) | version_compare('1.12','<')
- fail:
msg: This playbook requires access to Docker 1.12 or later
when: openshift.common.is_atomic | bool and l_docker_version.avail_version | default(l_docker_version.curr_version, true) | version_compare('1.12','<')
@@ -1,56 +1,51 @@
---
- name: Verify upgrade targets
hosts: oo_masters_to_config:oo_nodes_to_upgrade
vars:
openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.common.portal_net }}"
pre_tasks:
- fail:
msg: Verify OpenShift is already installed
when: openshift.common.version is not defined

- fail:
msg: Verify the correct version was found
when: verify_upgrade_version is defined and openshift_version != verify_upgrade_version

- name: Clean package cache
command: "{{ ansible_pkg_mgr }} clean all"
when: not openshift.common.is_atomic | bool

- set_fact:
g_new_service_name: "{{ 'origin' if deployment_type =='origin' else 'atomic-openshift' }}"
when: not openshift.common.is_containerized | bool

- name: Verify containers are available for upgrade
command: >
docker pull {{ openshift.common.cli_image }}:{{ openshift_image_tag }}
register: pull_result
changed_when: "'Downloaded newer image' in pull_result.stdout"
when: openshift.common.is_containerized | bool

- block:
- name: Check latest available OpenShift RPM version
repoquery:
name: "{{ openshift.common.service_type }}"
ignore_excluders: true
register: repoquery_out

- name: Fail when {{ openshift.common.service_type }} package is not found
fail:
msg: "Package {{ openshift.common.service_type }} not found"
when: not repoquery_out.results.package_found

- name: Set fact avail_openshift_version
set_fact:
avail_openshift_version: "{{ repoquery_out.results.versions.available_versions.0 }}"

- name: Verify OpenShift RPMs are available for upgrade
fail:
msg: "OpenShift {{ avail_openshift_version }} is available, but {{ openshift_upgrade_target }} or greater is required"
when:
- avail_openshift_version | default('0.0', True) | version_compare(openshift_release, '<')

when: not openshift.common.is_containerized | bool

- fail:
msg: "This upgrade playbook must be run against OpenShift {{ openshift_upgrade_min }} or later"
when: deployment_type == 'origin' and openshift.common.version | version_compare(openshift_upgrade_min,'<')
- fail:
msg: Verify OpenShift is already installed
when: openshift.common.version is not defined

- fail:
msg: Verify the correct version was found
when: verify_upgrade_version is defined and openshift_version != verify_upgrade_version

- name: Clean package cache
command: "{{ ansible_pkg_mgr }} clean all"
when: not openshift.common.is_atomic | bool

- set_fact:
g_new_service_name: "{{ 'origin' if deployment_type =='origin' else 'atomic-openshift' }}"
when: not openshift.common.is_containerized | bool

- name: Verify containers are available for upgrade
command: >
docker pull {{ openshift.common.cli_image }}:{{ openshift_image_tag }}
register: pull_result
changed_when: "'Downloaded newer image' in pull_result.stdout"
when: openshift.common.is_containerized | bool

- block:
- name: Check latest available OpenShift RPM version
repoquery:
name: "{{ openshift.common.service_type }}"
ignore_excluders: true
register: repoquery_out

- name: Fail when {{ openshift.common.service_type }} package is not found
fail:
msg: "Package {{ openshift.common.service_type }} not found"
when: not repoquery_out.results.package_found

- name: Set fact avail_openshift_version
set_fact:
avail_openshift_version: "{{ repoquery_out.results.versions.available_versions.0 }}"

- name: Verify OpenShift RPMs are available for upgrade
fail:
msg: "OpenShift {{ avail_openshift_version }} is available, but {{ openshift_upgrade_target }} or greater is required"
when:
- avail_openshift_version | default('0.0', True) | version_compare(openshift_release, '<')

when: not openshift.common.is_containerized | bool

- fail:
msg: "This upgrade playbook must be run against OpenShift {{ openshift_upgrade_min }} or later"
when: deployment_type == 'origin' and openshift.common.version | version_compare(openshift_upgrade_min,'<')
14 changes: 12 additions & 2 deletions playbooks/common/openshift-cluster/upgrades/v3_3/upgrade.yml
Expand Up @@ -74,11 +74,21 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- include: ../../../../common/openshift-master/validate_restart.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- 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

Expand Down
Expand Up @@ -75,11 +75,21 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- include: ../../../../common/openshift-master/validate_restart.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- name: Verify upgrade targets
hosts: oo_masters_to_config
tasks:
- include: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade

- name: Verify docker upgrade targets
hosts: oo_masters_to_config:oo_etcd_to_config
tasks:
- include: ../pre/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade

Expand Down
Expand Up @@ -79,11 +79,17 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- name: Verify upgrade targets
hosts: oo_nodes_to_upgrade
tasks:
- include: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- name: Verify docker upgrade targets
hosts: oo_nodes_to_upgrade
tasks:
- include: ../pre/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade

Expand Down
14 changes: 12 additions & 2 deletions playbooks/common/openshift-cluster/upgrades/v3_4/upgrade.yml
Expand Up @@ -74,11 +74,21 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- include: ../../../../common/openshift-master/validate_restart.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- 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

Expand Down
Expand Up @@ -75,11 +75,21 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- include: ../../../../common/openshift-master/validate_restart.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- name: Verify upgrade targets
hosts: oo_masters_to_config
tasks:
- include: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade

- name: Verify docker upgrade targets
hosts: oo_masters_to_config:oo_etcd_to_config
tasks:
- include: ../pre/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade

Expand Down
Expand Up @@ -79,11 +79,17 @@
tags:
- pre_upgrade

- include: ../pre/verify_upgrade_targets.yml
- name: Verify upgrade targets
hosts: oo_nodes_to_upgrade
tasks:
- include: ../pre/verify_upgrade_targets.yml
tags:
- pre_upgrade

- include: ../pre/verify_docker_upgrade_targets.yml
- name: Verify docker upgrade targets
hosts: oo_nodes_to_upgrade
tasks:
- include: ../pre/verify_docker_upgrade_targets.yml
tags:
- pre_upgrade

Expand Down

0 comments on commit 0f5bc71

Please sign in to comment.