From 84c4c7dc82db27e2134a75643cca05de04ecac6d Mon Sep 17 00:00:00 2001
From: rongzhang <rongzhang@alauda.io>
Date: Sun, 16 Sep 2018 10:50:56 +0800
Subject: [PATCH] Use synchronize module

---
 roles/etcd/tasks/install_host.yml            | 30 +++++++++++---------
 roles/kubernetes/master/tasks/main.yml       |  9 +++++-
 roles/kubernetes/node/tasks/install          |  0
 roles/kubernetes/node/tasks/install.yml      |  1 +
 roles/kubernetes/node/tasks/install_         |  0
 roles/kubernetes/node/tasks/install_host.yml |  2 ++
 6 files changed, 28 insertions(+), 14 deletions(-)
 create mode 100644 roles/kubernetes/node/tasks/install
 create mode 100644 roles/kubernetes/node/tasks/install_

diff --git a/roles/etcd/tasks/install_host.yml b/roles/etcd/tasks/install_host.yml
index 0dc226e66..fe50a7b1a 100644
--- a/roles/etcd/tasks/install_host.yml
+++ b/roles/etcd/tasks/install_host.yml
@@ -1,21 +1,25 @@
 ---
-- name: install | Copy etcd binary from download dir
-  shell: |
-    rsync -piu "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-amd64/etcd" "{{ bin_dir }}/etcd"
-    rsync -piu "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-amd64/etcdctl" "{{ bin_dir }}/etcdctl"
+- name: install | Copy etcd and etcdctl binary from download dir
+  synchronize:
+    src: "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-amd64/{{ item }}"
+    dest: "{{ bin_dir }}/{{ item }}"
+    compress: no
+    perms: yes
+    owner: no
+    group: no
   changed_when: false
+  delegate_to: "{{ inventory_hostname }}"
+  with_items:
+    - "etcd"
+    - "etcdctl"
   when: etcd_cluster_setup
 
-- name: install | Set etcd binary permissions
+- name: install | Set etcd and etcdctl binary permissions
   file:
-    path: "{{ bin_dir }}/etcd"
+    path: "{{ bin_dir }}/{{ item }}"
     mode: "0755"
     state: file
+  with_items:
+    - "etcd"
+    - "etcdctl"
   when: etcd_cluster_setup
-
-- name: install | Set etcdctl binary permissions
-  file:
-    path: "{{ bin_dir }}/etcdctl"
-    mode: "0755"
-    state: file
-  when: etcd_cluster_setup
\ No newline at end of file
diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml
index 93da9760b..a249e4164 100644
--- a/roles/kubernetes/master/tasks/main.yml
+++ b/roles/kubernetes/master/tasks/main.yml
@@ -10,8 +10,15 @@
   when: kube_encrypt_secret_data
 
 - name: install | Copy kubectl binary from download dir
-  command: rsync -piu "{{ local_release_dir }}/hyperkube" "{{ bin_dir }}/kubectl"
+  synchronize:
+    src: "{{ local_release_dir }}/hyperkube"
+    dest: "{{ bin_dir }}/kubectl"
+    compress: no
+    perms: yes
+    owner: no
+    group: no
   changed_when: false
+  delegate_to: "{{ inventory_hostname }}"
   tags:
     - hyperkube
     - kubectl
diff --git a/roles/kubernetes/node/tasks/install b/roles/kubernetes/node/tasks/install
new file mode 100644
index 000000000..e69de29bb
diff --git a/roles/kubernetes/node/tasks/install.yml b/roles/kubernetes/node/tasks/install.yml
index f3e1dca40..ceeaa442b 100644
--- a/roles/kubernetes/node/tasks/install.yml
+++ b/roles/kubernetes/node/tasks/install.yml
@@ -11,6 +11,7 @@
     src: "{{ local_release_dir }}/kubeadm"
     dest: "{{ bin_dir }}/kubeadm"
     compress: no
+    perms: yes
     owner: no
     group: no
   delegate_to: "{{ inventory_hostname }}"
diff --git a/roles/kubernetes/node/tasks/install_ b/roles/kubernetes/node/tasks/install_
new file mode 100644
index 000000000..e69de29bb
diff --git a/roles/kubernetes/node/tasks/install_host.yml b/roles/kubernetes/node/tasks/install_host.yml
index 485610469..3ec1f1800 100644
--- a/roles/kubernetes/node/tasks/install_host.yml
+++ b/roles/kubernetes/node/tasks/install_host.yml
@@ -5,8 +5,10 @@
     src: "{{ local_release_dir }}/hyperkube"
     dest: "{{ bin_dir }}/kubelet"
     compress: no
+    perms: yes
     owner: no
     group: no
+  delegate_to: "{{ inventory_hostname }}"
   tags:
     - hyperkube
     - upgrade
-- 
GitLab