diff --git a/roles/etcd/tasks/configure.yml b/roles/etcd/tasks/configure.yml
index 7b5c90718ec3b53911fddad18c3f41d2f849c6ab..7af17f69e02c0561abcde0bd60b698c76d3fb25e 100644
--- a/roles/etcd/tasks/configure.yml
+++ b/roles/etcd/tasks/configure.yml
@@ -12,15 +12,6 @@
     ETCDCTL_CERT_FILE: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}.pem"
     ETCDCTL_KEY_FILE: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem"
 
-- name: Install etcd launch script
-  template:
-    src: etcd.j2
-    dest: "{{ bin_dir }}/etcd"
-    owner: 'root'
-    mode: 0755
-    backup: yes
-  notify: restart etcd
-
 - name: Configure | Copy etcd.service systemd file
   template:
     src: "etcd-{{ etcd_deployment_type }}.service.j2"
diff --git a/roles/etcd/tasks/install_docker.yml b/roles/etcd/tasks/install_docker.yml
index 43f4e44d886343dbedf0ffb4b39ecd1616a414f9..291bb5f25413e728cff610cd33ab9f8d25ea208a 100644
--- a/roles/etcd/tasks/install_docker.yml
+++ b/roles/etcd/tasks/install_docker.yml
@@ -4,9 +4,17 @@
            {{ docker_bin_dir }}/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
            {{ docker_bin_dir }}/docker cp etcdctl-binarycopy:/usr/local/bin/etcdctl {{ bin_dir }}/etcdctl &&
            {{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy"
-  when: etcd_deployment_type == "docker"
   register: etcd_task_result
   until: etcd_task_result.rc == 0
   retries: 4
   delay: "{{ retry_stagger | random + 3 }}"
   changed_when: false
+
+- name: Install etcd launch script
+  template:
+    src: etcd.j2
+    dest: "{{ bin_dir }}/etcd"
+    owner: 'root'
+    mode: 0755
+    backup: yes
+  notify: restart etcd
diff --git a/roles/etcd/tasks/install_host.yml b/roles/etcd/tasks/install_host.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9e83905bc893fcfac299a6768d4bfa5665a5c53b
--- /dev/null
+++ b/roles/etcd/tasks/install_host.yml
@@ -0,0 +1,12 @@
+---
+- name: Install | Copy etcdctl and etcd binary from docker container
+  command: sh -c "{{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy;
+           {{ docker_bin_dir }}/docker create --name etcdctl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
+           {{ docker_bin_dir }}/docker cp etcdctl-binarycopy:/usr/local/bin/etcdctl {{ bin_dir }}/etcdctl &&
+           {{ docker_bin_dir }}/docker cp etcdctl-binarycopy:/usr/local/bin/etcd {{ bin_dir }}/etcd &&
+           {{ docker_bin_dir }}/docker rm -f etcdctl-binarycopy"
+  register: etcd_task_result
+  until: etcd_task_result.rc == 0
+  retries: 4
+  delay: "{{ retry_stagger | random + 3 }}"
+  changed_when: false
diff --git a/roles/etcd/templates/etcd-host.service.j2 b/roles/etcd/templates/etcd-host.service.j2
index 8a91fab920c3732a7cbd8e0ba6caa9f730f47f1f..6bba8054e86523e6d43e72d67cee7a84962202c8 100644
--- a/roles/etcd/templates/etcd-host.service.j2
+++ b/roles/etcd/templates/etcd-host.service.j2
@@ -4,7 +4,7 @@ After=network.target
 
 [Service]
 Type=notify
-User=etcd
+User=root
 EnvironmentFile=/etc/etcd.env
 ExecStart={{ bin_dir }}/etcd
 NotifyAccess=all
diff --git a/tests/files/centos7-flannel-addons.yml b/tests/files/centos7-flannel-addons.yml
index 00157349463257e56f8ecdc9bf44a9fe8bc98300..272c5e7ae88391b2c1aa29e77d3f2fdd4b1f9297 100644
--- a/tests/files/centos7-flannel-addons.yml
+++ b/tests/files/centos7-flannel-addons.yml
@@ -10,6 +10,7 @@ helm_enabled: true
 istio_enabled: true
 efk_enabled: true
 local_volume_provisioner_enabled: true
+etcd_deployment_type: host
 deploy_netchecker: true
 kubedns_min_replicas: 1
 cloud_provider: gce