# Copyright (c) 2018 Huawei Technologies Co., Ltd. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- - 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: 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 }}"