From fcf9f9d6f081bd950b7b8240a215cbbf03a6f1be Mon Sep 17 00:00:00 2001 From: k8s-infra-cherrypick-robot <90416843+k8s-infra-cherrypick-robot@users.noreply.github.com> Date: Sat, 26 Sep 2026 02:34:37 -0700 Subject: [PATCH] Compare Calico pool CIDRs as networks (#13579) The check compares the Calico IP pool CIDR with the inventory as strings, so the same network in a different notation fails, for example fd85:ee78:d8a6:202::1:0000/112 and fd85:ee78:d8a6:202::1:0/112. Use ipaddr('net') on the two sides. Signed-off-by: Ali Afsharzadeh Co-authored-by: Ali Afsharzadeh --- roles/network_plugin/calico/tasks/check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/network_plugin/calico/tasks/check.yml b/roles/network_plugin/calico/tasks/check.yml index 906dac0ba..4a549d96b 100644 --- a/roles/network_plugin/calico/tasks/check.yml +++ b/roles/network_plugin/calico/tasks/check.yml @@ -164,7 +164,7 @@ assert: that: - calico_pool_conf.spec.blockSize | int == calico_pool_blocksize | int - - calico_pool_conf.spec.cidr == (calico_pool_cidr | default(kube_pods_subnet)) + - calico_pool_conf.spec.cidr | ansible.utils.ipaddr('net') == (calico_pool_cidr | default(kube_pods_subnet)) | ansible.utils.ipaddr('net') - not calico_pool_conf.spec.ipipMode is defined or calico_pool_conf.spec.ipipMode == calico_ipip_mode - not calico_pool_conf.spec.vxlanMode is defined or calico_pool_conf.spec.vxlanMode == calico_vxlan_mode msg: "Your inventory doesn't match the current cluster configuration" @@ -198,7 +198,7 @@ assert: that: - calico_pool_ipv6_conf.spec.blockSize | int == calico_pool_blocksize_ipv6 | int - - calico_pool_ipv6_conf.spec.cidr == (calico_pool_cidr_ipv6 | default(kube_pods_subnet_ipv6)) + - calico_pool_ipv6_conf.spec.cidr | ansible.utils.ipaddr('net') == (calico_pool_cidr_ipv6 | default(kube_pods_subnet_ipv6)) | ansible.utils.ipaddr('net') - not calico_pool_ipv6_conf.spec.ipipMode is defined or calico_pool_ipv6_conf.spec.ipipMode == calico_ipip_mode_ipv6 - not calico_pool_ipv6_conf.spec.vxlanMode is defined or calico_pool_ipv6_conf.spec.vxlanMode == calico_vxlan_mode_ipv6 msg: "Your ipv6 inventory doesn't match the current cluster configuration"