diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml index eee11e2e942e044767bfe686ec789324c05be33a..0a2b3a177ea1b4564d9a7d840e456d9dc14cc467 100644 --- a/roles/download/defaults/main.yml +++ b/roles/download/defaults/main.yml @@ -7,9 +7,10 @@ kubectl_checksum: "01b9bea18061a27b1cf30e34fd8ab45cfc096c9a9d57d0ed21072abb40dd3 kubelet_checksum: "62191c66f2d670dd52ddf1d88ef81048977abf1ffaa95ee6333299447eb6a482" calico_version: v0.13.0 +calico_plugin_version: v0.7.0 etcd_download_url: "https://github.com/coreos/etcd/releases/download" flannel_download_url: "https://github.com/coreos/flannel/releases/download" kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64" calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download" - +calico_plugin_download_url: "https://github.com/projectcalico/calico-kubernetes/releases/download/{{calico_plugin_version}}/calico_kubernetes" diff --git a/roles/download/tasks/calico.yml b/roles/download/tasks/calico.yml index b6d506fe2a9f0d3a4b622854e51fdcda6b50afb5..9fa82cac10d2bb4340c49977db6b8edfd7d44c63 100644 --- a/roles/download/tasks/calico.yml +++ b/roles/download/tasks/calico.yml @@ -19,3 +19,9 @@ when: not c_tar.stat.exists register: dl_calico delegate_to: "{{ groups['kube-master'][0] }}" + + +- name: Download calico-kubernetes-plugin + local_action: get_url + url="{{calico_plugin_download_url}}" + dest="{{ local_release_dir }}/calico/bin/calico" diff --git a/roles/kubernetes/node/tasks/install.yml b/roles/kubernetes/node/tasks/install.yml index 6c0a75470e9369df0611110784981ae5183e8b47..190b2d1c7a3fc4b6b158e9001c85ed51ea9e0de0 100644 --- a/roles/kubernetes/node/tasks/install.yml +++ b/roles/kubernetes/node/tasks/install.yml @@ -11,3 +11,16 @@ mode=0755 notify: - restart kubelet + +- name: Calico-plugin | Directory + file: path=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/ state=directory + when: kube_network_plugin == "calico" + +- name: Calico-plugin | Binary + copy: + src={{ local_release_dir }}/calico/bin/calico + dest=/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico + mode=0755 + when: kube_network_plugin == "calico" + notify: + - restart kubelet \ No newline at end of file diff --git a/roles/network_plugin/tasks/main.yml b/roles/network_plugin/tasks/main.yml index 68363b53cee841a2c25ad303eca400ca10bbd63d..a5e4c1f59525aa905ff276ce068d10f1091e277c 100644 --- a/roles/network_plugin/tasks/main.yml +++ b/roles/network_plugin/tasks/main.yml @@ -2,7 +2,7 @@ - name: "Test if network plugin is defined" fail: msg="ERROR, One network_plugin variable must be defined (Flannel or Calico)" when: ( kube_network_plugin is defined and kube_network_plugin == "calico" and kube_network_plugin == "flannel" ) or - kube_network_plugin is not defined + kube_network_plugin is not defined - name: Write network-environment template: src=network-environment.j2 dest=/etc/network-environment mode=640