mirror of https://github.com/kubernetes/kops.git
pass host only instead of the whole config
This commit is contained in:
parent
ee2b25e561
commit
116af0c74b
|
@ -265,7 +265,7 @@ func RunDeleteInstance(ctx context.Context, f *util.Factory, out io.Writer, opti
|
||||||
|
|
||||||
var clusterValidator validation.ClusterValidator
|
var clusterValidator validation.ClusterValidator
|
||||||
if !options.CloudOnly {
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot create cluster validator: %v", err)
|
return fmt.Errorf("cannot create cluster validator: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -426,7 +426,7 @@ func RunRollingUpdateCluster(ctx context.Context, f *util.Factory, out io.Writer
|
||||||
|
|
||||||
var clusterValidator validation.ClusterValidator
|
var clusterValidator validation.ClusterValidator
|
||||||
if !options.CloudOnly {
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot create cluster validator: %v", err)
|
return fmt.Errorf("cannot create cluster validator: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ func RunValidateCluster(ctx context.Context, f *util.Factory, cmd *cobra.Command
|
||||||
timeout := time.Now().Add(options.wait)
|
timeout := time.Now().Add(options.wait)
|
||||||
pollInterval := 10 * time.Second
|
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 {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("unexpected error creating validatior: %v", err)
|
return nil, fmt.Errorf("unexpected error creating validatior: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ go_library(
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime: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/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/client-go/tools/pager:go_default_library",
|
||||||
"//vendor/k8s.io/klog/v2:go_default_library",
|
"//vendor/k8s.io/klog/v2:go_default_library",
|
||||||
],
|
],
|
||||||
|
|
|
@ -24,7 +24,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/client-go/rest"
|
|
||||||
"k8s.io/client-go/tools/pager"
|
"k8s.io/client-go/tools/pager"
|
||||||
"k8s.io/kops/upup/pkg/fi"
|
"k8s.io/kops/upup/pkg/fi"
|
||||||
|
|
||||||
|
@ -60,7 +59,7 @@ type clusterValidatorImpl struct {
|
||||||
cluster *kops.Cluster
|
cluster *kops.Cluster
|
||||||
cloud fi.Cloud
|
cloud fi.Cloud
|
||||||
instanceGroups []*kops.InstanceGroup
|
instanceGroups []*kops.InstanceGroup
|
||||||
config *rest.Config
|
host string
|
||||||
k8sClient kubernetes.Interface
|
k8sClient kubernetes.Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,8 +77,8 @@ type ValidationNode struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// hasPlaceHolderIP checks if the API DNS has been updated.
|
// hasPlaceHolderIP checks if the API DNS has been updated.
|
||||||
func hasPlaceHolderIP(config *rest.Config) (bool, error) {
|
func hasPlaceHolderIP(host string) (bool, error) {
|
||||||
apiAddr, err := url.Parse(config.Host)
|
apiAddr, err := url.Parse(host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return true, fmt.Errorf("unable to parse Kubernetes cluster API URL: %v", err)
|
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
|
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
|
var instanceGroups []*kops.InstanceGroup
|
||||||
|
|
||||||
for i := range instanceGroupList.Items {
|
for i := range instanceGroupList.Items {
|
||||||
|
@ -113,7 +112,7 @@ func NewClusterValidator(cluster *kops.Cluster, cloud fi.Cloud, instanceGroupLis
|
||||||
cluster: cluster,
|
cluster: cluster,
|
||||||
cloud: cloud,
|
cloud: cloud,
|
||||||
instanceGroups: instanceGroups,
|
instanceGroups: instanceGroups,
|
||||||
config: config,
|
host: host,
|
||||||
k8sClient: k8sClient,
|
k8sClient: k8sClient,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
@ -127,7 +126,7 @@ func (v *clusterValidatorImpl) Validate() (*ValidationCluster, error) {
|
||||||
|
|
||||||
// Do not use if we are running gossip
|
// Do not use if we are running gossip
|
||||||
if !dns.IsGossipHostname(clusterName) {
|
if !dns.IsGossipHostname(clusterName) {
|
||||||
hasPlaceHolderIPAddress, err := hasPlaceHolderIP(v.config)
|
hasPlaceHolderIPAddress, err := hasPlaceHolderIP(v.host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,7 @@ func testValidate(t *testing.T, groups map[string]*cloudinstances.CloudInstanceG
|
||||||
|
|
||||||
mockcloud := BuildMockCloud(t, groups, cluster, instanceGroups)
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ func Test_ValidateCloudGroupMissing(t *testing.T) {
|
||||||
|
|
||||||
mockcloud := BuildMockCloud(t, nil, cluster, instanceGroups)
|
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)
|
require.NoError(t, err)
|
||||||
v, err := validator.Validate()
|
v, err := validator.Validate()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
Loading…
Reference in New Issue