diff --git a/roles/network_plugin/defaults/main.yml b/roles/network_plugin/defaults/main.yml
index 04fece73f2fbbce3c6df0c2e8879424b8e265b09..4d64d16d35eba7543a6adf6b2c497b8b9a6d31c7 100644
--- a/roles/network_plugin/defaults/main.yml
+++ b/roles/network_plugin/defaults/main.yml
@@ -4,3 +4,5 @@
 
 ## interface that should be used for flannel operations
 # 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