summaryrefslogtreecommitdiffstats
path: root/playbooks/common/openshift-cluster/upgrades/pre/verify_upgrade_targets.yml
blob: b0b5a7e4b593ee5564266eb63e00eeb45dc20c6e (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
---
- name: Fail when OpenShift is not installed
  fail:
    msg: Verify OpenShift is already installed
  when: openshift.common.version is not defined

- name: Update oreg_auth docker login credentials if necessary
  include_role:
    name: container_runtime
    tasks_from: registry_auth.yml
  when: oreg_auth_user is defined

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

- when: not openshift_is_containerized | bool
  block:
  - name: Check latest available OpenShift RPM version
    repoquery:
      name: "{{ openshift_service_type }}"
      ignore_excluders: true
    register: repoquery_out

  - name: Fail when unable to determine available OpenShift RPM version
    fail:
      msg: "Unable to determine available OpenShift RPM version"
    when:
    - not repoquery_out.results.package_found

  - name: Set fact avail_openshift_version
    set_fact:
      avail_openshift_version: "{{ repoquery_out.results.versions.available_versions_full.0 }}"
  - name: Set openshift_pkg_version when not specified
    set_fact:
      openshift_pkg_version: "-{{ repoquery_out.results.versions.available_versions_full.0 }}"
    when: openshift_pkg_version | default('') == ''

  - 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:
    - (openshift_pkg_version | default('-0.0', True)).split('-')[1] is version_compare(openshift_release, '<')

- name: Fail when openshift version does not meet minium requirement for Origin upgrade
  fail:
    msg: "This upgrade playbook must be run against OpenShift {{ openshift_upgrade_min }} or later"
  when:
  - openshift_deployment_type == 'origin'
  - openshift.common.version is version_compare(openshift_upgrade_min,'<')