---
- name: Verify upgrade can proceed on first master
  hosts: oo_first_master
  gather_facts: no
  tasks:
  - fail:
      msg: >
        This upgrade is only supported for origin, openshift-enterprise, and online
        deployment types
    when: deployment_type not in ['origin','openshift-enterprise', 'online']

  # Error out in situations where the user has older versions specified in their
  # inventory in any of the openshift_release, openshift_image_tag, and
  # openshift_pkg_version variables. These must be removed or updated to proceed
  # with upgrade.
  # TODO: Should we block if you're *over* the next major release version as well?
  - fail:
      msg: >
        openshift_pkg_version is {{ openshift_pkg_version }} which is not a
        valid version for a {{ openshift_upgrade_target }} upgrade
    when: openshift_pkg_version is defined and openshift_pkg_version.split('-',1).1 | version_compare(openshift_upgrade_target ,'<')

  - fail:
      msg: >
        openshift_image_tag is {{ openshift_image_tag }} which is not a
        valid version for a {{ openshift_upgrade_target }} upgrade
    when: openshift_image_tag is defined and openshift_image_tag.split('v',1).1 | version_compare(openshift_upgrade_target ,'<')

  - set_fact:
      openshift_release: "{{ openshift_release[1:] }}"
    when: openshift_release is defined and openshift_release[0] == 'v'

  - fail:
      msg: >
        openshift_release is {{ openshift_release }} which is not a
        valid release for a {{ openshift_upgrade_target }} upgrade
    when: openshift_release is defined and not openshift_release | version_compare(openshift_upgrade_target ,'=')
