mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Merge pull request #48043 from xiangpengzhao/validate-storage-backend
Automatic merge from submit-queue (batch tested with PRs 48043, 48200, 49139, 36238, 49130) Validate --storage-backend type. **What this PR does / why we need it**: Validate --storage-backend type as early as possible. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #47517 This PR is as per https://github.com/kubernetes/kubernetes/pull/47517/files#r121975646 **Special notes for your reviewer**: /cc @justinsb **Release note**: ```release-note NONE ```
This commit is contained in:
commit
8293a7d5a2
@ -51,6 +51,7 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
||||||
|
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/admission:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/admission:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/admission/initializer:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/admission/initializer:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/audit:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/audit:go_default_library",
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
||||||
"k8s.io/apiserver/pkg/server"
|
"k8s.io/apiserver/pkg/server"
|
||||||
@ -47,6 +48,12 @@ type EtcdOptions struct {
|
|||||||
DefaultWatchCacheSize int
|
DefaultWatchCacheSize int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var storageTypes = sets.NewString(
|
||||||
|
storagebackend.StorageTypeUnset,
|
||||||
|
storagebackend.StorageTypeETCD2,
|
||||||
|
storagebackend.StorageTypeETCD3,
|
||||||
|
)
|
||||||
|
|
||||||
func NewEtcdOptions(backendConfig *storagebackend.Config) *EtcdOptions {
|
func NewEtcdOptions(backendConfig *storagebackend.Config) *EtcdOptions {
|
||||||
return &EtcdOptions{
|
return &EtcdOptions{
|
||||||
StorageConfig: *backendConfig,
|
StorageConfig: *backendConfig,
|
||||||
@ -64,6 +71,10 @@ func (s *EtcdOptions) Validate() []error {
|
|||||||
allErrors = append(allErrors, fmt.Errorf("--etcd-servers must be specified"))
|
allErrors = append(allErrors, fmt.Errorf("--etcd-servers must be specified"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !storageTypes.Has(s.StorageConfig.Type) {
|
||||||
|
allErrors = append(allErrors, fmt.Errorf("--storage-backend invalid, must be 'etcd3' or 'etcd2'. If not specified, it will default to 'etcd3'"))
|
||||||
|
}
|
||||||
|
|
||||||
return allErrors
|
return allErrors
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user