Merge "add changes for opencontrail"
diff --git a/kubernetes/files/kubelet/default.pool b/kubernetes/files/kubelet/default.pool
index 8cfa3ea..98f04c5 100644
--- a/kubernetes/files/kubelet/default.pool
+++ b/kubernetes/files/kubelet/default.pool
@@ -10,10 +10,7 @@
 --cluster_domain={{ pool.cluster_domain }} \
 --cni-bin-dir={{ pool.apiserver.get('cni_bin_dir', '/opt/cni/bin') }} \
 --v={{ pool.get('verbosity', 2) }} \
-{%- if pool.network.engine == 'opencontrail' %}
---network-plugin={{ pool.network.engine }} \
-{%- endif %}
-{%- if pool.network.engine == 'calico' %}
+{%- if pool.network.engine in {'calico', 'opencontrail'} %}
 --network-plugin=cni \
 --network-plugin-dir=/etc/cni/net.d \
 {%- endif %}
diff --git a/kubernetes/meta/salt.yml b/kubernetes/meta/salt.yml
index 3f06b43..5778336 100644
--- a/kubernetes/meta/salt.yml
+++ b/kubernetes/meta/salt.yml
@@ -1,6 +1,6 @@
 grain:
   kubernetes:
-    {%- if pillar.kubernetes.pool is defined %}
+    {%- if pillar.get('kubernetes', {}).get('pool') %}
       {%- from "kubernetes/map.jinja" import pool with context %}
       {%- if pool.get('service', {})|length > 0 %}
         {%- set service_grains = {'kubernetes': {'service': pool.get('service', {}).get('local', {})}} -%}
diff --git a/kubernetes/pool/init.sls b/kubernetes/pool/init.sls
index 398e905..b23da8c 100644
--- a/kubernetes/pool/init.sls
+++ b/kubernetes/pool/init.sls
@@ -4,6 +4,9 @@
 {%- if pool.network.engine == "calico" %}
 - kubernetes.pool.calico
 {%- endif %}
+{%- if pool.network.engine == "opencontrail" %}
+- kubernetes.pool.opencontrail
+{%- endif %}
 - kubernetes.pool.service
 {%- if pool.network.engine == "flannel" %}
 - kubernetes.pool.flannel
diff --git a/kubernetes/pool/opencontrail.sls b/kubernetes/pool/opencontrail.sls
index b0f43ab..1d9c907 100644
--- a/kubernetes/pool/opencontrail.sls
+++ b/kubernetes/pool/opencontrail.sls
@@ -11,5 +11,14 @@
     - dir_mode: 755
     - template: jinja
 
-
+/opt/cni/bin/opencontrail:
+  file.managed:
+    - source: http://apt.tcpcloud.eu/kubernetes/bin/opencontrail
+    - user: root
+    - group: root
+    - mode: 755
+    - makedirs: true
+    - dir_mode: 755
+    - template: jinja
+    - source_hash: md5={{ pool.network.hash }}
 {%- endif %}