- name: "populate oo_hosts_to_config host group if needed" hosts: localhost gather_facts: no tasks: - name: Evaluate oo_host_group_exp add_host: "name={{ item }} groups=oo_hosts_to_config" with_items: "{{ oo_host_group_exp | default('') }}" when: oo_host_group_exp is defined - name: "Gather facts for masters in {{ oo_env }}" hosts: "tag_env-host-type-{{ oo_env }}-openshift-master" connection: ssh user: root - name: "Set OO sepcific facts on localhost (for later use)" hosts: localhost gather_facts: no tasks: - name: Setting oo_master_ips fact on localhost set_fact: oo_master_ips: "{{ hostvars | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-openshift-master']) | oo_collect(attribute='ansible_eth0.ipv4.address') }}" when: groups['tag_env-host-type-' + oo_env + '-openshift-master'] is defined - name: Setting oo_master_public_ips fact on localhost set_fact: oo_master_public_ips: "{{ hostvars | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-openshift-master']) | oo_collect(attribute='gce_public_ip') }}" when: groups['tag_env-host-type-' + oo_env + '-openshift-master'] is defined - name: "Configure instances" hosts: oo_hosts_to_config connection: ssh user: root vars: tmp_dir: "/tmp/openshift-{{ 9999 | random }}" vars_files: - vars.yml roles: - ../../../roles/base_os - ../../../roles/repos - ../../../roles/docker - { role: ../../../roles/openshift_node, oo_master_ips: "{{ hostvars['localhost'].oo_master_ips | default(['']) }}", oo_master_public_ips: "{{ hostvars['localhost'].oo_master_public_ips | default(['']) }}", oo_bind_ip: "{{ hostvars[inventory_hostname].ansible_eth0.ipv4.address | default(['']) }}", oo_public_ip: "{{ hostvars[inventory_hostname].ansible_ssh_host }}", tmp_dir: "{{ tmp_dir }}" }