From 6368c626c5c510c0ed35d487c6608690bc8c3ab3 Mon Sep 17 00:00:00 2001
From: Javeria Khan <javeria.ak@gmail.com>
Date: Thu, 20 Feb 2020 00:39:03 -0800
Subject: [PATCH] Ignore assertion comparison for kube_network_node_prefix when
 using calico (#5632)

* Fix incorrect assertion comparison for kube_network_node_prefix

* Ignore assertion comparison for kube_network_node_prefix when using calico

* Adding more var docs description for kube_network_node_prefix

* Fixing trailing whitespaces
---
 docs/vars.md                                               | 5 ++++-
 roles/kubernetes/preinstall/tasks/0020-verify-settings.yml | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/docs/vars.md b/docs/vars.md
index 20bf85456..9797aeac3 100644
--- a/docs/vars.md
+++ b/docs/vars.md
@@ -57,7 +57,10 @@ following default cluster parameters:
 * *kube_pods_subnet* - Subnet for Pod IPs (default is 10.233.64.0/18). Must not
   overlap with kube_service_addresses.
 * *kube_network_node_prefix* - Subnet allocated per-node for pod IPs. Remaining
-  bits in kube_pods_subnet dictates how many kube-nodes can be in cluster.
+  bits in kube_pods_subnet dictates how many kube-nodes can be in cluster. Setting this > 25 will
+  raise an assertion in playbooks if the `kubelet_max_pods` var also isn't adjusted accordingly
+  (assertion not applicable to calico which doesn't use this as a hard limit, see
+  [Calico IP block sizes](https://docs.projectcalico.org/reference/resources/ippool#block-sizes).
 * *skydns_server* - Cluster IP for DNS (default is 10.233.0.3)
 * *skydns_server_secondary* - Secondary Cluster IP for CoreDNS used with coredns_dual deployment (default is 10.233.0.4)
 * *enable_coredns_k8s_external* - If enabled, it configures the [k8s_external plugin](https://coredns.io/plugins/k8s_external/)
diff --git a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
index 44bfae749..1bc03bcfe 100644
--- a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
+++ b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
@@ -85,6 +85,7 @@
   when:
     - inventory_hostname in groups['k8s-cluster']
     - kube_network_node_prefix is defined
+    - kube_network_plugin != 'calico'
 
 - name: Stop if ip var does not match local ips
   assert:
-- 
GitLab