mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
Merge pull request #18136 from nikhiljindal/del-new-etcd-storage
Auto commit by PR queue bot
This commit is contained in:
commit
6479f5e93f
@ -47,6 +47,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/master"
|
"k8s.io/kubernetes/pkg/master"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
"k8s.io/kubernetes/pkg/master/ports"
|
||||||
"k8s.io/kubernetes/pkg/storage"
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
|
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||||
"k8s.io/kubernetes/pkg/tools"
|
"k8s.io/kubernetes/pkg/tools"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
forked "k8s.io/kubernetes/third_party/forked/coreos/go-etcd/etcd"
|
forked "k8s.io/kubernetes/third_party/forked/coreos/go-etcd/etcd"
|
||||||
@ -306,8 +307,12 @@ func newEtcd(etcdConfigFile string, etcdServerList []string, interfacesFunc meta
|
|||||||
etcdClient.SetTransport(transport)
|
etcdClient.SetTransport(transport)
|
||||||
client = etcdClient
|
client = etcdClient
|
||||||
}
|
}
|
||||||
etcdStorage, err = master.NewEtcdStorage(client, interfacesFunc, storageVersion, pathPrefix)
|
versionedInterface, err := interfacesFunc(storageVersion)
|
||||||
return etcdStorage, err
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
etcdStorage = etcdstorage.NewEtcdStorage(client, versionedInterface.Codec, pathPrefix)
|
||||||
|
return etcdStorage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// convert to a map between group and groupVersions.
|
// convert to a map between group and groupVersions.
|
||||||
|
@ -31,7 +31,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/admission"
|
"k8s.io/kubernetes/pkg/admission"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/latest"
|
"k8s.io/kubernetes/pkg/api/latest"
|
||||||
"k8s.io/kubernetes/pkg/api/meta"
|
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
apiutil "k8s.io/kubernetes/pkg/api/util"
|
apiutil "k8s.io/kubernetes/pkg/api/util"
|
||||||
@ -75,9 +74,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata"
|
"k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata"
|
||||||
thirdpartyresourcedataetcd "k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata/etcd"
|
thirdpartyresourcedataetcd "k8s.io/kubernetes/pkg/registry/thirdpartyresourcedata/etcd"
|
||||||
"k8s.io/kubernetes/pkg/storage"
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
|
||||||
etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util"
|
etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util"
|
||||||
"k8s.io/kubernetes/pkg/tools"
|
|
||||||
"k8s.io/kubernetes/pkg/ui"
|
"k8s.io/kubernetes/pkg/ui"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
@ -349,16 +346,6 @@ type Master struct {
|
|||||||
KubernetesServiceNodePort int
|
KubernetesServiceNodePort int
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewEtcdStorage returns a storage.Interface for the provided arguments or an error if the version
|
|
||||||
// is incorrect.
|
|
||||||
func NewEtcdStorage(client tools.EtcdClient, interfacesFunc meta.VersionInterfacesFunc, version, prefix string) (etcdStorage storage.Interface, err error) {
|
|
||||||
versionInterfaces, err := interfacesFunc(version)
|
|
||||||
if err != nil {
|
|
||||||
return etcdStorage, err
|
|
||||||
}
|
|
||||||
return etcdstorage.NewEtcdStorage(client, versionInterfaces.Codec, prefix), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// setDefaults fills in any fields not set that are required to have valid data.
|
// setDefaults fills in any fields not set that are required to have valid data.
|
||||||
func setDefaults(c *Config) {
|
func setDefaults(c *Config) {
|
||||||
if c.ServiceClusterIPRange == nil {
|
if c.ServiceClusterIPRange == nil {
|
||||||
|
@ -20,7 +20,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
@ -32,7 +31,6 @@ import (
|
|||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/latest"
|
"k8s.io/kubernetes/pkg/api/latest"
|
||||||
"k8s.io/kubernetes/pkg/api/meta"
|
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
apiutil "k8s.io/kubernetes/pkg/api/util"
|
apiutil "k8s.io/kubernetes/pkg/api/util"
|
||||||
@ -125,23 +123,6 @@ func TestNew(t *testing.T) {
|
|||||||
assert.Equal(master.proxyTransport.(*http.Transport).TLSClientConfig, config.ProxyTLSClientConfig)
|
assert.Equal(master.proxyTransport.(*http.Transport).TLSClientConfig, config.ProxyTLSClientConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestNewEtcdStorage verifies that the usage of NewEtcdStorage reacts properly when
|
|
||||||
// the correct data is input
|
|
||||||
func TestNewEtcdStorage(t *testing.T) {
|
|
||||||
etcdserver := etcdtesting.NewEtcdTestClientServer(t)
|
|
||||||
defer etcdserver.Terminate(t)
|
|
||||||
|
|
||||||
assert := assert.New(t)
|
|
||||||
// Pass case
|
|
||||||
_, err := NewEtcdStorage(etcdserver.Client, latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
|
|
||||||
assert.NoError(err, "Unable to create etcdstorage: %s", err)
|
|
||||||
|
|
||||||
// Fail case
|
|
||||||
errorFunc := func(apiVersion string) (*meta.VersionInterfaces, error) { return nil, errors.New("ERROR") }
|
|
||||||
_, err = NewEtcdStorage(etcdserver.Client, errorFunc, testapi.Default.Version(), etcdtest.PathPrefix())
|
|
||||||
assert.Error(err, "NewEtcdStorage should have failed")
|
|
||||||
}
|
|
||||||
|
|
||||||
// TestGetServersToValidate verifies the unexported getServersToValidate function
|
// TestGetServersToValidate verifies the unexported getServersToValidate function
|
||||||
func TestGetServersToValidate(t *testing.T) {
|
func TestGetServersToValidate(t *testing.T) {
|
||||||
master, etcdserver, config, assert := setUp(t)
|
master, etcdserver, config, assert := setUp(t)
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -45,7 +44,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/auth/authorizer"
|
"k8s.io/kubernetes/pkg/auth/authorizer"
|
||||||
"k8s.io/kubernetes/pkg/auth/authorizer/abac"
|
"k8s.io/kubernetes/pkg/auth/authorizer/abac"
|
||||||
"k8s.io/kubernetes/pkg/auth/user"
|
"k8s.io/kubernetes/pkg/auth/user"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/client"
|
|
||||||
"k8s.io/kubernetes/pkg/master"
|
"k8s.io/kubernetes/pkg/master"
|
||||||
"k8s.io/kubernetes/plugin/pkg/admission/admit"
|
"k8s.io/kubernetes/plugin/pkg/admission/admit"
|
||||||
"k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/tokentest"
|
"k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/tokentest"
|
||||||
@ -489,42 +487,15 @@ func TestAuthModeAlwaysDeny(t *testing.T) {
|
|||||||
framework.DeleteAllEtcdKeys()
|
framework.DeleteAllEtcdKeys()
|
||||||
|
|
||||||
// Set up a master
|
// Set up a master
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
m.Handler.ServeHTTP(w, req)
|
m.Handler.ServeHTTP(w, req)
|
||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authorizer = apiserver.NewAlwaysDenyAuthorizer()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
m = master.New(masterConfig)
|
||||||
EnableCoreControllers: true,
|
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authorizer: apiserver.NewAlwaysDenyAuthorizer(),
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
|
|
||||||
@ -570,43 +541,17 @@ func TestAliceNotForbiddenOrUnauthorized(t *testing.T) {
|
|||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
|
|
||||||
// Set up a master
|
// Set up a master
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
m.Handler.ServeHTTP(w, req)
|
m.Handler.ServeHTTP(w, req)
|
||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = allowAliceAuthorizer{}
|
||||||
EnableCoreControllers: true,
|
masterConfig.AdmissionControl = admit.NewAlwaysAdmit()
|
||||||
EnableLogsSupport: false,
|
m = master.New(masterConfig)
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: allowAliceAuthorizer{},
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
previousResourceVersion := make(map[string]float64)
|
previousResourceVersion := make(map[string]float64)
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
@ -671,43 +616,16 @@ func TestBobIsForbidden(t *testing.T) {
|
|||||||
framework.DeleteAllEtcdKeys()
|
framework.DeleteAllEtcdKeys()
|
||||||
|
|
||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
m.Handler.ServeHTTP(w, req)
|
m.Handler.ServeHTTP(w, req)
|
||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = allowAliceAuthorizer{}
|
||||||
EnableCoreControllers: true,
|
m = master.New(masterConfig)
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: allowAliceAuthorizer{},
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
|
|
||||||
@ -746,43 +664,16 @@ func TestUnknownUserIsUnauthorized(t *testing.T) {
|
|||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
|
|
||||||
// Set up a master
|
// Set up a master
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
m.Handler.ServeHTTP(w, req)
|
m.Handler.ServeHTTP(w, req)
|
||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = allowAliceAuthorizer{}
|
||||||
EnableCoreControllers: true,
|
m = master.New(masterConfig)
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: allowAliceAuthorizer{},
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
|
|
||||||
@ -844,23 +735,6 @@ func (a *trackingAuthorizer) Authorize(attributes authorizer.Attributes) error {
|
|||||||
func TestAuthorizationAttributeDetermination(t *testing.T) {
|
func TestAuthorizationAttributeDetermination(t *testing.T) {
|
||||||
framework.DeleteAllEtcdKeys()
|
framework.DeleteAllEtcdKeys()
|
||||||
|
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
trackingAuthorizer := &trackingAuthorizer{}
|
trackingAuthorizer := &trackingAuthorizer{}
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
@ -869,20 +743,10 @@ func TestAuthorizationAttributeDetermination(t *testing.T) {
|
|||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = trackingAuthorizer
|
||||||
EnableCoreControllers: true,
|
m = master.New(masterConfig)
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: trackingAuthorizer,
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
|
|
||||||
@ -938,23 +802,6 @@ func TestNamespaceAuthorization(t *testing.T) {
|
|||||||
framework.DeleteAllEtcdKeys()
|
framework.DeleteAllEtcdKeys()
|
||||||
|
|
||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
a := newAuthorizerWithContents(t, `{"namespace": "foo"}
|
a := newAuthorizerWithContents(t, `{"namespace": "foo"}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
@ -964,20 +811,10 @@ func TestNamespaceAuthorization(t *testing.T) {
|
|||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = a
|
||||||
EnableCoreControllers: true,
|
m = master.New(masterConfig)
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: a,
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
previousResourceVersion := make(map[string]float64)
|
previousResourceVersion := make(map[string]float64)
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
@ -1067,23 +904,6 @@ func TestKindAuthorization(t *testing.T) {
|
|||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
|
|
||||||
// Set up a master
|
// Set up a master
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
a := newAuthorizerWithContents(t, `{"resource": "services"}
|
a := newAuthorizerWithContents(t, `{"resource": "services"}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
@ -1093,20 +913,10 @@ func TestKindAuthorization(t *testing.T) {
|
|||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = a
|
||||||
EnableCoreControllers: true,
|
m = master.New(masterConfig)
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: a,
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
previousResourceVersion := make(map[string]float64)
|
previousResourceVersion := make(map[string]float64)
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
@ -1184,23 +994,6 @@ func TestReadOnlyAuthorization(t *testing.T) {
|
|||||||
// This file has alice and bob in it.
|
// This file has alice and bob in it.
|
||||||
|
|
||||||
// Set up a master
|
// Set up a master
|
||||||
etcdStorage, err := framework.NewEtcdStorage()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := framework.NewExtensionsEtcdStorage(nil)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
storageVersions := make(map[string]string)
|
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
|
|
||||||
a := newAuthorizerWithContents(t, `{"readonly": true}`)
|
a := newAuthorizerWithContents(t, `{"readonly": true}`)
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
@ -1209,20 +1002,11 @@ func TestReadOnlyAuthorization(t *testing.T) {
|
|||||||
}))
|
}))
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
m = master.New(&master.Config{
|
masterConfig := framework.NewIntegrationTestMasterConfig()
|
||||||
StorageDestinations: storageDestinations,
|
masterConfig.Authenticator = getTestTokenAuth()
|
||||||
KubeletClient: client.FakeKubeletClient{},
|
masterConfig.Authorizer = a
|
||||||
EnableCoreControllers: true,
|
|
||||||
EnableLogsSupport: false,
|
m = master.New(masterConfig)
|
||||||
EnableUISupport: false,
|
|
||||||
EnableIndex: true,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
Authenticator: getTestTokenAuth(),
|
|
||||||
Authorizer: a,
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
PublicAddress: net.ParseIP("192.168.10.4"),
|
|
||||||
})
|
|
||||||
|
|
||||||
transport := http.DefaultTransport
|
transport := http.DefaultTransport
|
||||||
|
|
||||||
|
@ -22,10 +22,9 @@ import (
|
|||||||
|
|
||||||
"github.com/coreos/go-etcd/etcd"
|
"github.com/coreos/go-etcd/etcd"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/api/latest"
|
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
"k8s.io/kubernetes/pkg/master"
|
|
||||||
"k8s.io/kubernetes/pkg/storage"
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
|
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -40,15 +39,15 @@ func NewEtcdClient() *etcd.Client {
|
|||||||
return etcd.NewClient([]string{})
|
return etcd.NewClient([]string{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewEtcdStorage() (storage.Interface, error) {
|
func NewEtcdStorage() storage.Interface {
|
||||||
return master.NewEtcdStorage(NewEtcdClient(), latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
|
return etcdstorage.NewEtcdStorage(NewEtcdClient(), testapi.Default.Codec(), etcdtest.PathPrefix())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewExtensionsEtcdStorage(client *etcd.Client) (storage.Interface, error) {
|
func NewExtensionsEtcdStorage(client *etcd.Client) storage.Interface {
|
||||||
if client == nil {
|
if client == nil {
|
||||||
client = NewEtcdClient()
|
client = NewEtcdClient()
|
||||||
}
|
}
|
||||||
return master.NewEtcdStorage(client, latest.GroupOrDie("extensions").InterfacesFor, testapi.Extensions.GroupAndVersion(), etcdtest.PathPrefix())
|
return etcdstorage.NewEtcdStorage(client, testapi.Extensions.Codec(), etcdtest.PathPrefix())
|
||||||
}
|
}
|
||||||
|
|
||||||
func RequireEtcd() {
|
func RequireEtcd() {
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/latest"
|
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/apiserver"
|
"k8s.io/kubernetes/pkg/apiserver"
|
||||||
@ -40,6 +39,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubectl"
|
"k8s.io/kubernetes/pkg/kubectl"
|
||||||
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
|
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
|
||||||
"k8s.io/kubernetes/pkg/master"
|
"k8s.io/kubernetes/pkg/master"
|
||||||
|
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
||||||
"k8s.io/kubernetes/plugin/pkg/admission/admit"
|
"k8s.io/kubernetes/plugin/pkg/admission/admit"
|
||||||
)
|
)
|
||||||
@ -138,16 +138,10 @@ func startMasterOrDie(masterConfig *master.Config) (*master.Master, *httptest.Se
|
|||||||
func NewMasterConfig() *master.Config {
|
func NewMasterConfig() *master.Config {
|
||||||
etcdClient := NewEtcdClient()
|
etcdClient := NewEtcdClient()
|
||||||
storageVersions := make(map[string]string)
|
storageVersions := make(map[string]string)
|
||||||
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("").InterfacesFor, testapi.Default.GroupAndVersion(), etcdtest.PathPrefix())
|
etcdStorage := etcdstorage.NewEtcdStorage(etcdClient, testapi.Default.Codec(), etcdtest.PathPrefix())
|
||||||
storageVersions[""] = testapi.Default.GroupAndVersion()
|
storageVersions[""] = testapi.Default.GroupAndVersion()
|
||||||
if err != nil {
|
expEtcdStorage := NewExtensionsEtcdStorage(etcdClient)
|
||||||
glog.Fatalf("Failed to create etcd storage for master %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := NewExtensionsEtcdStorage(etcdClient)
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
||||||
if err != nil {
|
|
||||||
glog.Fatalf("Failed to create etcd storage for master %v", err)
|
|
||||||
}
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
storageDestinations := master.NewStorageDestinations()
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
storageDestinations.AddAPIGroup("", etcdStorage)
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
||||||
@ -282,34 +276,9 @@ func StartPods(numPods int, host string, restClient *client.Client) error {
|
|||||||
|
|
||||||
// TODO: Merge this into startMasterOrDie.
|
// TODO: Merge this into startMasterOrDie.
|
||||||
func RunAMaster(t *testing.T) (*master.Master, *httptest.Server) {
|
func RunAMaster(t *testing.T) (*master.Master, *httptest.Server) {
|
||||||
etcdClient := NewEtcdClient()
|
masterConfig := NewMasterConfig()
|
||||||
storageVersions := make(map[string]string)
|
masterConfig.EnableProfiling = true
|
||||||
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("").InterfacesFor, testapi.Default.GroupAndVersion(), etcdtest.PathPrefix())
|
m := master.New(masterConfig)
|
||||||
storageVersions[""] = testapi.Default.Version()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
expEtcdStorage, err := NewExtensionsEtcdStorage(etcdClient)
|
|
||||||
storageVersions["extensions"] = testapi.Extensions.GroupAndVersion()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
storageDestinations := master.NewStorageDestinations()
|
|
||||||
storageDestinations.AddAPIGroup("", etcdStorage)
|
|
||||||
storageDestinations.AddAPIGroup("extensions", expEtcdStorage)
|
|
||||||
|
|
||||||
m := master.New(&master.Config{
|
|
||||||
StorageDestinations: storageDestinations,
|
|
||||||
KubeletClient: kubeletclient.FakeKubeletClient{},
|
|
||||||
EnableLogsSupport: false,
|
|
||||||
EnableProfiling: true,
|
|
||||||
EnableUISupport: false,
|
|
||||||
APIPrefix: "/api",
|
|
||||||
APIGroupPrefix: "/apis",
|
|
||||||
Authorizer: apiserver.NewAlwaysAllowAuthorizer(),
|
|
||||||
AdmissionControl: admit.NewAlwaysAdmit(),
|
|
||||||
StorageVersions: storageVersions,
|
|
||||||
})
|
|
||||||
|
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
m.Handler.ServeHTTP(w, req)
|
m.Handler.ServeHTTP(w, req)
|
||||||
|
Loading…
Reference in New Issue
Block a user