33 lines
1.3 KiB
YAML
33 lines
1.3 KiB
YAML
---
|
|
# Plan A: no docker-py deps
|
|
- name: Install | Copy etcdctl binary from docker container
|
|
command: sh -c "{{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy;
|
|
{{ docker_bin_dir }}/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
|
|
{{ docker_bin_dir }}/docker cp etcdctl-binarycopy:{{ etcd_container_bin_dir }}etcdctl {{ bin_dir }}/etcdctl &&
|
|
{{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy"
|
|
when: etcd_deployment_type == "docker"
|
|
register: etcd_task_result
|
|
until: etcd_task_result.rc == 0
|
|
retries: 4
|
|
delay: "{{ retry_stagger | random + 3 }}"
|
|
changed_when: false
|
|
|
|
# Plan B: looks nicer, but requires docker-py on all hosts:
|
|
# - name: Install | Set up etcd-binarycopy container
|
|
# docker:
|
|
# name: etcd-binarycopy
|
|
# state: present
|
|
# image: "{{ etcd_image_repo }}:{{ etcd_image_tag }}"
|
|
# when: etcd_deployment_type == "docker"
|
|
#
|
|
# - name: Install | Copy etcdctl from etcd-binarycopy container
|
|
# command: /usr/bin/docker cp "etcd-binarycopy:{{ etcd_container_bin_dir }}etcdctl" "{{ bin_dir }}/etcdctl"
|
|
# when: etcd_deployment_type == "docker"
|
|
#
|
|
# - name: Install | Clean up etcd-binarycopy container
|
|
# docker:
|
|
# name: etcd-binarycopy
|
|
# state: absent
|
|
# image: "{{ etcd_image_repo }}:{{ etcd_image_tag }}"
|
|
# when: etcd_deployment_type == "docker"
|