From cb595598351990111b5a7335e811299852470f9e Mon Sep 17 00:00:00 2001
From: Smaine Kahlouch <smaine.kahlouch@arkena.com>
Date: Fri, 22 Jan 2016 16:37:07 +0100
Subject: [PATCH] use command instead of synchronize

---
 roles/download/defaults/main.yml           | 10 ++++++++
 roles/download/tasks/main.yml              | 17 +++++++++++++
 roles/etcd/tasks/install.yml               | 12 ++--------
 roles/kubernetes/master/tasks/main.yml     | 17 ++++---------
 roles/kubernetes/node/tasks/install.yml    | 28 ++++------------------
 roles/kubernetes/node/tasks/main.yml       |  9 -------
 roles/kubernetes/preinstall/tasks/main.yml |  2 +-
 roles/network_plugin/tasks/calico.yml      |  9 ++-----
 8 files changed, 41 insertions(+), 63 deletions(-)

diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 684c75bbb..4598e0156 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -25,24 +25,34 @@ downloads:
     dest: calico/bin/calicoctl
     sha256: "{{ calico_checksum }}"
     url: "{{ calico_download_url }}"
+    owner: "root"
+    mode: "0755"
 
   - name: calico-plugin
     dest: calico/bin/calico
     sha256: "{{ calico_plugin_checksum }}"
     url: "{{ calico_plugin_download_url }}"
+    owner: "root"
+    mode: "0755"
 
   - name: etcd
     dest: "etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz"
     sha256: "{{ etcd_checksum }}"
     url: "{{ etcd_download_url }}"
     unarchive: true
+    owner: "etcd"
+    mode: "0755"
 
   - name: kubernetes-kubelet
     dest: kubernetes/bin/kubelet
     sha256: "{{kubelet_checksum}}"
     url: "{{ kube_download_url }}/kubelet"
+    owner: "kube"
+    mode: "0755"
 
   - name: kubernetes-kubectl
     dest: kubernetes/bin/kubectl
     sha256: "{{kubectl_checksum}}"
     url: "{{ kube_download_url }}/kubectl"
+    owner: "kube"
+    mode: "0755"
diff --git a/roles/download/tasks/main.yml b/roles/download/tasks/main.yml
index 0d881acfc..af1bc4124 100644
--- a/roles/download/tasks/main.yml
+++ b/roles/download/tasks/main.yml
@@ -1,4 +1,19 @@
 ---
+- name: Create system kube user
+  user:
+    name=kube
+    comment="Kubernetes user"
+    shell=/sbin/nologin
+    state=present
+    system=yes
+    groups={{ kube_cert_group }}
+
+- name: Create etcd user
+  user:
+    name: etcd
+    shell: /bin/nologin
+    home: /var/lib/etcd
+
 - name: Create dest directories
   file: path={{local_release_dir}}/{{item.dest|dirname}} state=directory recurse=yes
   with_items: downloads
@@ -8,6 +23,8 @@
     url: "{{item.url}}"
     dest: "{{local_release_dir}}/{{item.dest}}"
     sha256sum: "{{item.sha256 | default(omit)}}"
+    owner: "{{ item.owner|default(omit) }}"
+    mode: "{{ item.mode|default(omit) }}"
   with_items: downloads
 
 - name: Extract archives
diff --git a/roles/etcd/tasks/install.yml b/roles/etcd/tasks/install.yml
index c19b26c9c..679b98077 100644
--- a/roles/etcd/tasks/install.yml
+++ b/roles/etcd/tasks/install.yml
@@ -1,16 +1,8 @@
 ---
-- name: INSTALL | Create etcd user
-  user: name=etcd shell=/bin/nologin home=/var/lib/etcd
-
 - name: INSTALL | Copy  etcd binaries
-  synchronize:
-     src: "{{ etcd_bin_dir }}/{{ item }}"
-     dest: "{{ bin_dir }}"
-     times: yes
-     archive: no
-     set_remote_user: false
-  delegate_to: "{{ inventory_hostname }}"
+  command: cp -pf "{{ etcd_bin_dir }}/{{ item }}" "{{ bin_dir }}"
   with_items:
     - etcdctl
     - etcd
+  changed_when: false
   notify: restart etcd
diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml
index 7e941e422..3543ded91 100644
--- a/roles/kubernetes/master/tasks/main.yml
+++ b/roles/kubernetes/master/tasks/main.yml
@@ -5,17 +5,9 @@
     dest: /etc/bash_completion.d/kubectl.sh
 
 - name: Install kubectl binary
-  synchronize:
-     src: "{{ local_release_dir }}/kubernetes/bin/kubectl"
-     dest: "{{ bin_dir }}/kubectl"
-     archive: no
-     checksum: yes
-     times: yes
-     set_remote_user: false
-  delegate_to: "{{  inventory_hostname  }}"
-
-- name: Perms kubectl binary
-  file: path={{ bin_dir }}/kubectl owner=kube mode=0755 state=file
+  command: cp -pf "{{ local_release_dir }}/kubernetes/bin/kubectl" "{{ bin_dir }}/kubectl"
+  changed_when: false
+  notify: restart kubelet
 
 - name: populate users for basic auth in API
   lineinfile:
@@ -46,8 +38,7 @@
   template:
     src: manifests/kube-apiserver.manifest.j2
     dest: "{{ kube_manifest_dir }}/kube-apisever.manifest"
-  notify:
-    - restart kubelet
+  notify: restart kubelet
 
 - meta: flush_handlers
 
diff --git a/roles/kubernetes/node/tasks/install.yml b/roles/kubernetes/node/tasks/install.yml
index 847db5390..9017003b2 100644
--- a/roles/kubernetes/node/tasks/install.yml
+++ b/roles/kubernetes/node/tasks/install.yml
@@ -18,34 +18,16 @@
   notify: restart kubelet
 
 - name: install | Install kubelet binary
-  synchronize:
-     src: "{{ local_release_dir }}/kubernetes/bin/kubelet"
-     dest: "{{ bin_dir }}/kubelet"
-     times: yes
-     archive: no
-     set_remote_user: false
-  delegate_to: "{{  inventory_hostname  }}"
-  notify:
-    - restart kubelet
-
-- name: install | Perms kubelet binary
-  file: path={{ bin_dir }}/kubelet owner=kube mode=0755 state=file
+  command: cp -pf "{{ local_release_dir }}/kubernetes/bin/kubelet" "{{ bin_dir }}/kubelet"
+  changed_when: false
+  notify: restart kubelet
 
 - name: install | Calico-plugin | Directory
   file: path=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/ state=directory
   when: kube_network_plugin == "calico"
 
 - name: install | Calico-plugin | Binary
-  synchronize:
-    src: "{{ local_release_dir }}/calico/bin/calico"
-    dest: "/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico"
-    times: yes
-    archive: no
-    set_remote_user: false
-  delegate_to: "{{  inventory_hostname  }}"
+  command: cp -pf "{{ local_release_dir }}/calico/bin/calico" "/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico"
   when: kube_network_plugin == "calico"
+  changed_when: false
   notify: restart kubelet
-
-- name: install | Perms calico plugin binary
-  file: path=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico owner=kube mode=0755 state=file
-  when: kube_network_plugin == "calico"
diff --git a/roles/kubernetes/node/tasks/main.yml b/roles/kubernetes/node/tasks/main.yml
index 68d4f7579..387f5bf72 100644
--- a/roles/kubernetes/node/tasks/main.yml
+++ b/roles/kubernetes/node/tasks/main.yml
@@ -12,15 +12,6 @@
 - name: certs | create system kube-cert groups
   group: name={{ kube_cert_group }} state=present system=yes
 
-- name: create system kube user
-  user:
-    name=kube
-    comment="Kubernetes user"
-    shell=/sbin/nologin
-    state=present
-    system=yes
-    groups={{ kube_cert_group }}
-
 - include: secrets.yml
   tags:
     - secrets
diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index ef6578e37..a498e6445 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -17,7 +17,7 @@
 
 - name: "Identify init system"
   shell: >
-    $(pgrep systemd > /dev/null && systemctl status network > /dev/null);
+    $(pgrep systemd > /dev/null && systemctl status network.target > /dev/null);
     if [ $? -eq 0 ] ; then
       echo systemd;
     else
diff --git a/roles/network_plugin/tasks/calico.yml b/roles/network_plugin/tasks/calico.yml
index c75a4b3a1..b1dd11a37 100644
--- a/roles/network_plugin/tasks/calico.yml
+++ b/roles/network_plugin/tasks/calico.yml
@@ -1,12 +1,7 @@
 ---
 - name: Calico | Install calicoctl bin
-  synchronize:
-    src: "{{ local_release_dir }}/calico/bin/calicoctl"
-    dest: "{{ bin_dir }}/calicoctl"
-    archive: no
-    times: yes
-    set_remote_user: false
-  delegate_to: "{{  inventory_hostname  }}"
+  command: cp -pf "{{ local_release_dir }}/calico/bin/calicoctl" "{{ bin_dir }}/calicoctl"
+  changed_when: false
   notify: restart calico-node
 
 - name: Calico | install calicoctl
-- 
GitLab