diff --git a/pkg/asset/installconfig/clustername.go b/pkg/asset/installconfig/clustername.go index 7e8e4aa7d91..f99d9f010d2 100644 --- a/pkg/asset/installconfig/clustername.go +++ b/pkg/asset/installconfig/clustername.go @@ -29,12 +29,14 @@ func (a *clusterName) Generate(parents asset.Parents) error { platform := &platform{} parents.Get(bd, platform) - validator := survey.ComposeValidators(survey.Required, func(ans interface{}) error { - return validate.DomainName(validation.ClusterDomain(bd.BaseDomain, ans.(string)), false) - }) + validator := survey.Required + if platform.GCP != nil { validator = survey.ComposeValidators(validator, func(ans interface{}) error { return gcpvalidation.ValidateClusterName(ans.(string)) }) } + validator = survey.ComposeValidators(validator, func(ans interface{}) error { + return validate.DomainName(validation.ClusterDomain(bd.BaseDomain, ans.(string)), false) + }) return survey.Ask([]*survey.Question{ { diff --git a/pkg/types/validation/installconfig.go b/pkg/types/validation/installconfig.go index cbb9399caa9..9a4ffaee95b 100644 --- a/pkg/types/validation/installconfig.go +++ b/pkg/types/validation/installconfig.go @@ -62,11 +62,10 @@ func ValidateInstallConfig(c *types.InstallConfig, openStackValidValuesFetcher o } } nameErr := validate.ClusterName(c.ObjectMeta.Name) - if nameErr != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("metadata", "name"), c.ObjectMeta.Name, nameErr.Error())) - } if gcpNameErr := gcpvalidation.ValidateClusterName(c.ObjectMeta.Name); c.Platform.GCP != nil && gcpNameErr != nil { allErrs = append(allErrs, field.Invalid(field.NewPath("metadata", "name"), c.ObjectMeta.Name, gcpNameErr.Error())) + } else if nameErr != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("metadata", "name"), c.ObjectMeta.Name, nameErr.Error())) } baseDomainErr := validate.DomainName(c.BaseDomain, true) if baseDomainErr != nil {