From 64656bb911c24d6ee3cee6f65e87472d3a848496 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Tue, 8 Jun 2021 20:40:56 -0700 Subject: [PATCH] Add test for assigning ClusterCIDR and ClusterIPRange --- upup/pkg/fi/cloudup/BUILD.bazel | 2 + .../fi/cloudup/populate_cluster_spec_test.go | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/upup/pkg/fi/cloudup/BUILD.bazel b/upup/pkg/fi/cloudup/BUILD.bazel index 8ea6613b76..ec149b75a1 100644 --- a/upup/pkg/fi/cloudup/BUILD.bazel +++ b/upup/pkg/fi/cloudup/BUILD.bazel @@ -134,6 +134,8 @@ go_test( "//util/pkg/hashing:go_default_library", "//util/pkg/mirrors:go_default_library", "//util/pkg/vfs:go_default_library", + "//vendor/github.com/stretchr/testify/assert:go_default_library", + "//vendor/github.com/stretchr/testify/require:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", "//vendor/sigs.k8s.io/yaml:go_default_library", diff --git a/upup/pkg/fi/cloudup/populate_cluster_spec_test.go b/upup/pkg/fi/cloudup/populate_cluster_spec_test.go index 84e295425d..fc13474e96 100644 --- a/upup/pkg/fi/cloudup/populate_cluster_spec_test.go +++ b/upup/pkg/fi/cloudup/populate_cluster_spec_test.go @@ -21,6 +21,8 @@ import ( "strings" "testing" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "k8s.io/kops/pkg/testutils" kopsapi "k8s.io/kops/pkg/apis/kops" @@ -38,6 +40,7 @@ func buildMinimalCluster() (*awsup.MockAWSCloud, *kopsapi.Cluster) { return cloud, c } + func TestPopulateCluster_Default_NoError(t *testing.T) { cloud, c := buildMinimalCluster() @@ -52,6 +55,40 @@ func TestPopulateCluster_Default_NoError(t *testing.T) { } } +func TestPopulateCluster_Subnets(t *testing.T) { + tests := []struct { + NonMasqueradeCIDR string + ExpectedClusterCIDR string + ExpectedServiceClusterIPRange string + }{ + { + NonMasqueradeCIDR: "100.64.0.0/10", + ExpectedClusterCIDR: "100.96.0.0/11", + ExpectedServiceClusterIPRange: "100.64.0.0/13", + }, + { + NonMasqueradeCIDR: "10.100.0.0/16", + ExpectedClusterCIDR: "10.100.128.0/17", + ExpectedServiceClusterIPRange: "10.100.0.0/19", + }, + } + for _, tc := range tests { + t.Run(tc.NonMasqueradeCIDR, func(t *testing.T) { + cloud, c := buildMinimalCluster() + c.Spec.NonMasqueradeCIDR = tc.NonMasqueradeCIDR + + err := PerformAssignments(c, cloud) + require.NoError(t, err, "PerformAssignments") + + full, err := mockedPopulateClusterSpec(c, cloud) + require.NoError(t, err, "PopulateClusterSpec") + + assert.Equal(t, tc.ExpectedClusterCIDR, full.Spec.KubeControllerManager.ClusterCIDR, "ClusterCIDR") + assert.Equal(t, tc.ExpectedServiceClusterIPRange, full.Spec.ServiceClusterIPRange, "ServiceClusterIPRange") + }) + } +} + func mockedPopulateClusterSpec(c *kopsapi.Cluster, cloud fi.Cloud) (*kopsapi.Cluster, error) { vfs.Context.ResetMemfsContext(true)