diff --git a/roles/etcd/tasks/configure.yml b/roles/etcd/tasks/configure.yml
index 5aea90f44ff553ccd054b0ebf918a79d23e2222a..5d84e0bfcf6b7b5d1635a96a56ac9d742fd9a6a6 100644
--- a/roles/etcd/tasks/configure.yml
+++ b/roles/etcd/tasks/configure.yml
@@ -7,13 +7,10 @@
   notify:
     - restart etcd2
 
-- name: Create etcd2 environment vars dir
-  file: path=/etc/systemd/system/etcd2.service.d state=directory
-
-- name: Write etcd2 config file
-  template: src=etcd2.j2 dest=/etc/systemd/system/etcd2.service.d/10-etcd2.conf backup=yes
-  notify:
-    - restart etcd2
+- name: Create etcd2 environment vars file
+  template:
+    src: etcd2-environment.j2
+    dest: /etc/etcd2-environment
 
 - name: Ensure etcd2 is running
   service: name=etcd2 state=started enabled=yes
diff --git a/roles/etcd/templates/etcd2-environment.j2 b/roles/etcd/templates/etcd2-environment.j2
new file mode 100644
index 0000000000000000000000000000000000000000..6475e437d2ffb064632355053688b9e823691c0a
--- /dev/null
+++ b/roles/etcd/templates/etcd2-environment.j2
@@ -0,0 +1,20 @@
+ETCD_DATA_DIR="/var/lib/etcd2"
+{% if inventory_hostname in groups['etcd'] %}
+{% set etcd = {} %}
+{% for srv in groups['etcd'] %}
+{% if inventory_hostname == srv %}
+{% set _dummy = etcd.update({'name':"master"+loop.index|string}) %}
+{% endif %}
+{% endfor %}
+ETCD_ADVERTISE_CLIENT_URLS="http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address) }}:2379"
+ETCD_INITIAL_ADVERTISE_PEER_URLS="http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2380"
+ETCD_INITIAL_CLUSTER="{% for srv in groups['etcd'] %}master{{ loop.index|string }}=http://{{ srv }}:2380{% if not loop.last %},{% endif %}{% endfor %}"
+ETCD_INITIAL_CLUSTER_STATE="new"
+ETCD_INITIAL_CLUSTER_TOKEN="k8s_etcd"
+ETCD_LISTEN_CLIENT_URLS="http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2379,http://127.0.0.1:2379"
+ETCD_LISTEN_PEER_URLS="http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2380"
+ETCD_NAME="{{ etcd.name }}"
+{% else  %}
+ETCD_INITIAL_CLUSTER="{% for srv in groups['etcd'] %}master{{ loop.index|string }}=http://{{ srv }}:2380{% if not loop.last %},{% endif %}{% endfor %}"
+ETCD_LISTEN_CLIENT_URLS="http://127.0.0.1:23799"
+{% endif %}
diff --git a/roles/etcd/templates/etcd2.j2 b/roles/etcd/templates/etcd2.j2
deleted file mode 100644
index a00fb72e299102b42bd78157e3667e4c4a835f53..0000000000000000000000000000000000000000
--- a/roles/etcd/templates/etcd2.j2
+++ /dev/null
@@ -1,21 +0,0 @@
-# etcd2.0
-[Service]
-{% if inventory_hostname in groups['etcd'] %}
-{% set etcd = {} %}
-{% for srv in groups['etcd'] %}
-{% if inventory_hostname == srv %}
-{% set _dummy = etcd.update({'name':"master"+loop.index|string}) %}
-{% endif %}
-{% endfor %}
-Environment="ETCD_ADVERTISE_CLIENT_URLS=http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address) }}:2379"
-Environment="ETCD_INITIAL_ADVERTISE_PEER_URLS=http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2380"
-Environment="ETCD_INITIAL_CLUSTER={% for srv in groups['etcd'] %}master{{ loop.index|string }}=http://{{ srv }}:2380{% if not loop.last %},{% endif %}{% endfor %}"
-Environment="ETCD_INITIAL_CLUSTER_STATE=new"
-Environment="ETCD_INITIAL_CLUSTER_TOKEN=k8s_etcd"
-Environment="ETCD_LISTEN_CLIENT_URLS=http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2379,http://127.0.0.1:2379"
-Environment="ETCD_LISTEN_PEER_URLS=http://{{ hostvars[inventory_hostname]['ip'] | default( ansible_default_ipv4.address)  }}:2380"
-Environment="ETCD_NAME={{ etcd.name }}"
-{% else  %}
-Environment="ETCD_INITIAL_CLUSTER={% for srv in groups['etcd'] %}master{{ loop.index|string }}=http://{{ srv }}:2380{% if not loop.last %},{% endif %}{% endfor %}"
-Environment="ETCD_LISTEN_CLIENT_URLS=http://127.0.0.1:23799"
-{% endif %}
diff --git a/roles/etcd/templates/systemd-etcd2.service.j2 b/roles/etcd/templates/systemd-etcd2.service.j2
index 84a527d0465e3e0466b3223ae0f84c2cda4cb6fe..ca6d37676f00541bea37e55029d3109d8f3e3d70 100644
--- a/roles/etcd/templates/systemd-etcd2.service.j2
+++ b/roles/etcd/templates/systemd-etcd2.service.j2
@@ -4,8 +4,7 @@ Conflicts=etcd.service
 
 [Service]
 User=etcd
-Environment=ETCD_DATA_DIR=/var/lib/etcd2
-Environment=ETCD_NAME=%m
+EnvironmentFile=/etc/etcd2-environment
 {% if inventory_hostname in groups['etcd'] %}
 ExecStart={{ bin_dir }}/etcd2
 {% else %}