eaed005045
Running etcd in Docker reduces the number of individual file downloads and services running on the host. Note: etcd container v3.0.1 moves bindir to /usr/local/bin Fixes: #298
38 lines
1.5 KiB
YAML
38 lines
1.5 KiB
YAML
---
|
|
- 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
|
|
|
|
- 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"
|
|
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"
|