\r
- name: kill etcd containerized service\r
docker:\r
- image: quay.io/coreos/etcd:latest\r
+ image: {{ etcd_docker_image }}\r
state: stopped\r
when: db_driver == "etcd" and container_enabled == true\r
\r
- name: run etcd containerized service\r
docker:\r
name: myetcd\r
- image: quay.io/coreos/etcd:latest\r
+ image: {{ etcd_docker_image }}\r
command: /usr/local/bin/etcd --advertise-client-urls http://{{ etcd_host }}:{{ etcd_port }} --listen-client-urls http://{{ etcd_host }}:{{ etcd_port }} -advertise-client-urls http://{{ etcd_host }}:{{ etcd_peer_port }} -listen-peer-urls http://{{ etcd_host }}:{{ etcd_peer_port }}\r
state: started\r
net: host\r
--- /dev/null
+---
+- name: check for etcd existed
+ stat:
+ path: "{{ etcd_dir }}/etcd"
+ ignore_errors: yes
+ register: etcdexisted
+
+- name: download etcd
+ get_url:
+ url={{ etcd_download_url }}
+ dest=/opt/{{ etcd_tarball }}
+ when:
+ - etcdexisted.stat.exists is undefined or etcdexisted.stat.exists == false
+
+- name: extract the etcd tarball
+ unarchive:
+ src=/opt/{{ etcd_tarball }}
+ dest=/opt/
+ when:
+ - etcdexisted.stat.exists is undefined or etcdexisted.stat.exists == false
+
+- name: Check if etcd is running
+ shell: ps aux | grep etcd | grep -v grep
+ ignore_errors: true
+ register: service_etcd_status
+
+- name: run etcd daemon service
+ shell: ETCD_UNSUPPORTED_ARCH=arm64 nohup ./etcd --advertise-client-urls http://{{ etcd_host }}:{{ etcd_port }} --listen-client-urls http://{{ etcd_host }}:{{ etcd_port }} -listen-peer-urls http://{{ etcd_host }}:{{ etcd_peer_port }} &>>etcd.log &
+ become: true
+ args:
+ chdir: "{{ etcd_dir }}"
+ when: service_etcd_status.rc != 0
+
+- name: check etcd cluster health
+ shell: ./etcdctl --endpoints http://{{ etcd_host }}:{{ etcd_port }} cluster-health
+ become: true
+ ignore_errors: true
+ args:
+ chdir: "{{ etcd_dir }}"
---\r
- name: include scenarios/etcd.yml\r
- include: scenarios/etcd.yml\r
+ include: "{{ item }}"\r
+ with_first_found:\r
+ - "scenarios/etcd_{{ ansible_architecture }}.yml"\r
+ - "scenarios/etcd.yml"\r
when: db_driver == "etcd" and container_enabled == false\r
\r
- name: include scenarios/container.yml\r