From 8fa0110e2832acce915dd7fc8d858a83735f86a3 Mon Sep 17 00:00:00 2001
From: ant31 <2t.antoine@gmail.com>
Date: Mon, 4 Jan 2016 14:58:27 +0100
Subject: [PATCH] Remove local dep. downloader

---
 roles/kubernetes/master/tasks/main.yml  | 16 +++++++++-----
 roles/kubernetes/node/tasks/install.yml | 29 +++++++++++++++++--------
 roles/network_plugin/tasks/calico.yml   | 15 +++++++++----
 roles/network_plugin/tasks/flannel.yml  | 15 ++++++++-----
 4 files changed, 52 insertions(+), 23 deletions(-)

diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml
index 0ba27a33e..897154b88 100644
--- a/roles/kubernetes/master/tasks/main.yml
+++ b/roles/kubernetes/master/tasks/main.yml
@@ -5,11 +5,17 @@
     dest: /etc/bash_completion.d/kubectl.sh
 
 - name: Install kubectl binary
-  copy:
-     src={{ local_release_dir }}/kubernetes/bin/kubectl
-     dest={{ bin_dir }}
-     owner=kube
-     mode=0755
+  synchronize:
+     src: "{{ local_release_dir }}/kubernetes/bin/kubectl"
+     dest: "{{ bin_dir }}/kubectl"
+     mode: pull
+     archive: no
+     checksum: yes
+     times: yes
+  delegate_to: "{{ groups['downloader'][0] }}"
+
+- name: Perms kubectl binary
+  file: path={{ bin_dir }}/kubelet owner=kube mode=0755 state=file
 
 - name: populate users for basic auth in API
   lineinfile:
diff --git a/roles/kubernetes/node/tasks/install.yml b/roles/kubernetes/node/tasks/install.yml
index 815a4bc46..87bef9d5d 100644
--- a/roles/kubernetes/node/tasks/install.yml
+++ b/roles/kubernetes/node/tasks/install.yml
@@ -15,22 +15,33 @@
   notify: restart kubelet
 
 - name: Install kubelet binary
-  copy:
-     src={{ local_release_dir }}/kubernetes/bin/kubelet
-     dest={{ bin_dir }}
-     owner=kube
-     mode=0755
+  synchronize:
+     src: "{{ local_release_dir }}/kubernetes/bin/kubelet"
+     dest: "{{ bin_dir }}/kubelet"
+     mode: pull
+     times: yes
+     archive: no
+  delegate_to: "{{ groups['downloader'][0] }}"
   notify:
     - restart kubelet
 
+- name: Perms kubelet binary
+  file: path={{ bin_dir }}/kubelet owner=kube mode=0755 state=file
+
 - name: Calico-plugin | Directory
   file: path=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/ state=directory
   when: kube_network_plugin == "calico"
 
 - name: Calico-plugin | Binary
-  copy:
-    src={{ local_release_dir }}/calico/bin/calico
-    dest=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico
-    mode=0755
+  synchronize:
+    src: "{{ local_release_dir }}/calico/bin/calico"
+    dest: "/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico"
+    mode: "pull"
+    times: yes
+    archive: no
+  delegate_to: "{{ groups['downloader'][0] }}"
   when: kube_network_plugin == "calico"
   notify: restart kubelet
+
+- name: Perms calico plugin binary
+  file: path=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico owner=kube mode=0755 state=file
diff --git a/roles/network_plugin/tasks/calico.yml b/roles/network_plugin/tasks/calico.yml
index 95803daf2..997b416d7 100644
--- a/roles/network_plugin/tasks/calico.yml
+++ b/roles/network_plugin/tasks/calico.yml
@@ -1,11 +1,18 @@
 ---
+
 - name: Calico | Install calicoctl bin
-  copy:
+  synchronize:
     src: "{{ local_release_dir }}/calico/bin/calicoctl"
-    dest: "{{ bin_dir }}"
-    mode: 0755
+    dest: "{{ bin_dir }}/calicoctl"
+    mode: pull
+    archive: no
+    times: yes
+  delegate_to: "{{ groups['downloader'][0] }}"
   notify: restart calico-node
 
+- name: Calico | install calicoctl
+  file: path={{ bin_dir }}/calicoctl mode=0755 state=file
+
 - name: Calico | Create calicoctl symlink (needed by kubelet)
   file:
     src: /usr/local/bin/calicoctl
@@ -39,7 +46,7 @@
   fail:
     msg: 'Only one network pool must be configured and it must be the subnet {{ kube_pods_subnet }}.
     Please erase calico configuration and run the playbook again ("etcdctl rm --recursive /calico/v1/ipam/v4/pool")'
-  when: ( calico_pools.json['node']['nodes'] | length > 1 ) or 
+  when: ( calico_pools.json['node']['nodes'] | length > 1 ) or
         ( not calico_pools.json['node']['nodes'][0]['key'] | search(".*{{ kube_pods_subnet | ipaddr('network') }}.*") )
   run_once: true
   delegate_to: "{{ groups['etcd'][0] }}"
diff --git a/roles/network_plugin/tasks/flannel.yml b/roles/network_plugin/tasks/flannel.yml
index a43be9e40..69f63a749 100644
--- a/roles/network_plugin/tasks/flannel.yml
+++ b/roles/network_plugin/tasks/flannel.yml
@@ -3,14 +3,19 @@
   user: name=flannel shell=/bin/nologin
 
 - name: Install flannel binaries
-  copy: 
-     src={{ local_release_dir }}/flannel/bin/flanneld
-     dest={{ bin_dir }}
-     owner=flannel
-     mode=u+x
+  synchronize:
+     src: "{{ local_release_dir }}/flannel/bin/flanneld"
+     dest: "{{ bin_dir }}/flanneld"
+     mode: pull
+     archive: no
+     times: yes
+  delegate_to: "{{ groups['downloader'][0] }}"
   notify:
     - restart flannel
 
+- name: Perms flannel binary
+  file: path={{ bin_dir }}/flanneld owner=flannel mode=0755 state=file
+
 - name: Write flannel.service systemd file
   template:
     src: flannel/systemd-flannel.service.j2
-- 
GitLab