massive changes

This commit is contained in:
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 // We will fix this by supporting multiple group versions in Config
cl.ExperimentalClient = client.NewExperimentalOrDie(&client.Config{Host: apiServer.URL, Version: testapi.Experimental.Version()}) 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 { if err != nil {
glog.Fatalf("Unable to get etcd storage: %v", err) 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 { if err != nil {
glog.Fatalf("Unable to get etcd storage for experimental: %v", err) 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) 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 { if err != nil {
glog.Fatalf("Invalid storage version or misconfigured etcd: %v", err) 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 { if err != nil {
glog.Fatalf("Invalid experimental storage version or misconfigured etcd: %v", err) 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") inputSource = flag.StringP("input", "i", "-", "Input source; '-' means stdin")
outputDest = flag.StringP("output", "o", "-", "Output destination; '-' means stdout") outputDest = flag.StringP("output", "o", "-", "Output destination; '-' means stdout")
rewrite = flag.StringP("rewrite", "r", "", "If nonempty, use this as both input and output.") 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 // 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 //TODO: Add validate method for &schedulerapi.Policy
} else { } 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)) t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(data))
return return
} }
@@ -451,14 +451,14 @@ func TestReadme(t *testing.T) {
if err != nil { if err != nil {
t.Errorf("%s could not be converted to JSON: %v\n%s", path, err, string(content)) 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)) t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(content))
continue continue
} }
if errors := validateObject(expectedType); len(errors) > 0 { if errors := validateObject(expectedType); len(errors) > 0 {
t.Errorf("%s did not validate correctly: %v", path, errors) t.Errorf("%s did not validate correctly: %v", path, errors)
} }
_, err = latest.Codec.Encode(expectedType) _, err = latest.GroupOrDie("").Codec.Encode(expectedType)
if err != nil { if err != nil {
t.Errorf("Could not encode object: %v", err) t.Errorf("Could not encode object: %v", err)
continue continue

View File

@@ -62,5 +62,5 @@ func main() {
"nginx.key": nginxKey, "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, "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" "testing"
internal "k8s.io/kubernetes/pkg/api" internal "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
) )
var accessor = meta.NewAccessor()
func TestResourceVersioner(t *testing.T) { func TestResourceVersioner(t *testing.T) {
pod := internal.Pod{ObjectMeta: internal.ObjectMeta{ResourceVersion: "10"}} pod := internal.Pod{ObjectMeta: internal.ObjectMeta{ResourceVersion: "10"}}
version, err := accessor.ResourceVersion(&pod) version, err := accessor.ResourceVersion(&pod)
@@ -45,7 +48,7 @@ func TestResourceVersioner(t *testing.T) {
func TestCodec(t *testing.T) { func TestCodec(t *testing.T) {
pod := internal.Pod{} pod := internal.Pod{}
data, err := Codec.Encode(&pod) data, err := GroupOrDie("").Codec.Encode(&pod)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -53,33 +56,33 @@ func TestCodec(t *testing.T) {
if err := json.Unmarshal(data, &other); err != nil { if err := json.Unmarshal(data, &other); err != nil {
t.Fatalf("unexpected error: %v", err) 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) t.Errorf("unexpected unmarshalled object %#v", other)
} }
} }
func TestInterfacesFor(t *testing.T) { func TestInterfacesFor(t *testing.T) {
if _, err := InterfacesFor(""); err == nil { if _, err := GroupOrDie("").InterfacesFor(""); err == nil {
t.Fatalf("unexpected non-error: %v", err) t.Fatalf("unexpected non-error: %v", err)
} }
for i, version := range append([]string{Version, OldestVersion}, Versions...) { for i, version := range append([]string{GroupOrDie("").Version}, GroupOrDie("").Versions...) {
if vi, err := InterfacesFor(version); err != nil || vi == nil { if vi, err := GroupOrDie("").InterfacesFor(version); err != nil || vi == nil {
t.Fatalf("%d: unexpected result: %v", i, err) t.Fatalf("%d: unexpected result: %v", i, err)
} }
} }
} }
func TestRESTMapper(t *testing.T) { 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) 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) t.Errorf("unexpected version mapping: %#v %v", m, err)
} }
for _, version := range Versions { for _, version := range GroupOrDie("").Versions {
mapping, err := RESTMapper.RESTMapping("ReplicationController", version) mapping, err := GroupOrDie("").RESTMapper.RESTMapping("ReplicationController", version)
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
@@ -91,7 +94,7 @@ func TestRESTMapper(t *testing.T) {
t.Errorf("incorrect version: %v", mapping) t.Errorf("incorrect version: %v", mapping)
} }
interfaces, _ := InterfacesFor(version) interfaces, _ := GroupOrDie("").InterfacesFor(version)
if mapping.Codec != interfaces.Codec { if mapping.Codec != interfaces.Codec {
t.Errorf("unexpected codec: %#v, expected: %#v", mapping, interfaces) 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) obj := runtime.Object(pod)
data, err := latest.Codec.Encode(obj) data, err := latest.GroupOrDie("").Codec.Encode(obj)
obj2, err2 := latest.Codec.Decode(data) obj2, err2 := latest.GroupOrDie("").Codec.Decode(data)
if err != nil || err2 != nil { if err != nil || err2 != nil {
t.Fatalf("Failure: '%v' '%v'", err, err2) t.Fatalf("Failure: '%v' '%v'", err, err2)
} }
@@ -182,11 +182,11 @@ func TestEncode_Ptr(t *testing.T) {
func TestBadJSONRejection(t *testing.T) { func TestBadJSONRejection(t *testing.T) {
badJSONMissingKind := []byte(`{ }`) 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) t.Errorf("Did not reject despite lack of kind field: %s", badJSONMissingKind)
} }
badJSONUnknownType := []byte(`{"kind": "bar"}`) 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) t.Errorf("Did not reject despite use of unknown type: %s", badJSONUnknownType)
} }
/*badJSONKindMismatch := []byte(`{"kind": "Pod"}`) /*badJSONKindMismatch := []byte(`{"kind": "Pod"}`)
@@ -202,7 +202,7 @@ func BenchmarkEncode(b *testing.B) {
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed)) apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod) apiObjectFuzzer.Fuzz(&pod)
for i := 0; i < b.N; i++ { 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{} pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed)) apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod) apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod) data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ { 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{} pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed)) apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod) apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod) data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
obj := api.Pod{} 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{} pod := api.Pod{}
apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed)) apiObjectFuzzer := apitesting.FuzzerFor(nil, "", rand.NewSource(benchmarkSeed))
apiObjectFuzzer.Fuzz(&pod) apiObjectFuzzer.Fuzz(&pod)
data, _ := latest.Codec.Encode(&pod) data, _ := latest.GroupOrDie("").Codec.Encode(&pod)
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
obj := api.Pod{} obj := api.Pod{}
json.Unmarshal(data, &obj) json.Unmarshal(data, &obj)

View File

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

View File

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

View File

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

View File

@@ -246,7 +246,7 @@ func TestGetAPIRequestInfo(t *testing.T) {
{"PUT", "/namespaces/other/finalize", "update", "", "other", "finalize", "", "", "", []string{"finalize"}}, {"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 { for _, successCase := range successCases {
req, _ := http.NewRequest(successCase.method, successCase.url, nil) req, _ := http.NewRequest(successCase.method, successCase.url, nil)

View File

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

View File

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

View File

@@ -290,9 +290,9 @@ func SetKubernetesDefaults(config *Config) error {
config.Version = defaultVersionFor(config) config.Version = defaultVersionFor(config)
} }
version := config.Version version := config.Version
versionInterfaces, err := latest.InterfacesFor(version) versionInterfaces, err := latest.GroupOrDie("").InterfacesFor(version)
if err != nil { 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 { if config.Codec == nil {
config.Codec = versionInterfaces.Codec config.Codec = versionInterfaces.Codec
@@ -543,7 +543,7 @@ func defaultVersionFor(config *Config) string {
if version == "" { if version == "" {
// Clients default to the preferred code API version // Clients default to the preferred code API version
// TODO: implement version negotiation (highest version supported by server) // TODO: implement version negotiation (highest version supported by server)
version = latest.Version version = latest.GroupOrDie("").Version
} }
return version return version
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -240,7 +240,7 @@ func getReplicaAnnotationSet(template *api.PodTemplateSpec, object runtime.Objec
if err != nil { if err != nil {
return desiredAnnotations, fmt.Errorf("unable to get controller reference: %v", err) 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, Reference: *createdByRef,
}) })
if err != nil { 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) { func NewMixedFactory(apiClient resource.RESTClient) (*cmdutil.Factory, *testFactory, runtime.Codec) {
f, t, c := NewTestFactory() f, t, c := NewTestFactory()
f.Object = func() (meta.RESTMapper, runtime.ObjectTyper) { 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) { f.RESTClient = func(m *meta.RESTMapping) (resource.RESTClient, error) {
if m.ObjectConvertor == api.Scheme { if m.ObjectConvertor == api.Scheme {
@@ -197,7 +197,7 @@ func NewAPIFactory() (*cmdutil.Factory, *testFactory, runtime.Codec) {
} }
return &cmdutil.Factory{ return &cmdutil.Factory{
Object: func() (meta.RESTMapper, runtime.ObjectTyper) { Object: func() (meta.RESTMapper, runtime.ObjectTyper) {
return latest.RESTMapper, api.Scheme return latest.GroupOrDie("").RESTMapper, api.Scheme
}, },
Client: func() (*client.Client, error) { Client: func() (*client.Client, error) {
// Swap out the HTTP client out of the client with the fake's version. // 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"})}, Resp: &http.Response{StatusCode: 200, Body: objBody(codec, &internalType{Name: "foo"})},
} }
tf.Namespace = "test" tf.Namespace = "test"
tf.ClientConfig = &client.Config{Version: latest.Version} tf.ClientConfig = &client.Config{Version: latest.GroupOrDie("").Version}
buf := bytes.NewBuffer([]byte{}) buf := bytes.NewBuffer([]byte{})
cmd := NewCmdGet(f, buf) cmd := NewCmdGet(f, buf)
@@ -153,9 +153,9 @@ func TestGetUnknownSchemaObject(t *testing.T) {
// //
// The expected behavior of the `kubectl get` command is: // 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; // 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; // 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) { func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
testCases := map[string]struct { testCases := map[string]struct {
outputVersion string outputVersion string
@@ -164,16 +164,16 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
rcVersion string rcVersion string
}{ }{
"handles specific version": { "handles specific version": {
outputVersion: latest.Version, outputVersion: latest.GroupOrDie("").Version,
listVersion: latest.Version, listVersion: latest.GroupOrDie("").Version,
testtypeVersion: "unlikelyversion", testtypeVersion: "unlikelyversion",
rcVersion: latest.Version, rcVersion: latest.GroupOrDie("").Version,
}, },
"handles second specific version": { "handles second specific version": {
outputVersion: "unlikelyversion", outputVersion: "unlikelyversion",
listVersion: latest.Version, listVersion: latest.GroupOrDie("").Version,
testtypeVersion: "unlikelyversion", testtypeVersion: "unlikelyversion",
rcVersion: latest.Version, // see expected behavior 3b rcVersion: latest.GroupOrDie("").Version, // see expected behavior 3b
}, },
"handles common version": { "handles common version": {
outputVersion: testapi.Default.Version(), outputVersion: testapi.Default.Version(),
@@ -200,7 +200,7 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
}), }),
} }
tf.Namespace = "test" tf.Namespace = "test"
tf.ClientConfig = &client.Config{Version: latest.Version} tf.ClientConfig = &client.Config{Version: latest.GroupOrDie("").Version}
buf := bytes.NewBuffer([]byte{}) buf := bytes.NewBuffer([]byte{})
cmd := NewCmdGet(f, buf) cmd := NewCmdGet(f, buf)
cmd.SetOutput(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. // Verifies that schemas that are not in the master tree of Kubernetes can be retrieved via Get.
func TestGetSchemaObject(t *testing.T) { func TestGetSchemaObject(t *testing.T) {
f, tf, _ := NewTestFactory() f, tf, _ := NewTestFactory()
tf.Mapper = latest.RESTMapper tf.Mapper = latest.GroupOrDie("").RESTMapper
tf.Typer = api.Scheme tf.Typer = api.Scheme
codec := latest.Codec codec := latest.GroupOrDie("").Codec
tf.Printer = &testPrinter{} tf.Printer = &testPrinter{}
tf.Client = &client.FakeRESTClient{ tf.Client = &client.FakeRESTClient{
Codec: codec, Codec: codec,

View File

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

View File

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

View File

@@ -220,7 +220,7 @@ func AsVersionedObject(infos []*Info, forceList bool, version string) (runtime.O
object = objects[0] object = objects[0]
} else { } else {
object = &api.List{Items: objects} 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 { if err != nil {
return nil, err return nil, err
} }

View File

@@ -72,7 +72,7 @@ func getSelfLink(name, namespace string) string {
if len(namespace) == 0 { if len(namespace) == 0 {
namespace = api.NamespaceDefault 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 return selfLink
} }

View File

@@ -632,7 +632,7 @@ func (dm *DockerManager) runContainer(
} }
if container.Lifecycle != nil && container.Lifecycle.PreStop != nil { if container.Lifecycle != nil && container.Lifecycle.PreStop != nil {
// TODO: This is kind of hacky, we should really just encode the bits we need. // 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 { if err != nil {
glog.Errorf("Failed to encode pod: %s for prestop hook", pod.Name) glog.Errorf("Failed to encode pod: %s for prestop hook", pod.Name)
} else { } else {
@@ -1336,7 +1336,7 @@ func containerAndPodFromLabels(inspect *docker.Container) (pod *api.Pod, contain
// the pod data may not be set // the pod data may not be set
if body, found := labels[kubernetesPodLabel]; found { if body, found := labels[kubernetesPodLabel]; found {
pod = &api.Pod{} 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] name := labels[kubernetesContainerLabel]
for ix := range pod.Spec.Containers { for ix := range pod.Spec.Containers {
if pod.Spec.Containers[ix].Name == name { 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 { for _, pod := range pods {
podList.Items = append(podList.Items, *pod) 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. // 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/rest"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/experimental" "k8s.io/kubernetes/pkg/apis/experimental"
explatest "k8s.io/kubernetes/pkg/apis/experimental/latest"
"k8s.io/kubernetes/pkg/apiserver" "k8s.io/kubernetes/pkg/apiserver"
"k8s.io/kubernetes/pkg/auth/authenticator" "k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/authorizer" "k8s.io/kubernetes/pkg/auth/authorizer"
@@ -620,7 +619,7 @@ func (m *Master) init(c *Config) {
m.InsecureHandler = handler 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) handler = apiserver.WithAuthorizationCheck(handler, attributeGetter, m.authorizer)
// Install Authenticator // Install Authenticator
@@ -750,12 +749,12 @@ func (m *Master) defaultAPIGroupVersion() *apiserver.APIGroupVersion {
return &apiserver.APIGroupVersion{ return &apiserver.APIGroupVersion{
Root: m.apiPrefix, Root: m.apiPrefix,
Mapper: latest.RESTMapper, Mapper: latest.GroupOrDie("").RESTMapper,
Creater: api.Scheme, Creater: api.Scheme,
Convertor: api.Scheme, Convertor: api.Scheme,
Typer: api.Scheme, Typer: api.Scheme,
Linker: latest.SelfLinker, Linker: latest.GroupOrDie("").SelfLinker,
Admit: m.admissionControl, Admit: m.admissionControl,
Context: m.requestContextMapper, Context: m.requestContextMapper,
@@ -810,9 +809,9 @@ func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupV
Convertor: api.Scheme, Convertor: api.Scheme,
Typer: api.Scheme, Typer: api.Scheme,
Mapper: thirdpartyresourcedata.NewMapper(explatest.RESTMapper, kind, version), Mapper: thirdpartyresourcedata.NewMapper(latest.GroupOrDie("experimental").RESTMapper, kind, version),
Codec: explatest.Codec, Codec: latest.GroupOrDie("experimental").Codec,
Linker: explatest.SelfLinker, Linker: latest.GroupOrDie("experimental").SelfLinker,
Storage: storage, Storage: storage,
Version: version, Version: version,
@@ -850,11 +849,11 @@ func (m *Master) experimental(c *Config) *apiserver.APIGroupVersion {
Convertor: api.Scheme, Convertor: api.Scheme,
Typer: api.Scheme, Typer: api.Scheme,
Mapper: explatest.RESTMapper, Mapper: latest.GroupOrDie("experimental").RESTMapper,
Codec: explatest.Codec, Codec: latest.GroupOrDie("experimental").Codec,
Linker: explatest.SelfLinker, Linker: latest.GroupOrDie("experimental").SelfLinker,
Storage: storage, Storage: storage,
Version: explatest.Version, Version: latest.GroupOrDie("experimental").Version,
Admit: m.admissionControl, Admit: m.admissionControl,
Context: m.requestContextMapper, Context: m.requestContextMapper,

View File

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

View File

@@ -23,6 +23,7 @@ import (
"strings" "strings"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/apis/experimental" "k8s.io/kubernetes/pkg/apis/experimental"
"k8s.io/kubernetes/pkg/apis/experimental/latest" "k8s.io/kubernetes/pkg/apis/experimental/latest"
@@ -49,7 +50,7 @@ func (t *thirdPartyResourceDataMapper) RESTMapping(kind string, versions ...stri
if kind != "ThirdPartyResourceData" { if kind != "ThirdPartyResourceData" {
return nil, fmt.Errorf("unknown kind %s expected %s", kind, t.kind) 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 { if err != nil {
return nil, err return nil, err
} }
@@ -263,6 +264,6 @@ func (t *thirdPartyResourceDataCreator) New(version, kind string) (out runtime.O
case "ThirdPartyResourceDataList": case "ThirdPartyResourceDataList":
return &experimental.ThirdPartyResourceDataList{}, nil return &experimental.ThirdPartyResourceDataList{}, nil
default: 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{} var _ etcdCache = &fakeEtcdCache{}
func TestWatchInterpretations(t *testing.T) { func TestWatchInterpretations(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
// Declare some pods to make the test cases compact. // Declare some pods to make the test cases compact.
podFoo := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}} podFoo := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
podBar := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}} podBar := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}}
@@ -215,7 +215,7 @@ func TestWatchInterpretation_ResponseBadData(t *testing.T) {
} }
func TestWatchEtcdError(t *testing.T) { func TestWatchEtcdError(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
fakeClient := tools.NewFakeEtcdClient(t) fakeClient := tools.NewFakeEtcdClient(t)
fakeClient.ExpectNotFoundGet("/some/key") fakeClient.ExpectNotFoundGet("/some/key")
fakeClient.WatchImmediateError = fmt.Errorf("immediate error") fakeClient.WatchImmediateError = fmt.Errorf("immediate error")
@@ -244,7 +244,7 @@ func TestWatchEtcdError(t *testing.T) {
} }
func TestWatch(t *testing.T) { func TestWatch(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
fakeClient := tools.NewFakeEtcdClient(t) fakeClient := tools.NewFakeEtcdClient(t)
key := "/some/key" key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key) prefixedKey := etcdtest.AddPrefix(key)
@@ -315,7 +315,7 @@ func makeSubsets(ip string, port int) []api.EndpointSubset {
} }
func TestWatchEtcdState(t *testing.T) { func TestWatchEtcdState(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
baseKey := "/somekey/foo" baseKey := "/somekey/foo"
prefixedKey := etcdtest.AddPrefix(baseKey) prefixedKey := etcdtest.AddPrefix(baseKey)
type T struct { type T struct {
@@ -453,7 +453,7 @@ func TestWatchEtcdState(t *testing.T) {
} }
func TestWatchFromZeroIndex(t *testing.T) { func TestWatchFromZeroIndex(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}} pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
testCases := map[string]struct { testCases := map[string]struct {
@@ -531,7 +531,7 @@ func TestWatchFromZeroIndex(t *testing.T) {
} }
func TestWatchListFromZeroIndex(t *testing.T) { func TestWatchListFromZeroIndex(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}} pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
key := "/some/key" key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key) prefixedKey := etcdtest.AddPrefix(key)
@@ -593,7 +593,7 @@ func TestWatchListFromZeroIndex(t *testing.T) {
} }
func TestWatchListIgnoresRootKey(t *testing.T) { func TestWatchListIgnoresRootKey(t *testing.T) {
codec := latest.Codec codec := latest.GroupOrDie("").Codec
pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}} pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
key := "/some/key" key := "/some/key"
prefixedKey := etcdtest.AddPrefix(key) prefixedKey := etcdtest.AddPrefix(key)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -41,7 +41,7 @@ func NewEtcdClient() *etcd.Client {
} }
func NewEtcdStorage() (storage.Interface, error) { 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() { func RequireEtcd() {

View File

@@ -131,11 +131,11 @@ func startMasterOrDie(masterConfig *master.Config) (*master.Master, *httptest.Se
var err error var err error
if masterConfig == nil { if masterConfig == nil {
etcdClient := NewEtcdClient() 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 { if err != nil {
glog.Fatalf("Failed to create etcd storage for master %v", err) 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 { if err != nil {
glog.Fatalf("Failed to create etcd storage for master %v", err) 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. // 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() 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 { if err != nil {
t.Fatalf("unexpected error: %v", err) 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 { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }

View File

@@ -341,7 +341,7 @@ func startServiceAccountTestServer(t *testing.T) (*client.Client, client.Config,
deleteAllEtcdKeys() deleteAllEtcdKeys()
// Etcd // 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 { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }

View File

@@ -66,7 +66,7 @@ func deleteAllEtcdKeys() {
} }
func runAMaster(t *testing.T) (*master.Master, *httptest.Server) { 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 { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }