diff --git a/cluster/saltbase/salt/etcd/etcd.manifest b/cluster/saltbase/salt/etcd/etcd.manifest index 5522fef8984..4d896202fa7 100644 --- a/cluster/saltbase/salt/etcd/etcd.manifest +++ b/cluster/saltbase/salt/etcd/etcd.manifest @@ -20,9 +20,9 @@ {% endfor -%} {% set etcd_cluster = vars.etcd_cluster -%} {% set cluster_state = vars.cluster_state -%} -{% set storage_backend = pillar.get('storage_backend', 'etcd2') -%} +{% set storage_backend = pillar.get('storage_backend', 'etcd3') -%} {% set quota_bytes = '' -%} -{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%} +{% if pillar.get('storage_backend', 'etcd3') == 'etcd3' -%} {% set quota_bytes = '--quota-backend-bytes=4294967296' -%} {% endif -%} {% set srv_kube_path = "/srv/kubernetes" -%} diff --git a/hack/verify-flags/exceptions.txt b/hack/verify-flags/exceptions.txt index 7ce2ed1defd..b21e95b7a51 100644 --- a/hack/verify-flags/exceptions.txt +++ b/hack/verify-flags/exceptions.txt @@ -39,8 +39,8 @@ cluster/photon-controller/util.sh: node_name=${1} cluster/rackspace/util.sh: local node_ip=$(nova show --minimal ${NODE_NAMES[$i]} \ cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest:{% set params = pillar['autoscaler_mig_config'] + " " + cloud_config -%} cluster/saltbase/salt/etcd/etcd.manifest: "value": "{{ storage_backend }}" -cluster/saltbase/salt/etcd/etcd.manifest:{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%} -cluster/saltbase/salt/etcd/etcd.manifest:{% set storage_backend = pillar.get('storage_backend', 'etcd2') -%} +cluster/saltbase/salt/etcd/etcd.manifest:{% if pillar.get('storage_backend', 'etcd3') == 'etcd3' -%} +cluster/saltbase/salt/etcd/etcd.manifest:{% set storage_backend = pillar.get('storage_backend', 'etcd3') -%} cluster/saltbase/salt/kube-admission-controls/init.sls:{% if 'LimitRanger' in pillar.get('admission_control', '') %} cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest:{% set params = address + " " + storage_backend + " " + etcd_servers + " " + etcd_servers_overrides + " " + cloud_provider + " " + cloud_config + " " + runtime_config + " " + feature_gates + " " + admission_control + " " + max_requests_inflight + " " + target_ram_mb + " " + service_cluster_ip_range + " " + client_ca_file + basic_auth_file + " " + min_request_timeout + " " + enable_garbage_collector + " " + etcd_quorum_read -%} cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% if pillar.get('enable_hostpath_provisioner', '').lower() == 'true' -%} diff --git a/pkg/genericapiserver/options/etcd.go b/pkg/genericapiserver/options/etcd.go index b449dd7bf32..15414cdf3de 100644 --- a/pkg/genericapiserver/options/etcd.go +++ b/pkg/genericapiserver/options/etcd.go @@ -61,7 +61,7 @@ func (s *EtcdOptions) AddFlags(fs *pflag.FlagSet) { "format: group/resource#servers, where servers are http://ip:port, semicolon separated.") fs.StringVar(&s.StorageConfig.Type, "storage-backend", s.StorageConfig.Type, - "The storage backend for persistence. Options: 'etcd2' (default), 'etcd3'.") + "The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.") fs.IntVar(&s.StorageConfig.DeserializationCacheSize, "deserialization-cache-size", s.StorageConfig.DeserializationCacheSize, "Number of deserialized json objects to cache in memory.") diff --git a/pkg/storage/storagebackend/config.go b/pkg/storage/storagebackend/config.go index b62f0e27226..b874505ed60 100644 --- a/pkg/storage/storagebackend/config.go +++ b/pkg/storage/storagebackend/config.go @@ -26,7 +26,7 @@ const ( // Config is configuration for creating a storage backend. type Config struct { - // Type defines the type of storage backend, e.g. "etcd2", etcd3". Default ("") is "etcd2". + // Type defines the type of storage backend, e.g. "etcd2", etcd3". Default ("") is "etcd3". Type string // Prefix is the prefix to all keys passed to storage.Interface methods. Prefix string diff --git a/pkg/storage/storagebackend/factory/factory.go b/pkg/storage/storagebackend/factory/factory.go index 647f4f9f5b1..d9a4911a244 100644 --- a/pkg/storage/storagebackend/factory/factory.go +++ b/pkg/storage/storagebackend/factory/factory.go @@ -29,9 +29,9 @@ type DestroyFunc func() // Create creates a storage backend based on given config. func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) { switch c.Type { - case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD2: + case storagebackend.StorageTypeETCD2: return newETCD2Storage(c) - case storagebackend.StorageTypeETCD3: + case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3: // TODO: We have the following features to implement: // - Support secure connection by using key, cert, and CA files. // - Honor "https" scheme to support secure connection in gRPC. diff --git a/test/e2e_node/services/apiserver.go b/test/e2e_node/services/apiserver.go index 02a0f8acf70..4620691f183 100644 --- a/test/e2e_node/services/apiserver.go +++ b/test/e2e_node/services/apiserver.go @@ -42,6 +42,10 @@ func NewAPIServer() *APIServer { func (a *APIServer) Start() error { config := options.NewServerRunOptions() config.Etcd.StorageConfig.ServerList = []string{getEtcdClientURL()} + // TODO: Current setup of etcd in e2e-node tests doesn't support etcd v3 + // protocol. We should migrate it to use the same infrastructure as all + // other tests (pkg/storage/etcd/testing). + config.Etcd.StorageConfig.Type = "etcd2" _, ipnet, err := net.ParseCIDR(clusterIPRange) if err != nil { return err