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 }}"