---
- name: Create etcd release directory
  local_action: file
     path={{ local_release_dir }}/etcd/bin
     recurse=yes
     state=directory
  delegate_to: "{{ groups['kube-master'][0] }}"

- name: Check if etcd release archive has been downloaded
  local_action: stat
     path={{ local_release_dir }}/etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz
  register: e_tar
  delegate_to: "{{ groups['kube-master'][0] }}"

# issues with get_url module and redirects, to be tested again in the near future
- name: Download etcd
  local_action: shell
    curl -o {{ local_release_dir }}/etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz -Ls {{ etcd_download_url }}/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-amd64.tar.gz
  when: not e_tar.stat.exists
  register: dl_etcd
  delegate_to: "{{ groups['kube-master'][0] }}"

- name: Extract etcd archive
  local_action: unarchive
     src={{ local_release_dir }}/etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz
     dest={{ local_release_dir }}/etcd copy=no
  when: dl_etcd|changed
  delegate_to: "{{ groups['kube-master'][0] }}"

- name: Pick up only etcd binaries
  local_action: copy
     src={{ local_release_dir }}/etcd/etcd-{{ etcd_version }}-linux-amd64/{{ item }}
     dest={{ local_release_dir }}/etcd/bin
  with_items:
    - etcdctl
    - etcd
  when: dl_etcd|changed

- name: Delete unused etcd files
  local_action: file
     path={{ local_release_dir }}/etcd/etcd-{{ etcd_version }}-linux-amd64 state=absent
  when: dl_etcd|changed