---
- name: Install | Copy etcd binary from downloaddir
  command: rsync -piu "{{ etcd_bin_dir }}/etcd" "{{ bin_dir }}/etcd"
  when: etcd_deployment_type == "host"
  register: etcd_copy
  changed_when: false

- name: Install | Copy etcdctl binary from downloaddir
  command: rsync -piu "{{ etcd_bin_dir }}/etcdctl" "{{ bin_dir }}/etcdctl"
  when: etcd_deployment_type == "host"
  changed_when: false

#Plan A: no docker-py deps
- name: Install | Copy etcdctl binary from container
  command: sh -c "/usr/bin/docker rm -f etcdctl-binarycopy;
           /usr/bin/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
           /usr/bin/docker cp etcdctl-binarycopy:{{ etcd_container_bin_dir }}etcdctl {{ bin_dir }}/etcdctl &&
           /usr/bin/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"
