github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/ansible/roles/etcd/tasks/main.yaml (about) 1 --- 2 # install and start etcd service 3 - name: copy etcd.service to remote 4 template: 5 src: "{{ etcd_service_template }}" 6 dest: "{{ init_system_dir }}/{{ etcd_service_name }}" 7 owner: "{{ etcd_service_owner }}" 8 group: "{{ etcd_service_group }}" 9 mode: "{{ etcd_service_mode }}" 10 notify: 11 - reload services 12 - restart etcd service 13 14 # force_etcd_restart=true to force restart 15 - name: force restart {{etcd_name }} service 16 command: /bin/true 17 notify: 18 - restart etcd service 19 when: > 20 (force_etcd_restart is defined and force_etcd_restart|bool == true) or 21 (upgrading is defined and upgrading|bool == true) 22 23 - meta: flush_handlers #Run handlers 24 25 #TODO don't use a timeout 26 - name: wait for {{ etcd_name }} node to be ready 27 pause: seconds=60 28 when: > 29 (force_etcd_restart is defined and force_etcd_restart|bool == true) or 30 (upgrading is defined and upgrading|bool == true) 31 32 - name: verify {{ etcd_name }} is running 33 command: systemctl status {{ etcd_service_name }} 34 register: running 35 until: running|success 36 retries: 3 37 delay: 5 38 39 # test etcd 40 - name: verify {{ etcd_name }} cluster health 41 command: "docker run --net=host --volume=/etc/ssl/certs/:/etc/ssl/certs/:ro --volume={{etcd_install_dir}}:{{etcd_install_dir}}:ro {{ images.etcd }} /usr/local/bin/etcdctl --endpoint='https://127.0.0.1:{{ etcd_service_client_port }}/' --cert-file={{ etcd_certificates.etcd_client }} --key-file={{ etcd_certificates.etcd_client_key }} --ca-file={{ etcd_certificates.ca }} cluster-health" 42 register: result 43 until: result|success 44 retries: 3 45 delay: 5 46 when: "{{ etcd_insecure_validate|default('false')|bool == false }}" 47 48 - name: verify {{ etcd_name }} cluster health 49 command: "docker run --net=host --volume=/etc/ssl/certs/:/etc/ssl/certs/:ro /usr/local/bin/etcdctl --endpoint='http://127.0.0.1:{{ etcd_service_client_port }}/' cluster-health" 50 register: result 51 until: result|success 52 retries: 3 53 delay: 5 54 when: "{{ etcd_insecure_validate|default('false')|bool == true }}"