massive changes

pull/6/head
Chao Xu 2015-09-10 12:30:47 -07:00
parent 347ce513cc
commit dd6c121d7f
51 changed files with 203 additions and 198 deletions

View File

@ -132,11 +132,11 @@ func startComponents(firstManifestURL, secondManifestURL string) (string, string
// We will fix this by supporting multiple group versions in Config
cl.ExperimentalClient = client.NewExperimentalOrDie(&client.Config{Host: apiServer.URL, Version: testapi.Experimental.Version()})
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
if err != nil {
glog.Fatalf("Unable to get etcd storage: %v", err)
}
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, explatest.InterfacesFor, testapi.Experimental.Version(), etcdtest.PathPrefix())
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("experimental").InterfacesFor, testapi.Experimental.Version(), etcdtest.PathPrefix())
if err != nil {
glog.Fatalf("Unable to get etcd storage for experimental: %v", err)
}

View File

@ -340,11 +340,11 @@ func (s *APIServer) Run(_ []string) error {
glog.Fatalf("Invalid server address: %v", err)
}
etcdStorage, err := newEtcd(s.EtcdConfigFile, s.EtcdServerList, latest.InterfacesFor, latest.Version, s.StorageVersion, s.EtcdPathPrefix)
etcdStorage, err := newEtcd(s.EtcdConfigFile, s.EtcdServerList, latest.GroupOrDie("").InterfacesFor, latest.GroupOrDie("").Version, s.StorageVersion, s.EtcdPathPrefix)
if err != nil {
glog.Fatalf("Invalid storage version or misconfigured etcd: %v", err)
}
expEtcdStorage, err := newEtcd(s.EtcdConfigFile, s.EtcdServerList, explatest.InterfacesFor, explatest.Version, s.ExpStorageVersion, s.EtcdPathPrefix)
expEtcdStorage, err := newEtcd(s.EtcdConfigFile, s.EtcdServerList, latest.GroupOrDie("experimental").InterfacesFor, latest.GroupOrDie("experimental").Version, s.ExpStorageVersion, s.EtcdPathPrefix)
if err != nil {
glog.Fatalf("Invalid experimental storage version or misconfigured etcd: %v", err)
}

View File

@ -39,7 +39,7 @@ var (
inputSource = flag.StringP("input", "i", "-", "Input source; '-' means stdin")
outputDest = flag.StringP("output", "o", "-", "Output destination; '-' means stdout")
rewrite = flag.StringP("rewrite", "r", "", "If nonempty, use this as both input and output.")
outputVersion = flag.StringP("out-version", "v", latest.Version, "Version to convert input to")
outputVersion = flag.StringP("out-version", "v", latest.GroupOrDie("").Version, "Version to convert input to")
)
// isYAML determines whether data is JSON or YAML formatted by seeing

View File

@ -365,7 +365,7 @@ func TestExampleObjectSchemas(t *testing.T) {
}
//TODO: Add validate method for &schedulerapi.Policy
} else {
if err := latest.Codec.DecodeInto(data, expectedType); err != nil {
if err := latest.GroupOrDie("").Codec.DecodeInto(data, expectedType); err != nil {
t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(data))
return
}
@ -451,14 +451,14 @@ func TestReadme(t *testing.T) {
if err != nil {
t.Errorf("%s could not be converted to JSON: %v\n%s", path, err, string(content))
}
if err := latest.Codec.DecodeInto(json, expectedType); err != nil {
if err := latest.GroupOrDie("").Codec.DecodeInto(json, expectedType); err != nil {
t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(content))
continue
}
if errors := validateObject(expectedType); len(errors) > 0 {
t.Errorf("%s did not validate correctly: %v", path, errors)
}
_, err = latest.Codec.Encode(expectedType)
_, err = latest.GroupOrDie("").Codec.Encode(expectedType)
if err != nil {
t.Errorf("Could not encode object: %v", err)
continue

View File

@ -62,5 +62,5 @@ func main() {
"nginx.key": nginxKey,
},
}
fmt.Printf(runtime.EncodeOrDie(latest.Codec, secret))
fmt.Printf(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, secret))
}

View File

@ -59,5 +59,5 @@ func main() {
"config": cfg,
},
}
fmt.Printf(runtime.EncodeOrDie(latest.Codec, secret))
fmt.Printf(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, secret))
}

View File

@ -21,8 +21,11 @@ import (
"testing"
internal "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
)
var accessor = meta.NewAccessor()
func TestResourceVersioner(t *testing.T) {
pod := internal.Pod{ObjectMeta: internal.ObjectMeta{ResourceVersion: "10"}}
version, err := accessor.ResourceVersion(&pod)
@ -45,7 +48,7 @@ func TestResourceVersioner(t *testing.T) {
func TestCodec(t *testing.T) {
pod := internal.Pod{}
data, err := Codec.Encode(&pod)
data, err := GroupOrDie("").Codec.Encode(&pod)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
@ -53,33 +56,33 @@ func TestCodec(t *testing.T) {
if err := json.Unmarshal(data, &other); err != nil {
t.Fatalf("unexpected error: %v", err)
}
if other.APIVersion != Version || other.Kind != "Pod" {
if other.APIVersion != GroupOrDie("").Version || other.Kind != "Pod" {
t.Errorf("unexpected unmarshalled object %#v", other)
}
}
func TestInterfacesFor(t *testing.T) {
if _, err := InterfacesFor(""); err == nil {
if _, err := GroupOrDie("").InterfacesFor(""); err == nil {
t.Fatalf("unexpected non-error: %v", err)
}
for i, version := range append([]string{Version, OldestVersion}, Versions...) {
if vi, err := InterfacesFor(version); err != nil || vi == nil {
for i, version := range append([]string{GroupOrDie("").Version}, GroupOrDie("").Versions...) {
if vi, err := GroupOrDie("").InterfacesFor(version); err != nil || vi == nil {
t.Fatalf("%d: unexpected result: %v", i, err)
}
}
}
func TestRESTMapper(t *testing.T) {
if v, k, err := RESTMapper.VersionAndKindForResource("replicationcontrollers"); err != nil || v != "v1" || k != "ReplicationController" {
if v, k, err := GroupOrDie("").RESTMapper.VersionAndKindForResource("replicationcontrollers"); err != nil || v != "v1" || k != "ReplicationController" {
t.Errorf("unexpected version mapping: %s %s %v", v, k, err)
}
if m, err := RESTMapper.RESTMapping("PodTemplate", ""); err != nil || m.APIVersion != "v1" || m.Resource != "podtemplates" {
if m, err := GroupOrDie("").RESTMapper.RESTMapping("PodTemplate", ""); err != nil || m.APIVersion != "v1" || m.Resource != "podtemplates" {
t.Errorf("unexpected version mapping: %#v %v", m, err)
}
for _, version := range Versions {
mapping, err := RESTMapper.RESTMapping("ReplicationController", version)
for _, version := range GroupOrDie("").Versions {
mapping, err := GroupOrDie("").RESTMapper.RESTMapping("ReplicationController", version)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
@ -91,7 +94,7 @@ func TestRESTMapper(t *testing.T) {
t.Errorf("incorrect version: %v", mapping)
}
interfaces, _ := InterfacesFor(version)
interfaces, _ := GroupOrDie("").InterfacesFor(version)
if mapping.Codec != interfaces.Codec {
t.Errorf("unexpected codec: %#v, expected: %#v", mapping, interfaces)
}

View File

@ -167,8 +167,8 @@ func TestEncode_Ptr(t *testing.T) {
},
}
obj := runtime.Object(pod)
data, err := latest.Codec.Encode(obj)
obj2, err2 := latest.Codec.Decode(data)
data, err := latest.GroupOrDie("").Codec.Encode(obj)
obj2, err2 := latest.GroupOrDie("").Codec.Decode(data)
if err != nil || err2 != nil {
t.Fatalf("Failure: '%v' '%v'", err, err2)
}
@ -182,11 +182,11 @@ func TestEncode_Ptr(t *testing.T) {
func TestBadJSONRejection(t *testing.T) {
badJSONMissingKind := []byte(`{ }`)
if _, err := latest.Codec.Decode(badJSONMissingKind); err == nil {
if _, err := latest.GroupOrDie("").Codec.Decode(badJSONMissingKind); err == nil {
t.Errorf("Did not reject despite lack of kind field: %s", badJSONMissingKind)
}
badJSONUnknownType := []byte(`{"kind": "bar"}`)
if _, err1 := latest.Codec.Decode(badJSONUnknownType); err1 == nil {
if _, err1 := latest.GroupOrDie("").Codec.Decode(badJSONUnknownType); err1 == nil {
t.Errorf("Did not reject despite use of unknown type: %s", badJSONUnknownType)
}
/*badJSONKindMismatch := []byte(`{"kind": "Pod"}`)
@ -202,7 +202,7 @@ func BenchmarkEncode(b *testing.B) {
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod)
for i := 0; i < b.N; i++ {
latest.Codec.Encode(&pod)
latest.GroupOrDie("").Codec.Encode(&pod)
}
}
@ -220,9 +220,9 @@ func BenchmarkDecode(b *testing.B) {
pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod)
data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ {
latest.Codec.Decode(data)
latest.GroupOrDie("").Codec.Decode(data)
}
}
@ -230,10 +230,10 @@ func BenchmarkDecodeInto(b *testing.B) {
pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod)
data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ {
obj := api.Pod{}
latest.Codec.DecodeInto(data, &obj)
latest.GroupOrDie("").Codec.DecodeInto(data, &obj)
}
}
@ -242,7 +242,7 @@ func BenchmarkDecodeJSON(b *testing.B) {
pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod)
data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ {
obj := api.Pod{}
json.Unmarshal(data, &obj)

View File

@ -22,10 +22,12 @@ import (
"os"
"strings"
_ "k8s.io/kubernetes/pkg/api/install"
_ "k8s.io/kubernetes/pkg/expapi/install"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/meta"
apiutil "k8s.io/kubernetes/pkg/api/util"
explatest "k8s.io/kubernetes/pkg/apis/experimental/latest"
"k8s.io/kubernetes/pkg/runtime"
)
@ -59,12 +61,12 @@ func init() {
// TODO: caesarxuchao: we need a central place to store all available API
// groups and their metadata.
if _, ok := Groups[""]; !ok {
// TODO: The second latest.Version will be latest.GroupVersion after we
// TODO: The second latest.GroupOrDie("").Version will be latest.GroupVersion after we
// have multiple group support
Groups[""] = TestGroup{"", latest.Version, latest.Version}
Groups[""] = TestGroup{"", latest.GroupOrDie("").Version, latest.GroupOrDie("").Version}
}
if _, ok := Groups["experimental"]; !ok {
Groups["experimental"] = TestGroup{"experimental", explatest.Version, explatest.Version}
Groups["experimental"] = TestGroup{"experimental", latest.GroupOrDie("experimental").Version, latest.GroupOrDie("experimental").Version}
}
Default = Groups[""]
@ -88,14 +90,14 @@ func (g TestGroup) GroupAndVersion() string {
func (g TestGroup) Codec() runtime.Codec {
// TODO: caesarxuchao: Restructure the body once we have a central `latest`.
if g.Group == "" {
interfaces, err := latest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}
return interfaces.Codec
}
if g.Group == "experimental" {
interfaces, err := explatest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("experimental").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}
@ -109,14 +111,14 @@ func (g TestGroup) Codec() runtime.Codec {
func (g TestGroup) Converter() runtime.ObjectConvertor {
// TODO: caesarxuchao: Restructure the body once we have a central `latest`.
if g.Group == "" {
interfaces, err := latest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}
return interfaces.ObjectConvertor
}
if g.Group == "experimental" {
interfaces, err := explatest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("experimental").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}
@ -131,14 +133,14 @@ func (g TestGroup) Converter() runtime.ObjectConvertor {
func (g TestGroup) MetadataAccessor() meta.MetadataAccessor {
// TODO: caesarxuchao: Restructure the body once we have a central `latest`.
if g.Group == "" {
interfaces, err := latest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}
return interfaces.MetadataAccessor
}
if g.Group == "experimental" {
interfaces, err := explatest.InterfacesFor(g.VersionUnderTest)
interfaces, err := latest.GroupOrDie("experimental").InterfacesFor(g.VersionUnderTest)
if err != nil {
panic(err)
}

View File

@ -26,7 +26,7 @@ import (
// For example, this is of the form:
// /experimental/v1/watch/namespaces/foo/pods/pod0 for v1.
func ResourcePathWithPrefix(prefix, resource, namespace, name string) string {
path := "/experimental/" + latest.Version
path := "/experimental/" + latest.GroupOrDie("").Version
if prefix != "" {
path = path + "/" + prefix
}

View File

@ -177,7 +177,7 @@ func logStackOnRecover(panicReason interface{}, httpWriter http.ResponseWriter)
glog.Errorln(buffer.String())
// TODO: make status unversioned or plumb enough of the request to deduce the requested API version
errorJSON(apierrors.NewGenericServerResponse(http.StatusInternalServerError, "", "", "", "", 0, false), latest.Codec, httpWriter)
errorJSON(apierrors.NewGenericServerResponse(http.StatusInternalServerError, "", "", "", "", 0, false), latest.GroupOrDie("").Codec, httpWriter)
}
func InstallServiceErrorHandler(container *restful.Container, requestResolver *APIRequestInfoResolver, apiVersions []string) {
@ -188,7 +188,7 @@ func InstallServiceErrorHandler(container *restful.Container, requestResolver *A
func serviceErrorHandler(requestResolver *APIRequestInfoResolver, apiVersions []string, serviceErr restful.ServiceError, request *restful.Request, response *restful.Response) {
requestInfo, err := requestResolver.GetAPIRequestInfo(request.Request)
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
if err == nil && requestInfo.APIVersion != "" {
// check if the api version is valid.
for _, version := range apiVersions {

View File

@ -246,7 +246,7 @@ func TestGetAPIRequestInfo(t *testing.T) {
{"PUT", "/namespaces/other/finalize", "update", "", "other", "finalize", "", "", "", []string{"finalize"}},
}
apiRequestInfoResolver := &APIRequestInfoResolver{sets.NewString("api"), latest.RESTMapper}
apiRequestInfoResolver := &APIRequestInfoResolver{sets.NewString("api"), latest.GroupOrDie("").RESTMapper}
for _, successCase := range successCases {
req, _ := http.NewRequest(successCase.method, successCase.url, nil)

View File

@ -34,7 +34,7 @@ func createValidTestConfig() *clientcmdapi.Config {
config := clientcmdapi.NewConfig()
config.Clusters["clean"] = &clientcmdapi.Cluster{
Server: server,
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
}
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
Token: token,
@ -89,7 +89,7 @@ func TestCertificateData(t *testing.T) {
config := clientcmdapi.NewConfig()
config.Clusters["clean"] = &clientcmdapi.Cluster{
Server: "https://localhost:8443",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
CertificateAuthorityData: caData,
}
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
@ -122,7 +122,7 @@ func TestBasicAuthData(t *testing.T) {
config := clientcmdapi.NewConfig()
config.Clusters["clean"] = &clientcmdapi.Cluster{
Server: "https://localhost:8443",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
}
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
Username: username,

View File

@ -22,7 +22,7 @@ import (
"strings"
"k8s.io/kubernetes/pkg/api"
explatest "k8s.io/kubernetes/pkg/apis/experimental/latest"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/version"
)
@ -124,12 +124,12 @@ func setExperimentalDefaults(config *Config) error {
config.UserAgent = DefaultKubernetesUserAgent()
}
if config.Version == "" {
config.Version = explatest.Version
config.Version = latest.GroupOrDie("experimental").Version
}
versionInterfaces, err := explatest.InterfacesFor(config.Version)
versionInterfaces, err := latest.GroupOrDie("experimental").InterfacesFor(config.Version)
if err != nil {
return fmt.Errorf("Experimental API version '%s' is not recognized (valid values: %s)",
config.Version, strings.Join(explatest.Versions, ", "))
config.Version, strings.Join(latest.GroupOrDie("experimental").Versions, ", "))
}
if config.Codec == nil {
config.Codec = versionInterfaces.Codec

View File

@ -290,9 +290,9 @@ func SetKubernetesDefaults(config *Config) error {
config.Version = defaultVersionFor(config)
}
version := config.Version
versionInterfaces, err := latest.InterfacesFor(version)
versionInterfaces, err := latest.GroupOrDie("").InterfacesFor(version)
if err != nil {
return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.Versions, ", "))
return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.GroupOrDie("").Versions, ", "))
}
if config.Codec == nil {
config.Codec = versionInterfaces.Codec
@ -543,7 +543,7 @@ func defaultVersionFor(config *Config) string {
if version == "" {
// Clients default to the preferred code API version
// TODO: implement version negotiation (highest version supported by server)
version = latest.Version
version = latest.GroupOrDie("").Version
}
return version
}

View File

@ -222,7 +222,7 @@ func TestTLSTransportCache(t *testing.T) {
"host": {Insecure: true, Host: "foo"},
"prefix": {Insecure: true, Prefix: "foo"},
"version": {Insecure: true, Version: "foo"},
"codec": {Insecure: true, Codec: latest.Codec},
"codec": {Insecure: true, Codec: latest.GroupOrDie("").Codec},
"basic": {Insecure: true, Username: "bob", Password: "password"},
"bearer": {Insecure: true, BearerToken: "token"},
"user agent": {Insecure: true, UserAgent: "useragent"},
@ -336,8 +336,8 @@ func TestSetKubernetesDefaults(t *testing.T) {
Config{},
Config{
Prefix: "/api",
Version: latest.Version,
Codec: latest.Codec,
Version: latest.GroupOrDie("").Version,
Codec: latest.GroupOrDie("").Codec,
QPS: 5,
Burst: 10,
},

View File

@ -193,7 +193,7 @@ func TestRequestBody(t *testing.T) {
}
// test unencodable api object
r = (&Request{codec: latest.Codec}).Body(&NotAnAPIObject{})
r = (&Request{codec: latest.GroupOrDie("").Codec}).Body(&NotAnAPIObject{})
if r.err == nil || r.body != nil {
t.Errorf("should have set err and left body nil: %#v", r)
}
@ -356,7 +356,7 @@ func TestTransformUnstructuredError(t *testing.T) {
for _, testCase := range testCases {
r := &Request{
codec: latest.Codec,
codec: latest.GroupOrDie("").Codec,
resourceName: testCase.Name,
resource: testCase.Resource,
}
@ -543,7 +543,7 @@ func TestRequestStream(t *testing.T) {
})))),
}, nil
}),
codec: latest.Codec,
codec: latest.GroupOrDie("").Codec,
baseURL: &url.URL{},
},
Err: true,
@ -1185,7 +1185,7 @@ func TestWatch(t *testing.T) {
w.WriteHeader(http.StatusOK)
flusher.Flush()
encoder := watchjson.NewEncoder(w, latest.Codec)
encoder := watchjson.NewEncoder(w, latest.GroupOrDie("").Codec)
for _, item := range table {
if err := encoder.Encode(&watch.Event{Type: item.t, Object: item.obj}); err != nil {
panic(err)

View File

@ -109,7 +109,7 @@ func TestValidatesHostParameter(t *testing.T) {
func TestDoRequestBearer(t *testing.T) {
status := &api.Status{Status: api.StatusFailure}
expectedBody, _ := latest.Codec.Encode(status)
expectedBody, _ := latest.GroupOrDie("").Codec.Encode(status)
fakeHandler := util.FakeHandler{
StatusCode: 400,
ResponseBody: string(expectedBody),
@ -138,7 +138,7 @@ func TestDoRequestBearer(t *testing.T) {
func TestDoRequestWithoutPassword(t *testing.T) {
status := &api.Status{Status: api.StatusFailure}
expectedBody, _ := latest.Codec.Encode(status)
expectedBody, _ := latest.GroupOrDie("").Codec.Encode(status)
fakeHandler := util.FakeHandler{
StatusCode: 400,
ResponseBody: string(expectedBody),
@ -177,7 +177,7 @@ func TestDoRequestWithoutPassword(t *testing.T) {
func TestDoRequestSuccess(t *testing.T) {
status := &api.Status{Status: api.StatusSuccess}
expectedBody, _ := latest.Codec.Encode(status)
expectedBody, _ := latest.GroupOrDie("").Codec.Encode(status)
fakeHandler := util.FakeHandler{
StatusCode: 200,
ResponseBody: string(expectedBody),
@ -202,7 +202,7 @@ func TestDoRequestSuccess(t *testing.T) {
if fakeHandler.RequestReceived.Header["Authorization"] == nil {
t.Errorf("Request is missing authorization header: %#v", fakeHandler.RequestReceived)
}
statusOut, err := latest.Codec.Decode(body)
statusOut, err := latest.GroupOrDie("").Codec.Decode(body)
if err != nil {
t.Errorf("Unexpected error %#v", err)
}
@ -220,7 +220,7 @@ func TestDoRequestFailed(t *testing.T) {
Message: " \"\" not found",
Details: &api.StatusDetails{},
}
expectedBody, _ := latest.Codec.Encode(status)
expectedBody, _ := latest.GroupOrDie("").Codec.Encode(status)
fakeHandler := util.FakeHandler{
StatusCode: 404,
ResponseBody: string(expectedBody),
@ -252,7 +252,7 @@ func TestDoRequestFailed(t *testing.T) {
func TestDoRequestCreated(t *testing.T) {
status := &api.Status{Status: api.StatusSuccess}
expectedBody, _ := latest.Codec.Encode(status)
expectedBody, _ := latest.GroupOrDie("").Codec.Encode(status)
fakeHandler := util.FakeHandler{
StatusCode: 201,
ResponseBody: string(expectedBody),
@ -278,7 +278,7 @@ func TestDoRequestCreated(t *testing.T) {
if !created {
t.Errorf("Expected object to be created")
}
statusOut, err := latest.Codec.Decode(body)
statusOut, err := latest.GroupOrDie("").Codec.Decode(body)
if err != nil {
t.Errorf("Unexpected error %#v", err)
}

View File

@ -39,7 +39,7 @@ func NewSimpleFake(objects ...runtime.Object) *Fake {
}
fakeClient := &Fake{}
fakeClient.AddReactor("*", "*", ObjectReaction(o, latest.RESTMapper))
fakeClient.AddReactor("*", "*", ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
return fakeClient
}

View File

@ -32,7 +32,7 @@ func TestNewClient(t *testing.T) {
t.Fatal(err)
}
client := &Fake{}
client.AddReactor("*", "*", ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
list, err := client.Services("test").List(labels.Everything())
if err != nil {
t.Fatal(err)
@ -63,7 +63,7 @@ func TestErrors(t *testing.T) {
},
})
client := &Fake{}
client.AddReactor("*", "*", ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
_, err := client.Services("test").List(labels.Everything())
if !errors.IsNotFound(err) {
t.Fatalf("unexpected error: %v", err)

View File

@ -109,7 +109,7 @@ func TestTLSConfigKey(t *testing.T) {
"host": {Host: "foo"},
"prefix": {Prefix: "foo"},
"version": {Version: "foo"},
"codec": {Codec: latest.Codec},
"codec": {Codec: latest.GroupOrDie("").Codec},
"basic": {Username: "bob", Password: "password"},
"bearer": {BearerToken: "token"},
"user agent": {UserAgent: "useragent"},

View File

@ -240,7 +240,7 @@ func getReplicaAnnotationSet(template *api.PodTemplateSpec, object runtime.Objec
if err != nil {
return desiredAnnotations, fmt.Errorf("unable to get controller reference: %v", err)
}
createdByRefJson, err := latest.Codec.Encode(&api.SerializedReference{
createdByRefJson, err := latest.GroupOrDie("").Codec.Encode(&api.SerializedReference{
Reference: *createdByRef,
})
if err != nil {

View File

@ -175,7 +175,7 @@ func NewTestFactory() (*cmdutil.Factory, *testFactory, runtime.Codec) {
func NewMixedFactory(apiClient resource.RESTClient) (*cmdutil.Factory, *testFactory, runtime.Codec) {
f, t, c := NewTestFactory()
f.Object = func() (meta.RESTMapper, runtime.ObjectTyper) {
return meta.MultiRESTMapper{t.Mapper, latest.RESTMapper}, runtime.MultiObjectTyper{t.Typer, api.Scheme}
return meta.MultiRESTMapper{t.Mapper, latest.GroupOrDie("").RESTMapper}, runtime.MultiObjectTyper{t.Typer, api.Scheme}
}
f.RESTClient = func(m *meta.RESTMapping) (resource.RESTClient, error) {
if m.ObjectConvertor == api.Scheme {
@ -197,7 +197,7 @@ func NewAPIFactory() (*cmdutil.Factory, *testFactory, runtime.Codec) {
}
return &cmdutil.Factory{
Object: func() (meta.RESTMapper, runtime.ObjectTyper) {
return latest.RESTMapper, api.Scheme
return latest.GroupOrDie("").RESTMapper, api.Scheme
},
Client: func() (*client.Client, error) {
// Swap out the HTTP client out of the client with the fake's version.

View File

@ -128,7 +128,7 @@ func TestGetUnknownSchemaObject(t *testing.T) {
Resp: &http.Response{StatusCode: 200, Body: objBody(codec, &internalType{Name: "foo"})},
}
tf.Namespace = "test"
tf.ClientConfig = &client.Config{Version: latest.Version}
tf.ClientConfig = &client.Config{Version: latest.GroupOrDie("").Version}
buf := bytes.NewBuffer([]byte{})
cmd := NewCmdGet(f, buf)
@ -153,9 +153,9 @@ func TestGetUnknownSchemaObject(t *testing.T) {
//
// The expected behavior of the `kubectl get` command is:
// 1. objects using unrecognized schemes will always be returned using that scheme/version, "unlikelyversion" in this test;
// 2. if the specified output-version is a recognized, valid Scheme, then the list should use that scheme, and otherwise it will default to the client version, latest.Version in this test;
// 2. if the specified output-version is a recognized, valid Scheme, then the list should use that scheme, and otherwise it will default to the client version, latest.GroupOrDie("").Version in this test;
// 3a. if the specified output-version is a recognized, valid Scheme, in which the requested object (replicationcontroller) can be represented, then the object should be returned using that version;
// 3b. otherwise if the specified output-version is unrecognized, but the requested object (replicationcontroller) is recognized by the client's codec, then it will be converted to the client version, latest.Version in this test.
// 3b. otherwise if the specified output-version is unrecognized, but the requested object (replicationcontroller) is recognized by the client's codec, then it will be converted to the client version, latest.GroupOrDie("").Version in this test.
func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
testCases := map[string]struct {
outputVersion string
@ -164,16 +164,16 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
rcVersion string
}{
"handles specific version": {
outputVersion: latest.Version,
listVersion: latest.Version,
outputVersion: latest.GroupOrDie("").Version,
listVersion: latest.GroupOrDie("").Version,
testtypeVersion: "unlikelyversion",
rcVersion: latest.Version,
rcVersion: latest.GroupOrDie("").Version,
},
"handles second specific version": {
outputVersion: "unlikelyversion",
listVersion: latest.Version,
listVersion: latest.GroupOrDie("").Version,
testtypeVersion: "unlikelyversion",
rcVersion: latest.Version, // see expected behavior 3b
rcVersion: latest.GroupOrDie("").Version, // see expected behavior 3b
},
"handles common version": {
outputVersion: testapi.Default.Version(),
@ -200,7 +200,7 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
}),
}
tf.Namespace = "test"
tf.ClientConfig = &client.Config{Version: latest.Version}
tf.ClientConfig = &client.Config{Version: latest.GroupOrDie("").Version}
buf := bytes.NewBuffer([]byte{})
cmd := NewCmdGet(f, buf)
cmd.SetOutput(buf)
@ -232,9 +232,9 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
// Verifies that schemas that are not in the master tree of Kubernetes can be retrieved via Get.
func TestGetSchemaObject(t *testing.T) {
f, tf, _ := NewTestFactory()
tf.Mapper = latest.RESTMapper
tf.Mapper = latest.GroupOrDie("").RESTMapper
tf.Typer = api.Scheme
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
tf.Printer = &testPrinter{}
tf.Client = &client.FakeRESTClient{
Codec: codec,

View File

@ -345,7 +345,7 @@ func Merge(dst runtime.Object, fragment, kind string) (runtime.Object, error) {
if !ok {
return nil, fmt.Errorf("apiVersion must be a string")
}
i, err := latest.InterfacesFor(versionString)
i, err := latest.GroupOrDie("").InterfacesFor(versionString)
if err != nil {
return nil, err
}

View File

@ -46,7 +46,7 @@ func stringBody(body string) io.ReadCloser {
func watchBody(events ...watch.Event) string {
buf := &bytes.Buffer{}
enc := watchjson.NewEncoder(buf, latest.Codec)
enc := watchjson.NewEncoder(buf, latest.GroupOrDie("").Codec)
for _, e := range events {
enc.Encode(&e)
}
@ -62,7 +62,7 @@ func fakeClient() ClientMapper {
func fakeClientWith(testName string, t *testing.T, data map[string]string) ClientMapper {
return ClientMapperFunc(func(*meta.RESTMapping) (RESTClient, error) {
return &client.FakeRESTClient{
Codec: latest.Codec,
Codec: latest.GroupOrDie("").Codec,
Client: client.HTTPClientFunc(func(req *http.Request) (*http.Response, error) {
p := req.URL.Path
q := req.URL.RawQuery
@ -129,8 +129,8 @@ func streamTestData() (io.Reader, *api.PodList, *api.ServiceList) {
r, w := io.Pipe()
go func() {
defer w.Close()
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, pods)))
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, svc)))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, pods)))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, svc)))
}()
return r, pods, svc
}
@ -148,9 +148,9 @@ func streamYAMLTestData() (io.Reader, *api.PodList, *api.ServiceList) {
r, w := io.Pipe()
go func() {
defer w.Close()
w.Write(JSONToYAMLOrDie([]byte(runtime.EncodeOrDie(latest.Codec, pods))))
w.Write(JSONToYAMLOrDie([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, pods))))
w.Write([]byte("\n---\n"))
w.Write(JSONToYAMLOrDie([]byte(runtime.EncodeOrDie(latest.Codec, svc))))
w.Write(JSONToYAMLOrDie([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, svc))))
}()
return r, pods, svc
}
@ -159,7 +159,7 @@ func streamTestObject(obj runtime.Object) io.Reader {
r, w := io.Pipe()
go func() {
defer w.Close()
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, obj)))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, obj)))
}()
return r
}
@ -186,7 +186,7 @@ func (v *testVisitor) Objects() []runtime.Object {
}
func TestPathBuilder(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, "../../../examples/guestbook/redis-master-controller.yaml")
test := &testVisitor{}
@ -217,10 +217,10 @@ func TestNodeBuilder(t *testing.T) {
r, w := io.Pipe()
go func() {
defer w.Close()
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, node)))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, node)))
}()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").Stream(r, "STDIN")
test := &testVisitor{}
@ -236,7 +236,7 @@ func TestNodeBuilder(t *testing.T) {
}
func TestPathBuilderWithMultiple(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, "../../../examples/guestbook/redis-master-controller.yaml").
FilenameParam(false, "../../../examples/pod").
NamespaceParam("test").DefaultNamespace()
@ -260,7 +260,7 @@ func TestPathBuilderWithMultiple(t *testing.T) {
}
func TestDirectoryBuilder(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, "../../../examples/guestbook").
NamespaceParam("test").DefaultNamespace()
@ -286,11 +286,11 @@ func TestDirectoryBuilder(t *testing.T) {
func TestNamespaceOverride(t *testing.T) {
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
}))
defer s.Close()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, s.URL).
NamespaceParam("test")
@ -301,7 +301,7 @@ func TestNamespaceOverride(t *testing.T) {
t.Fatalf("unexpected response: %v %#v", err, test.Infos)
}
b = NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b = NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(true, s.URL).
NamespaceParam("test")
@ -316,11 +316,11 @@ func TestNamespaceOverride(t *testing.T) {
func TestURLBuilder(t *testing.T) {
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
}))
defer s.Close()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, s.URL).
NamespaceParam("test")
@ -340,11 +340,11 @@ func TestURLBuilder(t *testing.T) {
func TestURLBuilderRequireNamespace(t *testing.T) {
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &api.Pod{ObjectMeta: api.ObjectMeta{Namespace: "foo", Name: "test"}})))
}))
defer s.Close()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
FilenameParam(false, s.URL).
NamespaceParam("test").RequireNamespace()
@ -359,8 +359,8 @@ func TestURLBuilderRequireNamespace(t *testing.T) {
func TestResourceByName(t *testing.T) {
pods, _ := testData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
})).
NamespaceParam("test")
@ -392,11 +392,11 @@ func TestResourceByName(t *testing.T) {
func TestMultipleResourceByTheSameName(t *testing.T) {
pods, svcs := testData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
"/namespaces/test/pods/baz": runtime.EncodeOrDie(latest.Codec, &pods.Items[1]),
"/namespaces/test/services/foo": runtime.EncodeOrDie(latest.Codec, &svcs.Items[0]),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.Codec, &svcs.Items[0]),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
"/namespaces/test/pods/baz": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[1]),
"/namespaces/test/services/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &svcs.Items[0]),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &svcs.Items[0]),
})).
NamespaceParam("test")
@ -424,9 +424,9 @@ func TestMultipleResourceByTheSameName(t *testing.T) {
func TestResourceNames(t *testing.T) {
pods, svc := testData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.Codec, &svc.Items[0]),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &svc.Items[0]),
})).
NamespaceParam("test")
@ -451,7 +451,7 @@ func TestResourceNames(t *testing.T) {
}
func TestResourceByNameWithoutRequireObject(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{})).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{})).
NamespaceParam("test")
test := &testVisitor{}
@ -485,8 +485,8 @@ func TestResourceByNameWithoutRequireObject(t *testing.T) {
func TestResourceByNameAndEmptySelector(t *testing.T) {
pods, _ := testData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
})).
NamespaceParam("test").
SelectorParam("").
@ -513,9 +513,9 @@ func TestResourceByNameAndEmptySelector(t *testing.T) {
func TestSelector(t *testing.T) {
pods, svc := testData()
labelKey := api.LabelSelectorQueryParam(testapi.Default.Version())
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.Codec, svc),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, svc),
})).
SelectorParam("a=b").
NamespaceParam("test").
@ -544,7 +544,7 @@ func TestSelector(t *testing.T) {
}
func TestSelectorRequiresKnownTypes(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
SelectorParam("a=b").
NamespaceParam("test").
ResourceTypes("unknown")
@ -555,7 +555,7 @@ func TestSelectorRequiresKnownTypes(t *testing.T) {
}
func TestSingleResourceType(t *testing.T) {
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
SelectorParam("a=b").
SingleResourceType().
ResourceTypeOrNameArgs(true, "pods,services")
@ -619,14 +619,14 @@ func TestResourceTuple(t *testing.T) {
if requireObject {
pods, _ := testData()
expectedRequests = map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
"/namespaces/test/pods/bar": runtime.EncodeOrDie(latest.Codec, &pods.Items[0]),
"/nodes/foo": runtime.EncodeOrDie(latest.Codec, &api.Node{ObjectMeta: api.ObjectMeta{Name: "foo"}}),
"/minions/foo": runtime.EncodeOrDie(latest.Codec, &api.Node{ObjectMeta: api.ObjectMeta{Name: "foo"}}),
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
"/namespaces/test/pods/bar": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0]),
"/nodes/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &api.Node{ObjectMeta: api.ObjectMeta{Name: "foo"}}),
"/minions/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &api.Node{ObjectMeta: api.ObjectMeta{Name: "foo"}}),
}
}
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith(k, t, expectedRequests)).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith(k, t, expectedRequests)).
NamespaceParam("test").DefaultNamespace().
ResourceTypeOrNameArgs(true, testCase.args...).RequireObject(requireObject)
@ -657,7 +657,7 @@ func TestResourceTuple(t *testing.T) {
func TestStream(t *testing.T) {
r, pods, rc := streamTestData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").Stream(r, "STDIN").Flatten()
test := &testVisitor{}
@ -674,7 +674,7 @@ func TestStream(t *testing.T) {
func TestYAMLStream(t *testing.T) {
r, pods, rc := streamYAMLTestData()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").Stream(r, "STDIN").Flatten()
test := &testVisitor{}
@ -691,7 +691,7 @@ func TestYAMLStream(t *testing.T) {
func TestMultipleObject(t *testing.T) {
r, pods, svc := streamTestData()
obj, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
obj, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").Stream(r, "STDIN").Flatten().
Do().Object()
@ -713,7 +713,7 @@ func TestMultipleObject(t *testing.T) {
func TestContinueOnErrorVisitor(t *testing.T) {
r, _, _ := streamTestData()
req := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
req := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
ContinueOnError().
NamespaceParam("test").Stream(r, "STDIN").Flatten().
Do()
@ -742,7 +742,7 @@ func TestContinueOnErrorVisitor(t *testing.T) {
}
func TestSingularObject(t *testing.T) {
obj, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
obj, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").DefaultNamespace().
FilenameParam(false, "../../../examples/guestbook/redis-master-controller.yaml").
Flatten().
@ -762,7 +762,7 @@ func TestSingularObject(t *testing.T) {
}
func TestSingularObjectNoExtension(t *testing.T) {
obj, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
obj, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").DefaultNamespace().
FilenameParam(false, "../../../examples/pod").
Flatten().
@ -784,7 +784,7 @@ func TestSingularObjectNoExtension(t *testing.T) {
func TestSingularRootScopedObject(t *testing.T) {
node := &api.Node{ObjectMeta: api.ObjectMeta{Name: "test"}, Spec: api.NodeSpec{ExternalID: "test"}}
r := streamTestObject(node)
infos, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
infos, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").DefaultNamespace().
Stream(r, "STDIN").
Flatten().
@ -809,8 +809,8 @@ func TestSingularRootScopedObject(t *testing.T) {
func TestListObject(t *testing.T) {
pods, _ := testData()
labelKey := api.LabelSelectorQueryParam(testapi.Default.Version())
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.Codec, pods),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, pods),
})).
SelectorParam("a=b").
NamespaceParam("test").
@ -842,9 +842,9 @@ func TestListObject(t *testing.T) {
func TestListObjectWithDifferentVersions(t *testing.T) {
pods, svc := testData()
labelKey := api.LabelSelectorQueryParam(testapi.Default.Version())
obj, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.Codec, svc),
obj, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, svc),
})).
SelectorParam("a=b").
NamespaceParam("test").
@ -868,7 +868,7 @@ func TestListObjectWithDifferentVersions(t *testing.T) {
func TestWatch(t *testing.T) {
_, svc := testData()
w, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
w, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/watch/namespaces/test/services/redis-master?resourceVersion=12": watchBody(watch.Event{
Type: watch.Added,
Object: &svc.Items[0],
@ -900,7 +900,7 @@ func TestWatch(t *testing.T) {
}
func TestWatchMultipleError(t *testing.T) {
_, err := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
_, err := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
NamespaceParam("test").DefaultNamespace().
FilenameParam(false, "../../../examples/guestbook/redis-master-controller.yaml").Flatten().
FilenameParam(false, "../../../examples/guestbook/redis-master-controller.yaml").Flatten().
@ -923,10 +923,10 @@ func TestLatest(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "baz", Namespace: "test", ResourceVersion: "15"},
}
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.Codec, newPod),
"/namespaces/test/pods/bar": runtime.EncodeOrDie(latest.Codec, newPod2),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.Codec, newSvc),
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods/foo": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, newPod),
"/namespaces/test/pods/bar": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, newPod2),
"/namespaces/test/services/baz": runtime.EncodeOrDie(latest.GroupOrDie("").Codec, newSvc),
})).
NamespaceParam("other").Stream(r, "STDIN").Flatten().Latest()
@ -949,17 +949,17 @@ func TestReceiveMultipleErrors(t *testing.T) {
go func() {
defer w.Close()
w.Write([]byte(`{}`))
w.Write([]byte(runtime.EncodeOrDie(latest.Codec, &pods.Items[0])))
w.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &pods.Items[0])))
}()
r2, w2 := io.Pipe()
go func() {
defer w2.Close()
w2.Write([]byte(`{}`))
w2.Write([]byte(runtime.EncodeOrDie(latest.Codec, &svc.Items[0])))
w2.Write([]byte(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, &svc.Items[0])))
}()
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()).
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient()).
Stream(r, "1").Stream(r2, "2").
ContinueOnError()
@ -1003,7 +1003,7 @@ func TestReplaceAliases(t *testing.T) {
},
}
b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient())
b := NewBuilder(latest.GroupOrDie("").RESTMapper, api.Scheme, fakeClient())
for _, test := range tests {
replaced := b.replaceAliases(test.arg)

View File

@ -220,7 +220,7 @@ func AsVersionedObject(infos []*Info, forceList bool, version string) (runtime.O
object = objects[0]
} else {
object = &api.List{Items: objects}
converted, err := tryConvert(api.Scheme, object, version, latest.Version)
converted, err := tryConvert(api.Scheme, object, version, latest.GroupOrDie("").Version)
if err != nil {
return nil, err
}

View File

@ -72,7 +72,7 @@ func getSelfLink(name, namespace string) string {
if len(namespace) == 0 {
namespace = api.NamespaceDefault
}
selfLink = fmt.Sprintf("/api/"+latest.Version+"/pods/namespaces/%s/%s", name, namespace)
selfLink = fmt.Sprintf("/api/"+latest.GroupOrDie("").Version+"/pods/namespaces/%s/%s", name, namespace)
return selfLink
}

View File

@ -632,7 +632,7 @@ func (dm *DockerManager) runContainer(
}
if container.Lifecycle != nil && container.Lifecycle.PreStop != nil {
// TODO: This is kind of hacky, we should really just encode the bits we need.
data, err := latest.Codec.Encode(pod)
data, err := latest.GroupOrDie("").Codec.Encode(pod)
if err != nil {
glog.Errorf("Failed to encode pod: %s for prestop hook", pod.Name)
} else {
@ -1336,7 +1336,7 @@ func containerAndPodFromLabels(inspect *docker.Container) (pod *api.Pod, contain
// the pod data may not be set
if body, found := labels[kubernetesPodLabel]; found {
pod = &api.Pod{}
if err = latest.Codec.DecodeInto([]byte(body), pod); err == nil {
if err = latest.GroupOrDie("").Codec.DecodeInto([]byte(body), pod); err == nil {
name := labels[kubernetesContainerLabel]
for ix := range pod.Spec.Containers {
if pod.Spec.Containers[ix].Name == name {

View File

@ -364,7 +364,7 @@ func encodePods(pods []*api.Pod) (data []byte, err error) {
for _, pod := range pods {
podList.Items = append(podList.Items, *pod)
}
return latest.Codec.Encode(podList)
return latest.GroupOrDie("").Codec.Encode(podList)
}
// getPods returns a list of pods bound to the Kubelet and their spec.

View File

@ -41,7 +41,6 @@ import (
"k8s.io/kubernetes/pkg/api/rest"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/experimental"
explatest "k8s.io/kubernetes/pkg/apis/experimental/latest"
"k8s.io/kubernetes/pkg/apiserver"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/authorizer"
@ -620,7 +619,7 @@ func (m *Master) init(c *Config) {
m.InsecureHandler = handler
attributeGetter := apiserver.NewRequestAttributeGetter(m.requestContextMapper, latest.RESTMapper, "api")
attributeGetter := apiserver.NewRequestAttributeGetter(m.requestContextMapper, latest.GroupOrDie("").RESTMapper, "api")
handler = apiserver.WithAuthorizationCheck(handler, attributeGetter, m.authorizer)
// Install Authenticator
@ -750,12 +749,12 @@ func (m *Master) defaultAPIGroupVersion() *apiserver.APIGroupVersion {
return &apiserver.APIGroupVersion{
Root: m.apiPrefix,
Mapper: latest.RESTMapper,
Mapper: latest.GroupOrDie("").RESTMapper,
Creater: api.Scheme,
Convertor: api.Scheme,
Typer: api.Scheme,
Linker: latest.SelfLinker,
Linker: latest.GroupOrDie("").SelfLinker,
Admit: m.admissionControl,
Context: m.requestContextMapper,
@ -810,9 +809,9 @@ func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupV
Convertor: api.Scheme,
Typer: api.Scheme,
Mapper: thirdpartyresourcedata.NewMapper(explatest.RESTMapper, kind, version),
Codec: explatest.Codec,
Linker: explatest.SelfLinker,
Mapper: thirdpartyresourcedata.NewMapper(latest.GroupOrDie("experimental").RESTMapper, kind, version),
Codec: latest.GroupOrDie("experimental").Codec,
Linker: latest.GroupOrDie("experimental").SelfLinker,
Storage: storage,
Version: version,
@ -850,11 +849,11 @@ func (m *Master) experimental(c *Config) *apiserver.APIGroupVersion {
Convertor: api.Scheme,
Typer: api.Scheme,
Mapper: explatest.RESTMapper,
Codec: explatest.Codec,
Linker: explatest.SelfLinker,
Mapper: latest.GroupOrDie("experimental").RESTMapper,
Codec: latest.GroupOrDie("experimental").Codec,
Linker: latest.GroupOrDie("experimental").SelfLinker,
Storage: storage,
Version: explatest.Version,
Version: latest.GroupOrDie("experimental").Version,
Admit: m.admissionControl,
Context: m.requestContextMapper,

View File

@ -58,7 +58,7 @@ func setUp(t *testing.T) (Master, Config, *assert.Assertions) {
config := Config{}
fakeClient := tools.NewFakeEtcdClient(t)
fakeClient.Machines = []string{"http://machine1:4001", "http://machine2", "http://machine3:4003"}
config.DatabaseStorage = etcdstorage.NewEtcdStorage(fakeClient, latest.Codec, etcdtest.PathPrefix())
config.DatabaseStorage = etcdstorage.NewEtcdStorage(fakeClient, latest.GroupOrDie("").Codec, etcdtest.PathPrefix())
config.ExpDatabaseStorage = etcdstorage.NewEtcdStorage(fakeClient, explatest.Codec, etcdtest.PathPrefix())
master.nodeRegistry = registrytest.NewNodeRegistry([]string{"node1", "node2"}, api.NodeResources{})
@ -506,7 +506,7 @@ func encodeToThirdParty(name string, obj interface{}) ([]byte, error) {
ObjectMeta: api.ObjectMeta{Name: name},
Data: serial,
}
return latest.Codec.Encode(&thirdPartyData)
return latest.GroupOrDie("").Codec.Encode(&thirdPartyData)
}
func storeToEtcd(fakeClient *tools.FakeEtcdClient, path, name string, obj interface{}) error {

View File

@ -23,6 +23,7 @@ import (
"strings"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/apis/experimental"
"k8s.io/kubernetes/pkg/apis/experimental/latest"
@ -49,7 +50,7 @@ func (t *thirdPartyResourceDataMapper) RESTMapping(kind string, versions ...stri
if kind != "ThirdPartyResourceData" {
return nil, fmt.Errorf("unknown kind %s expected %s", kind, t.kind)
}
mapping, err := t.mapper.RESTMapping("ThirdPartyResourceData", latest.Version)
mapping, err := t.mapper.RESTMapping("ThirdPartyResourceData", latest.GroupOrDie("experimental").Version)
if err != nil {
return nil, err
}
@ -263,6 +264,6 @@ func (t *thirdPartyResourceDataCreator) New(version, kind string) (out runtime.O
case "ThirdPartyResourceDataList":
return &experimental.ThirdPartyResourceDataList{}, nil
default:
return t.delegate.New(latest.Version, kind)
return t.delegate.New(latest.GroupOrDie("experimental").Version, kind)
}
}

View File

@ -46,7 +46,7 @@ func (f *fakeEtcdCache) addToCache(index uint64, obj runtime.Object) {
var _ etcdCache = &fakeEtcdCache{}
func TestWatchInterpretations(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
// Declare some pods to make the test cases compact.
podFoo := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
podBar := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}}
@ -215,7 +215,7 @@ func TestWatchInterpretation_ResponseBadData(t *testing.T) {
}
func TestWatchEtcdError(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
fakeClient := tools.NewFakeEtcdClient(t)
fakeClient.ExpectNotFoundGet("/some/key")
fakeClient.WatchImmediateError = fmt.Errorf("immediate error")
@ -244,7 +244,7 @@ func TestWatchEtcdError(t *testing.T) {
}
func TestWatch(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
fakeClient := tools.NewFakeEtcdClient(t)
key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key)
@ -315,7 +315,7 @@ func makeSubsets(ip string, port int) []api.EndpointSubset {
}
func TestWatchEtcdState(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
baseKey := "/somekey/foo"
prefixedKey := etcdtest.AddPrefix(baseKey)
type T struct {
@ -453,7 +453,7 @@ func TestWatchEtcdState(t *testing.T) {
}
func TestWatchFromZeroIndex(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
testCases := map[string]struct {
@ -531,7 +531,7 @@ func TestWatchFromZeroIndex(t *testing.T) {
}
func TestWatchListFromZeroIndex(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key)
@ -593,7 +593,7 @@ func TestWatchListFromZeroIndex(t *testing.T) {
}
func TestWatchListIgnoresRootKey(t *testing.T) {
codec := latest.Codec
codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key)

View File

@ -192,7 +192,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -206,7 +206,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -201,7 +201,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(claim)
o.Add(ep)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -158,7 +158,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(volume.VolumeConfig{}), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -235,7 +235,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -236,7 +236,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(volume.VolumeConfig{}), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -192,7 +192,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
o.Add(pv)
o.Add(claim)
client := &testclient.Fake{}
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.RESTMapper))
client.AddReactor("*", "*", testclient.ObjectReaction(o, latest.GroupOrDie("").RESTMapper))
plugMgr := volume.VolumePluginMgr{}
plugMgr.InitPlugins(ProbeVolumePlugins(), volume.NewFakeVolumeHost("/tmp/fake", client, nil))

View File

@ -143,7 +143,7 @@ func TestDefaultErrorFunc(t *testing.T) {
}
handler := util.FakeHandler{
StatusCode: 200,
ResponseBody: runtime.EncodeOrDie(latest.Codec, testPod),
ResponseBody: runtime.EncodeOrDie(latest.GroupOrDie("").Codec, testPod),
T: t,
}
mux := http.NewServeMux()

View File

@ -42,7 +42,7 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd string) *api.Pod {
pod := &api.Pod{
TypeMeta: api.TypeMeta{
Kind: "Pod",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
},
ObjectMeta: api.ObjectMeta{
Name: "dns-test-" + string(util.NewUUID()),

View File

@ -207,7 +207,7 @@ func testPodWithVolume(image, path string, source *api.EmptyDirVolumeSource) *ap
return &api.Pod{
TypeMeta: api.TypeMeta{
Kind: "Pod",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
},
ObjectMeta: api.ObjectMeta{
Name: podName,

View File

@ -123,7 +123,7 @@ func testPodWithHostVol(path string, source *api.HostPathVolumeSource) *api.Pod
return &api.Pod{
TypeMeta: api.TypeMeta{
Kind: "Pod",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
},
ObjectMeta: api.ObjectMeta{
Name: podName,

View File

@ -342,7 +342,7 @@ func testPDPod(diskName, targetHost string, readOnly bool, numContainers int) *a
pod := &api.Pod{
TypeMeta: api.TypeMeta{
Kind: "Pod",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
},
ObjectMeta: api.ObjectMeta{
Name: "pd-test-" + string(util.NewUUID()),

View File

@ -185,7 +185,7 @@ func rcByNameContainer(name string, replicas int, image string, labels map[strin
return &api.ReplicationController{
TypeMeta: api.TypeMeta{
Kind: "ReplicationController",
APIVersion: latest.Version,
APIVersion: latest.GroupOrDie("").Version,
},
ObjectMeta: api.ObjectMeta{
Name: name,

View File

@ -41,7 +41,7 @@ func NewEtcdClient() *etcd.Client {
}
func NewEtcdStorage() (storage.Interface, error) {
return master.NewEtcdStorage(NewEtcdClient(), latest.InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
return master.NewEtcdStorage(NewEtcdClient(), latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
}
func RequireEtcd() {

View File

@ -131,11 +131,11 @@ func startMasterOrDie(masterConfig *master.Config) (*master.Master, *httptest.Se
var err error
if masterConfig == nil {
etcdClient := NewEtcdClient()
etcdStorage, err = master.NewEtcdStorage(etcdClient, latest.InterfacesFor, latest.Version, etcdtest.PathPrefix())
etcdStorage, err = master.NewEtcdStorage(etcdClient, latest.GroupOrDie("").InterfacesFor, latest.GroupOrDie("").Version, etcdtest.PathPrefix())
if err != nil {
glog.Fatalf("Failed to create etcd storage for master %v", err)
}
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, explatest.InterfacesFor, explatest.Version, etcdtest.PathPrefix())
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("experimental").InterfacesFor, latest.GroupOrDie("experimental").Version, etcdtest.PathPrefix())
if err != nil {
glog.Fatalf("Failed to create etcd storage for master %v", err)
}
@ -269,11 +269,11 @@ func StartPods(numPods int, host string, restClient *client.Client) error {
// TODO: Merge this into startMasterOrDie.
func RunAMaster(t *testing.T) (*master.Master, *httptest.Server) {
etcdClient := NewEtcdClient()
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
etcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, explatest.InterfacesFor, explatest.Version, etcdtest.PathPrefix())
expEtcdStorage, err := master.NewEtcdStorage(etcdClient, latest.GroupOrDie("experimental").InterfacesFor, latest.GroupOrDie("experimental").Version, etcdtest.PathPrefix())
if err != nil {
t.Fatalf("unexpected error: %v", err)
}

View File

@ -341,7 +341,7 @@ func startServiceAccountTestServer(t *testing.T) (*client.Client, client.Config,
deleteAllEtcdKeys()
// Etcd
etcdStorage, err := master.NewEtcdStorage(newEtcdClient(), latest.InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
etcdStorage, err := master.NewEtcdStorage(newEtcdClient(), latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
if err != nil {
t.Fatalf("unexpected error: %v", err)
}

View File

@ -66,7 +66,7 @@ func deleteAllEtcdKeys() {
}
func runAMaster(t *testing.T) (*master.Master, *httptest.Server) {
etcdStorage, err := master.NewEtcdStorage(newEtcdClient(), latest.InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
etcdStorage, err := master.NewEtcdStorage(newEtcdClient(), latest.GroupOrDie("").InterfacesFor, testapi.Default.Version(), etcdtest.PathPrefix())
if err != nil {
t.Fatalf("unexpected error: %v", err)
}