From 7379ad5ae220732d37dc6f972127a0fcad3b7709 Mon Sep 17 00:00:00 2001 From: yankaiz Date: Fri, 8 Feb 2019 17:33:31 -0800 Subject: [PATCH] Skip validation for clusterCIDR in node ipam controller. clusterCIDR is passed down from kube_env CLUSTER_IP_RANGE to the flag --cluster-cidr. We plan not to let GKE to pass down CLUSTER_IP_RANGE to kube-env for the master node. --- pkg/controller/nodeipam/node_ipam_controller.go | 9 ++++----- pkg/controller/nodeipam/node_ipam_controller_test.go | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/controller/nodeipam/node_ipam_controller.go b/pkg/controller/nodeipam/node_ipam_controller.go index 8f87cf72b1..c98be2cef0 100644 --- a/pkg/controller/nodeipam/node_ipam_controller.go +++ b/pkg/controller/nodeipam/node_ipam_controller.go @@ -106,13 +106,12 @@ func NewNodeIpamController( metrics.RegisterMetricAndTrackRateLimiterUsage("node_ipam_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } - if clusterCIDR == nil { - klog.Fatal("Controller: Must specify --cluster-cidr if --allocate-node-cidrs is set") - } - mask := clusterCIDR.Mask if allocatorType != ipam.CloudAllocatorType { // Cloud CIDR allocator does not rely on clusterCIDR or nodeCIDRMaskSize for allocation. - if maskSize, _ := mask.Size(); maskSize > nodeCIDRMaskSize { + if clusterCIDR == nil { + klog.Fatal("Controller: Must specify --cluster-cidr if --allocate-node-cidrs is set") + } + if maskSize, _ := clusterCIDR.Mask.Size(); maskSize > nodeCIDRMaskSize { klog.Fatal("Controller: Invalid --cluster-cidr, mask size of cluster CIDR must be less than --node-cidr-mask-size") } } diff --git a/pkg/controller/nodeipam/node_ipam_controller_test.go b/pkg/controller/nodeipam/node_ipam_controller_test.go index 331c19d664..c44ff60a34 100644 --- a/pkg/controller/nodeipam/node_ipam_controller_test.go +++ b/pkg/controller/nodeipam/node_ipam_controller_test.go @@ -70,7 +70,8 @@ func TestNewNodeIpamControllerWithCIDRMasks(t *testing.T) { {"valid_cloud_allocator", "10.0.0.0/21", "10.1.0.0/21", 24, ipam.CloudAllocatorType, false}, {"valid_ipam_from_cluster", "10.0.0.0/21", "10.1.0.0/21", 24, ipam.IPAMFromClusterAllocatorType, false}, {"valid_ipam_from_cloud", "10.0.0.0/21", "10.1.0.0/21", 24, ipam.IPAMFromCloudAllocatorType, false}, - {"invalid_cluster_CIDR", "invalid", "10.1.0.0/21", 24, ipam.CloudAllocatorType, true}, + {"valid_skip_cluster_CIDR_validation_for_cloud_allocator", "invalid", "10.1.0.0/21", 24, ipam.CloudAllocatorType, false}, + {"invalid_cluster_CIDR", "invalid", "10.1.0.0/21", 24, ipam.IPAMFromClusterAllocatorType, true}, {"valid_CIDR_smaller_than_mask_cloud_allocator", "10.0.0.0/26", "10.1.0.0/21", 24, ipam.CloudAllocatorType, false}, {"invalid_CIDR_smaller_than_mask_other_allocators", "10.0.0.0/26", "10.1.0.0/21", 24, ipam.IPAMFromCloudAllocatorType, true}, } {