summaryrefslogtreecommitdiffstats
path: root/playbooks/gce/openshift-node/config.yml
blob: 57b9e31989e44987fffec7fa38c59ffa751ec2e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
- name: "node/config.yml, 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
  gather_facts: yes
  tasks:
    - command: 'curl "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip" -H "Metadata-Flavor: Google"'
      register: output
    - set_fact: gce_public_ip="{{ output.stdout }}"

- name: "Set OO sepcific facts on localhost (for later use)"
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Setting openshift_master_ips fact on localhost
      set_fact:
        openshift_master_ips: "{{ hostvars
            | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-openshift-master'])
            | oo_collect(attribute='ansible_default_ipv4.address') }}"
      when: groups['tag_env-host-type-' + oo_env + '-openshift-master'] is defined
    - name: Setting openshift_master_public_ips fact on localhost
      set_fact:
        openshift_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_files:
    - vars.yml

  tasks:
    - debug: var=gce_public_ip

  roles:
    - {
        role: openshift_node,
        openshift_master_ips: "{{ hostvars['localhost'].openshift_master_ips | default(['']) }}",
        openshift_master_public_ips: "{{ hostvars['localhost'].openshift_master_public_ips | default(['']) }}",
        openshift_public_ip: "{{ gce_public_ip }}",
        openshift_env: "{{ oo_env }}",
      }
    - docker
    - os_env_extras