diff --git a/roles/network_plugin/calico/defaults/main.yml b/roles/network_plugin/calico/defaults/main.yml index 7482970cdbeca6505b34b9b88504670126bbbed4..8d0759ffb230401236f77e144cee4eeda681bf97 100644 --- a/roles/network_plugin/calico/defaults/main.yml +++ b/roles/network_plugin/calico/defaults/main.yml @@ -9,3 +9,8 @@ ipip: false # cloud_provider: calicoctl_image_repo: calico/ctl calicoctl_image_tag: "{{ calico_version }}" + +# Set to true if your Hyperkube has all required components to run +# calico. This is required in order to run canalized calico. +use_hyperkube_cni: false + diff --git a/roles/network_plugin/calico/tasks/main.yml b/roles/network_plugin/calico/tasks/main.yml index 510b8af8261d1ac88939b576cd3700cff48e56ba..c421300ee8b83c1f8579696212fa333b8a6adee2 100644 --- a/roles/network_plugin/calico/tasks/main.yml +++ b/roles/network_plugin/calico/tasks/main.yml @@ -25,10 +25,17 @@ - name: Calico | Install calico cni bin command: rsync -piu "{{ local_release_dir }}/calico/bin/calico" "/opt/cni/bin/calico" changed_when: false + when: not use_hyperkube_cni - name: Calico | Install calico-ipam cni bin command: rsync -piu "{{ local_release_dir }}/calico/bin/calico" "/opt/cni/bin/calico-ipam" changed_when: false + when: not use_hyperkube_cni + +- name: Calico | Copy cni plugins from hyperkube + command: "/usr/bin/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp -r /opt/cni/bin/. /cnibindir/" + changed_when: false + when: use_hyperkube_cni - name: Calico | wait for etcd uri: url=http://localhost:2379/health