pass host only instead of the whole config

This commit is contained in:
Charles-Edouard Brétéché 2020-11-12 08:37:51 +01:00
parent ee2b25e561
commit 116af0c74b
6 changed files with 11 additions and 13 deletions

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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",
],

View File

@ -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
}

View File

@ -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)