Setup cni plugins from upstream github.
CNI plugins should be installed from dedicated project,
not from hyperkube image.
Change-Id: I161c4d9e72fdcc863bc0d273c4628e52090ace7d
diff --git a/kubernetes/_common.sls b/kubernetes/_common.sls
index 11f561e..be7c2a4 100644
--- a/kubernetes/_common.sls
+++ b/kubernetes/_common.sls
@@ -243,3 +243,13 @@
{% endif %}
{% endif %}
+
+{%- if common.cni is defined %}
+/opt/cni/bin:
+ archive.extracted:
+ - source: {{ common.cni.plugins.source }}
+ - source_hash: md5={{ common.cni.plugins.hash }}
+ - tar_options: xzf
+ - archive_format: tar
+ - if_missing: /opt/cni/bin/host-local
+{%- endif %}
diff --git a/kubernetes/pool/cni.sls b/kubernetes/pool/cni.sls
deleted file mode 100644
index 0cddd8a..0000000
--- a/kubernetes/pool/cni.sls
+++ /dev/null
@@ -1,41 +0,0 @@
-{%- from "kubernetes/map.jinja" import pool with context %}
-{%- from "kubernetes/map.jinja" import common with context %}
-{%- if pool.enabled %}
-
-{%- if common.hyperkube %}
-
-/tmp/cni/:
- file.directory:
- - user: root
- - group: root
-
-copy-network-cni:
- cmd.run:
- - name: docker run --rm -v /tmp/cni/:/tmp/cni/ --entrypoint cp {{ common.hyperkube.image }} -vr /opt/cni/bin/ /tmp/cni/
- - require:
- - file: /tmp/cni/
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
-{%- for filename in ['flannel', 'tuning', 'bridge', 'ipvlan', 'loopback', 'macvlan', 'ptp', 'dhcp', 'host-local'] %}
-/opt/cni/bin/{{ filename }}:
- file.managed:
- - source: /tmp/cni/bin/{{ filename }}
- - user: root
- - group: root
- - mode: 755
- - makedirs: True
- - watch_in:
- - service: kubelet_service
- - require:
- - cmd: copy-network-cni
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
-{%- endfor %}
-
-{%- endif %}
-
-{%- endif %}
diff --git a/kubernetes/pool/init.sls b/kubernetes/pool/init.sls
index 34e217a..c4b1967 100644
--- a/kubernetes/pool/init.sls
+++ b/kubernetes/pool/init.sls
@@ -1,6 +1,5 @@
{%- from "kubernetes/map.jinja" import pool with context %}
include:
-- kubernetes.pool.cni
{%- if pool.network.get('calico', {}).get('enabled', False) %}
- kubernetes.pool.calico
{%- endif %}
diff --git a/metadata/service/common.yml b/metadata/service/common.yml
index d2fa3bb..161e025 100644
--- a/metadata/service/common.yml
+++ b/metadata/service/common.yml
@@ -61,6 +61,10 @@
image: mirantis/virtlet:v1.0.0
criproxy_version: v0.10.0
criproxy_source: md5=52717b1f70f15558ef4bdb0e4d4948da
+ cni:
+ plugins:
+ source: https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz
+ hash: e7e5751d43456f69ea1ed043647e0377
cloudprovider:
enabled: False
provider: openstack