diff --git a/roles/network_plugin/defaults/main.yml b/roles/network_plugin/defaults/main.yml
index 83de964520cecc0846b0e7862b4774904f3c5c14..e648133bc56345b92513074cf07d6e2b642a85d6 100644
--- a/roles/network_plugin/defaults/main.yml
+++ b/roles/network_plugin/defaults/main.yml
@@ -7,3 +7,5 @@ flannel_public_ip: "{{ access_ip|default(ip|default(ansible_default_ipv4.address
 ## interface that should be used for flannel operations
 ## This is actually an inventory node-level item
 # flannel_interface:
+
+# cloud_provider: no
\ No newline at end of file
diff --git a/roles/network_plugin/tasks/calico.yml b/roles/network_plugin/tasks/calico.yml
index 225c202223fbd4257e7a5fb0943a98260663f038..ae6ac82da028b747f784954a0492f8f432ac5c29 100644
--- a/roles/network_plugin/tasks/calico.yml
+++ b/roles/network_plugin/tasks/calico.yml
@@ -27,7 +27,7 @@
   run_once: true
 
 - name: Calico | Configure calico network pool
-  shell: calicoctl pool add {{ kube_pods_subnet }}
+  command: calicoctl pool add {{ kube_pods_subnet }} {%- if cloud_provider is defined and cloud_provider == True -%} --ipip{%- endif -%}
   run_once: true
   when: calico_conf.status == 404