---
# NOTE: requires openshift_facts be run
- name: Determine openshift_version to configure on first master
  hosts: "{{ l_openshift_version_determine_hosts | default('oo_first_master') }}"
  tasks:
  - include_role:
      name: openshift_version
      tasks_from: first_master.yml

# NOTE: We set this even on etcd hosts as they may also later run as masters,
# and we don't want to install wrong version of docker and have to downgrade
# later.
- name: Set openshift_version for etcd, node, and master hosts
  hosts: "{{ l_openshift_version_set_hosts | default(l_default_version_set_hosts) }}"
  vars:
    l_default_version_set_hosts: "oo_etcd_to_config:oo_nodes_to_config:oo_masters_to_config:!oo_first_master"
    l_first_master_openshift_version: "{{ hostvars[groups.oo_first_master.0].openshift_version }}"
    l_first_master_openshift_pkg_version: "{{ hostvars[groups.oo_first_master.0].openshift_pkg_version | default('') }}"
    l_first_master_openshift_image_tag: "{{ hostvars[groups.oo_first_master.0].openshift_image_tag}}"
  tasks:
  - set_fact:
      openshift_version: "{{ l_first_master_openshift_version }}"
      openshift_pkg_version: "{{ l_first_master_openshift_pkg_version }}"
      openshift_image_tag: "{{ l_first_master_openshift_image_tag }}"

# NOTE: These steps should only be run against masters and nodes.
- name: Ensure the requested version packages are available.
  hosts: "{{ l_openshift_version_check_hosts | default('oo_nodes_to_config:oo_masters_to_config:!oo_first_master') }}"
  tasks:
  - include_role:
      name: openshift_version
      tasks_from: masters_and_nodes.yml
