summaryrefslogtreecommitdiffstats
path: root/roles/etcd/tasks/system_container.yml
blob: 241180e2c23beb39ae7044938a25f7cb23197748 (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
57
58
59
60
61
62
63
---
- name: Pull etcd system container
  command: atomic pull --storage=ostree {{ openshift.etcd.etcd_image }}
  register: pull_result
  changed_when: "'Pulling layer' in pull_result.stdout"

- name: Check etcd system container package
  command: >
    atomic containers list --no-trunc -a -f container=etcd
  register: result

- name: Set initial Etcd cluster
  set_fact:
    etcd_initial_cluster: >
      {% for host in etcd_peers | default([]) -%}
      {% if loop.last -%}
      {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }}
      {%- else -%}
      {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }},
      {%- endif -%}
      {% endfor -%}

- name: Update Etcd system container package
  command: >
    atomic containers update
    --set ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
    --set ETCD_NAME={{ etcd_hostname }}
    --set ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster | replace('\n', '') }}
    --set ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
    --set ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
    --set ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
    --set ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
    --set ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
    --set ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
    --set ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
    --set ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
    --set ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
    --set ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
    --set ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
    etcd
  when:
  - ("etcd" in result.stdout)

- name: Install Etcd system container package
  command: >
    atomic install --system --name=etcd
    --set ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
    --set ETCD_NAME={{ etcd_hostname }}
    --set ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster | replace('\n', '') }}
    --set ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
    --set ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
    --set ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
    --set ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
    --set ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
    --set ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
    --set ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
    --set ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
    --set ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
    --set ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
    --set ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
    {{ openshift.etcd.etcd_image }}
  when:
  - ("etcd" not in result.stdout)