---
- name: Setup the vpc and the master node group
  #hosts: oo_first_master
  hosts: localhost
  remote_user: root
  gather_facts: no
  tasks:
  - name: get provisioning vars
    include_vars: vars.yml

  - name: bring lib_openshift into scope
    include_role:
      name: lib_openshift

  - name: fetch masters
    ec2_remote_facts:
      region: "{{ provision.region }}"
      filters:
        "tag:clusterid": "{{ provision.clusterid }}"
        "tag:host-type": master
        instance-state-name: running
    register: mastersout
    retries: 20
    delay: 3
    until: "'instances' in mastersout and mastersout.instances|length > 0"

  - name: fetch new node instances
    ec2_remote_facts:
      region: "{{ provision.region }}"
      filters:
        "tag:clusterid": "{{ provision.clusterid }}"
        "tag:host-type": node
        instance-state-name: running
    register: instancesout
    retries: 20
    delay: 3
    until: "'instances' in instancesout and instancesout.instances|length > 0"

  - debug:
      msg: "{{ instancesout.instances|map(attribute='private_dns_name') | list | regex_replace('.ec2.internal') }}"

  - name: approve nodes
    oc_adm_csr:
      #approve_all: True
      nodes: "{{ instancesout.instances|map(attribute='private_dns_name') | list | regex_replace('.ec2.internal') }}"
      timeout: 0
    register: nodeout
    delegate_to: "{{ mastersout.instances[0].public_ip_address }}"
