|
@@ -0,0 +1,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)
|