---
- name: Abort when conflicting deployment type variables are set
  when:
    - deployment_type is defined
    - openshift_deployment_type is defined
    - openshift_deployment_type != deployment_type
  fail:
    msg: |-
      openshift_deployment_type is set to "{{ openshift_deployment_type }}".
      deployment_type is set to "{{ deployment_type }}".
      To avoid unexpected results, this conflict is not allowed.
      deployment_type is deprecated in favor of openshift_deployment_type.
      Please specify only openshift_deployment_type, or make both the same.

- name: Standardize on latest variable names
  set_fact:
    # goal is to deprecate deployment_type in favor of openshift_deployment_type.
    # both will be accepted for now, but code should refer to the new name.
    # TODO: once this is well-documented, add deprecation notice if using old name.
    deployment_type: "{{ openshift_deployment_type | default(deployment_type) | default | string }}"
    openshift_deployment_type: "{{ openshift_deployment_type | default(deployment_type) | default | string }}"

- name: Abort when deployment type is invalid
  # this variable is required; complain early and clearly if it is invalid.
  when: openshift_deployment_type not in known_openshift_deployment_types
  fail:
    msg: |-
      Please set openshift_deployment_type to one of:
      {{ known_openshift_deployment_types | join(', ') }}

- name: Normalize openshift_release
  set_fact:
    # Normalize release if provided, e.g. "v3.5" => "3.5"
    # Currently this is not required to be defined for all installs, and the
    # `openshift_version` role can generally figure out the specific version
    # that gets installed (e.g. 3.5.0.1). So consider this the user's expressed
    # intent (if any), not the authoritative version that will be installed.
    openshift_release: "{{ openshift_release | string | regex_replace('^v', '') }}"
  when: openshift_release is defined

- name: Abort when openshift_release is invalid
  when:
    - openshift_release is defined
    - not openshift_release | match('\d+(\.\d+){1,3}$')
  fail:
    msg: |-
      openshift_release is "{{ openshift_release }}" which is not a valid version string.
      Please set it to a version string like "3.4".

- include: unsupported.yml
  when:
    - not openshift_enable_unsupported_configurations | default(false) | bool
