diff --git a/cmd/kops/delete_instance.go b/cmd/kops/delete_instance.go index 2fce38abb0..13227f6f16 100644 --- a/cmd/kops/delete_instance.go +++ b/cmd/kops/delete_instance.go @@ -265,7 +265,7 @@ func RunDeleteInstance(ctx context.Context, f *util.Factory, out io.Writer, opti var clusterValidator validation.ClusterValidator if !options.CloudOnly { - clusterValidator, err = validation.NewClusterValidator(cluster, cloud, list, config, k8sClient) + clusterValidator, err = validation.NewClusterValidator(cluster, cloud, list, config.Host, k8sClient) if err != nil { return fmt.Errorf("cannot create cluster validator: %v", err) } diff --git a/cmd/kops/rollingupdatecluster.go b/cmd/kops/rollingupdatecluster.go index b48d7f7f79..7d3c078374 100644 --- a/cmd/kops/rollingupdatecluster.go +++ b/cmd/kops/rollingupdatecluster.go @@ -426,7 +426,7 @@ func RunRollingUpdateCluster(ctx context.Context, f *util.Factory, out io.Writer var clusterValidator validation.ClusterValidator if !options.CloudOnly { - clusterValidator, err = validation.NewClusterValidator(cluster, cloud, list, config, k8sClient) + clusterValidator, err = validation.NewClusterValidator(cluster, cloud, list, config.Host, k8sClient) if err != nil { return fmt.Errorf("cannot create cluster validator: %v", err) } diff --git a/cmd/kops/validate_cluster.go b/cmd/kops/validate_cluster.go index 1323988047..724db9d366 100644 --- a/cmd/kops/validate_cluster.go +++ b/cmd/kops/validate_cluster.go @@ -155,7 +155,7 @@ func RunValidateCluster(ctx context.Context, f *util.Factory, cmd *cobra.Command timeout := time.Now().Add(options.wait) pollInterval := 10 * time.Second - validator, err := validation.NewClusterValidator(cluster, cloud, list, config, k8sClient) + validator, err := validation.NewClusterValidator(cluster, cloud, list, config.Host, k8sClient) if err != nil { return nil, fmt.Errorf("unexpected error creating validatior: %v", err) } diff --git a/pkg/validation/BUILD.bazel b/pkg/validation/BUILD.bazel index c15e57134f..1aaeded4f1 100644 --- a/pkg/validation/BUILD.bazel +++ b/pkg/validation/BUILD.bazel @@ -17,7 +17,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/client-go/kubernetes:go_default_library", - "//vendor/k8s.io/client-go/rest:go_default_library", "//vendor/k8s.io/client-go/tools/pager:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", ], diff --git a/pkg/validation/validate_cluster.go b/pkg/validation/validate_cluster.go index 95629331d5..5bb932d699 100644 --- a/pkg/validation/validate_cluster.go +++ b/pkg/validation/validate_cluster.go @@ -24,7 +24,6 @@ import ( "strings" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/rest" "k8s.io/client-go/tools/pager" "k8s.io/kops/upup/pkg/fi" @@ -60,7 +59,7 @@ type clusterValidatorImpl struct { cluster *kops.Cluster cloud fi.Cloud instanceGroups []*kops.InstanceGroup - config *rest.Config + host string k8sClient kubernetes.Interface } @@ -78,8 +77,8 @@ type ValidationNode struct { } // hasPlaceHolderIP checks if the API DNS has been updated. -func hasPlaceHolderIP(config *rest.Config) (bool, error) { - apiAddr, err := url.Parse(config.Host) +func hasPlaceHolderIP(host string) (bool, error) { + apiAddr, err := url.Parse(host) if err != nil { return true, fmt.Errorf("unable to parse Kubernetes cluster API URL: %v", err) } @@ -97,7 +96,7 @@ func hasPlaceHolderIP(config *rest.Config) (bool, error) { return false, nil } -func NewClusterValidator(cluster *kops.Cluster, cloud fi.Cloud, instanceGroupList *kops.InstanceGroupList, config *rest.Config, k8sClient kubernetes.Interface) (ClusterValidator, error) { +func NewClusterValidator(cluster *kops.Cluster, cloud fi.Cloud, instanceGroupList *kops.InstanceGroupList, host string, k8sClient kubernetes.Interface) (ClusterValidator, error) { var instanceGroups []*kops.InstanceGroup for i := range instanceGroupList.Items { @@ -113,7 +112,7 @@ func NewClusterValidator(cluster *kops.Cluster, cloud fi.Cloud, instanceGroupLis cluster: cluster, cloud: cloud, instanceGroups: instanceGroups, - config: config, + host: host, k8sClient: k8sClient, }, nil } @@ -127,7 +126,7 @@ func (v *clusterValidatorImpl) Validate() (*ValidationCluster, error) { // Do not use if we are running gossip if !dns.IsGossipHostname(clusterName) { - hasPlaceHolderIPAddress, err := hasPlaceHolderIP(v.config) + hasPlaceHolderIPAddress, err := hasPlaceHolderIP(v.host) if err != nil { return nil, err } diff --git a/pkg/validation/validate_cluster_test.go b/pkg/validation/validate_cluster_test.go index 8764b215c2..d54cc6e5ca 100644 --- a/pkg/validation/validate_cluster_test.go +++ b/pkg/validation/validate_cluster_test.go @@ -121,7 +121,7 @@ func testValidate(t *testing.T, groups map[string]*cloudinstances.CloudInstanceG mockcloud := BuildMockCloud(t, groups, cluster, instanceGroups) - validator, err := NewClusterValidator(cluster, mockcloud, &kopsapi.InstanceGroupList{Items: instanceGroups}, nil, fake.NewSimpleClientset(objects...)) + validator, err := NewClusterValidator(cluster, mockcloud, &kopsapi.InstanceGroupList{Items: instanceGroups}, "https://api.testcluster.k8s.local", fake.NewSimpleClientset(objects...)) if err != nil { return nil, err } @@ -145,7 +145,7 @@ func Test_ValidateCloudGroupMissing(t *testing.T) { mockcloud := BuildMockCloud(t, nil, cluster, instanceGroups) - validator, err := NewClusterValidator(cluster, mockcloud, &kopsapi.InstanceGroupList{Items: instanceGroups}, nil, fake.NewSimpleClientset()) + validator, err := NewClusterValidator(cluster, mockcloud, &kopsapi.InstanceGroupList{Items: instanceGroups}, "https://api.testcluster.k8s.local", fake.NewSimpleClientset()) require.NoError(t, err) v, err := validator.Validate() require.NoError(t, err)