diff --git a/roles/network_plugin/calico/templates/calico-config.yml.j2 b/roles/network_plugin/calico/templates/calico-config.yml.j2
index f1a3f2e76f1aad7edc31c30f6df3cc4219639ed6..26983ecaed4f5592460ecbfb18a0da14d9415004 100644
--- a/roles/network_plugin/calico/templates/calico-config.yml.j2
+++ b/roles/network_plugin/calico/templates/calico-config.yml.j2
@@ -36,12 +36,6 @@ data:
           {% if calico_datastore == "kdd" %}
             "datastore_type": "kubernetes",
             "nodename": "__KUBERNETES_NODE_NAME__",
-          {% else %}
-          {% if cloud_provider is defined %}
-            "nodename": "{{ calico_kubelet_name.stdout }}",
-            {% else %}
-            "nodename": "{{ calico_baremetal_nodename }}",
-          {% endif %}
           {% endif %}
             "type": "calico",
             "log_level": "info",
diff --git a/roles/network_plugin/calico/templates/calico-node.yml.j2 b/roles/network_plugin/calico/templates/calico-node.yml.j2
index f3d52201fe2e50972aff83f1d76b6c08f59031f7..509201152c07305546a503d44bd210ea49b6f13f 100644
--- a/roles/network_plugin/calico/templates/calico-node.yml.j2
+++ b/roles/network_plugin/calico/templates/calico-node.yml.j2
@@ -96,6 +96,13 @@ spec:
             # Prevents the container from sleeping forever.
             - name: SLEEP
               value: "false"
+{% if calico_datastore == "etcd" %}
+            - name: ETCD_ENDPOINTS
+              valueFrom:
+                configMapKeyRef:
+                  name: calico-config
+                  key: etcd_endpoints
+{% endif %}
 {% if calico_datastore == "kdd" %}
             # Set the hostname based on the k8s node name.
             - name: KUBERNETES_NODE_NAME