mirror of https://github.com/k3s-io/k3s
massive changes
parent
347ce513cc
commit
dd6c121d7f
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -62,5 +62,5 @@ func main() {
|
|||
"nginx.key": nginxKey,
|
||||
},
|
||||
}
|
||||
fmt.Printf(runtime.EncodeOrDie(latest.Codec, secret))
|
||||
fmt.Printf(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, secret))
|
||||
}
|
||||
|
|
|
@ -59,5 +59,5 @@ func main() {
|
|||
"config": cfg,
|
||||
},
|
||||
}
|
||||
fmt.Printf(runtime.EncodeOrDie(latest.Codec, secret))
|
||||
fmt.Printf(runtime.EncodeOrDie(latest.GroupOrDie("").Codec, secret))
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"},
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()),
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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()),
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue