Fix calico configuration

This allows proper use of calicoctl command on k8s nodes
instead of getting:

Failed to get resources: client: etcd cluster is unavailable or
misconfigured; error #0: dial tcp 127.0.0.1:2379:
getsockopt: connection refused

Change-Id: I095edf2cc7328a6ab0ce1479cbc71e5a10b58b73
diff --git a/kubernetes/files/calico/calicoctl.cfg.master b/kubernetes/files/calico/calicoctl.cfg.master
new file mode 100644
index 0000000..c500749
--- /dev/null
+++ b/kubernetes/files/calico/calicoctl.cfg.master
@@ -0,0 +1,7 @@
+{%- from "kubernetes/map.jinja" import master with context %}
+apiVersion: v1
+kind: calicoApiConfig
+metadata:
+spec:
+  datastoreType: "etcdv2"
+  etcdEndpoints: {% for member in master.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}
diff --git a/kubernetes/files/calico/calicoctl.cfg.pool b/kubernetes/files/calico/calicoctl.cfg.pool
new file mode 100644
index 0000000..73c437d
--- /dev/null
+++ b/kubernetes/files/calico/calicoctl.cfg.pool
@@ -0,0 +1,7 @@
+{%- from "kubernetes/map.jinja" import pool with context %}
+apiVersion: v1
+kind: calicoApiConfig
+metadata:
+spec:
+  datastoreType: "etcdv2"
+  etcdEndpoints: {% for member in pool.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}
diff --git a/kubernetes/master/calico.sls b/kubernetes/master/calico.sls
index f175a70..8ecc181 100644
--- a/kubernetes/master/calico.sls
+++ b/kubernetes/master/calico.sls
@@ -11,6 +11,16 @@
     - dir_mode: 755
     - template: jinja
 
+/etc/calico/calicoctl.cfg:
+  file.managed:
+    - source: salt://kubernetes/files/calico/calicoctl.cfg.master
+    - user: root
+    - group: root
+    - mode: 644
+    - makedirs: true
+    - dir_mode: 755
+    - template: jinja
+
 /usr/bin/calicoctl:
   file.managed:
      - source: {{ master.network.get('source', 'https://github.com/projectcalico/calico-containers/releases/download/') }}{{ master.network.version }}/calicoctl
@@ -37,4 +47,4 @@
 
 {%- endif %}
 
-{%- endif %}
\ No newline at end of file
+{%- endif %}
diff --git a/kubernetes/pool/calico.sls b/kubernetes/pool/calico.sls
index fbe7bdb..e0925c2 100644
--- a/kubernetes/pool/calico.sls
+++ b/kubernetes/pool/calico.sls
@@ -68,6 +68,16 @@
     - dir_mode: 755
     - template: jinja
 
+/etc/calico/calicoctl.cfg:
+  file.managed:
+    - source: salt://kubernetes/files/calico/calicoctl.cfg.pool
+    - user: root
+    - group: root
+    - mode: 644
+    - makedirs: true
+    - dir_mode: 755
+    - template: jinja
+
 {%- if pool.network.get('systemd', true) %}
 
 /etc/systemd/system/calico-node.service: