mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
update CodecFor for GroupVersion
This commit is contained in:
parent
7de177b8b5
commit
6e33403abf
@ -51,7 +51,7 @@ func init() {
|
||||
groupMeta := latest.GroupMeta{
|
||||
GroupVersion: preferredExternalVersion,
|
||||
GroupVersions: externalVersions,
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion.String()),
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion),
|
||||
RESTMapper: newRESTMapper(externalVersions),
|
||||
SelfLinker: runtime.SelfLinker(accessor),
|
||||
InterfacesFor: interfacesFor,
|
||||
|
@ -24,7 +24,7 @@ import (
|
||||
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup", Version: "v1"}
|
||||
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
// Register the API.
|
||||
|
@ -27,7 +27,7 @@ import (
|
||||
|
||||
// Codec is the identity codec for this package - it can only convert itself
|
||||
// to itself.
|
||||
var Codec = runtime.CodecFor(Scheme, "")
|
||||
var Codec = runtime.CodecFor(Scheme, unversioned.GroupVersion{})
|
||||
|
||||
func init() {
|
||||
Scheme.AddDefaultingFuncs(
|
||||
|
@ -61,7 +61,7 @@ func init() {
|
||||
groupMeta := latest.GroupMeta{
|
||||
GroupVersion: preferredExternalVersion,
|
||||
GroupVersions: externalVersions,
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion.String()),
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion),
|
||||
RESTMapper: newRESTMapper(externalVersions),
|
||||
SelfLinker: runtime.SelfLinker(accessor),
|
||||
InterfacesFor: interfacesFor,
|
||||
|
@ -27,6 +27,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/validation/field"
|
||||
@ -39,7 +40,7 @@ import (
|
||||
// keys in the resulting JSON.
|
||||
func TestCompatibility(
|
||||
t *testing.T,
|
||||
version string,
|
||||
version unversioned.GroupVersion,
|
||||
input []byte,
|
||||
validator func(obj runtime.Object) field.ErrorList,
|
||||
expectedKeys map[string]string,
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testing/compat"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/api/validation"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/validation/field"
|
||||
@ -223,6 +224,6 @@ func TestCompatibility_v1_PodSecurityContext(t *testing.T) {
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Logf("Testing 1.0.0 backward compatibility for %v", tc.name)
|
||||
compat.TestCompatibility(t, "v1", []byte(tc.input), validator, tc.expectedKeys, tc.absentKeys)
|
||||
compat.TestCompatibility(t, v1.SchemeGroupVersion, []byte(tc.input), validator, tc.expectedKeys, tc.absentKeys)
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ const GroupName = ""
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"}
|
||||
|
||||
// Codec encodes internal objects to the v1 scheme
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
// Check if v1 is in the list of supported API versions.
|
||||
|
@ -26,7 +26,7 @@ import (
|
||||
var GroupVersion = unversioned.GroupVersion{Group: api.Group, Version: "v0"}
|
||||
|
||||
// Codec encodes internal objects to the v0 version for the abac group
|
||||
var Codec = runtime.CodecFor(api.Scheme, GroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, GroupVersion)
|
||||
|
||||
func init() {
|
||||
api.Scheme.AddKnownTypes(GroupVersion,
|
||||
|
@ -26,7 +26,7 @@ import (
|
||||
var GroupVersion = unversioned.GroupVersion{Group: api.Group, Version: "v1beta1"}
|
||||
|
||||
// Codec encodes internal objects to the v1beta1 version for the abac group
|
||||
var Codec = runtime.CodecFor(api.Scheme, GroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, GroupVersion)
|
||||
|
||||
func init() {
|
||||
api.Scheme.AddKnownTypes(GroupVersion,
|
||||
|
@ -61,7 +61,7 @@ func init() {
|
||||
groupMeta := latest.GroupMeta{
|
||||
GroupVersion: preferredExternalVersion,
|
||||
GroupVersions: externalVersions,
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion.String()),
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion),
|
||||
RESTMapper: newRESTMapper(externalVersions),
|
||||
SelfLinker: runtime.SelfLinker(accessor),
|
||||
InterfacesFor: interfacesFor,
|
||||
|
@ -28,7 +28,7 @@ const GroupName = "componentconfig"
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
||||
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
addKnownTypes()
|
||||
|
@ -61,7 +61,7 @@ func init() {
|
||||
groupMeta := latest.GroupMeta{
|
||||
GroupVersion: preferredExternalVersion,
|
||||
GroupVersions: externalVersions,
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion.String()),
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion),
|
||||
RESTMapper: newRESTMapper(externalVersions),
|
||||
SelfLinker: runtime.SelfLinker(accessor),
|
||||
InterfacesFor: interfacesFor,
|
||||
|
@ -28,7 +28,7 @@ const GroupName = "extensions"
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"}
|
||||
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
addKnownTypes()
|
||||
|
@ -61,7 +61,7 @@ func init() {
|
||||
groupMeta := latest.GroupMeta{
|
||||
GroupVersion: preferredExternalVersion,
|
||||
GroupVersions: externalVersions,
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion.String()),
|
||||
Codec: runtime.CodecFor(api.Scheme, preferredExternalVersion),
|
||||
RESTMapper: newRESTMapper(externalVersions),
|
||||
SelfLinker: runtime.SelfLinker(accessor),
|
||||
InterfacesFor: interfacesFor,
|
||||
|
@ -28,7 +28,7 @@ const GroupName = "metrics"
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
||||
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
// Register the API.
|
||||
|
@ -228,7 +228,7 @@ func serviceErrorHandler(requestResolver *RequestInfoResolver, apiVersions []str
|
||||
for _, version := range apiVersions {
|
||||
if requestInfo.APIVersion == version {
|
||||
// valid api version.
|
||||
codec = runtime.CodecFor(api.Scheme, requestInfo.APIVersion)
|
||||
codec = runtime.CodecFor(api.Scheme, unversioned.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion})
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -65,11 +65,11 @@ var prefix = "apis"
|
||||
|
||||
var grouplessGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"}
|
||||
var grouplessPrefix = "api"
|
||||
var grouplessCodec = runtime.CodecFor(api.Scheme, grouplessGroupVersion.String())
|
||||
var grouplessCodec = runtime.CodecFor(api.Scheme, grouplessGroupVersion)
|
||||
|
||||
var groupVersions = []unversioned.GroupVersion{grouplessGroupVersion, testGroupVersion, newGroupVersion}
|
||||
var codec = runtime.CodecFor(api.Scheme, testGroupVersion.String())
|
||||
var newCodec = runtime.CodecFor(api.Scheme, newGroupVersion.String())
|
||||
var codec = runtime.CodecFor(api.Scheme, testGroupVersion)
|
||||
var newCodec = runtime.CodecFor(api.Scheme, newGroupVersion)
|
||||
|
||||
var accessor = meta.NewAccessor()
|
||||
var versioner runtime.ResourceVersioner = accessor
|
||||
|
@ -27,7 +27,7 @@ import (
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"}
|
||||
|
||||
// Codec encodes internal objects to the v1 scheme
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
api.Scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
|
@ -26,6 +26,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
|
||||
@ -66,9 +67,8 @@ func TestV1EncodeDecodeStatus(t *testing.T) {
|
||||
func TestExperimentalEncodeDecodeStatus(t *testing.T) {
|
||||
// TODO: caesarxuchao: use the testapi.Extensions.Codec() once the PR that
|
||||
// moves experimental from v1 to v1beta1 got merged.
|
||||
// expCodec := testapi.Extensions.Codec()
|
||||
expCodec := runtime.CodecFor(api.Scheme, "extensions/v1beta1")
|
||||
encoded, err := runtime.Encode(expCodec, status)
|
||||
expCodec := runtime.CodecFor(api.Scheme, v1beta1.SchemeGroupVersion)
|
||||
encoded, err := expCodec.Encode(status)
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
@ -90,10 +90,10 @@ func newExternalScheme() (*runtime.Scheme, meta.RESTMapper, runtime.Codec) {
|
||||
//This tests that kubectl will not confuse the external scheme with the internal scheme, even when they accidentally have versions of the same name.
|
||||
scheme.AddKnownTypeWithName(validVersionGV.WithKind("Type"), &ExternalType2{})
|
||||
|
||||
codec := runtime.CodecFor(scheme, unlikelyGV.String())
|
||||
codec := runtime.CodecFor(scheme, unlikelyGV)
|
||||
mapper := meta.NewDefaultRESTMapper([]unversioned.GroupVersion{unlikelyGV, validVersionGV}, func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) {
|
||||
return &meta.VersionInterfaces{
|
||||
Codec: runtime.CodecFor(scheme, version.String()),
|
||||
Codec: runtime.CodecFor(scheme, version),
|
||||
ObjectConvertor: scheme,
|
||||
MetadataAccessor: meta.NewAccessor(),
|
||||
}, versionErrIfFalse(version == validVersionGV || version == unlikelyGV)
|
||||
|
@ -177,7 +177,7 @@ func TestGetUnknownSchemaObjectListGeneric(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for k, test := range testCases {
|
||||
apiCodec := runtime.CodecFor(api.Scheme, testapi.Default.GroupVersion().String())
|
||||
apiCodec := runtime.CodecFor(api.Scheme, *testapi.Default.GroupVersion())
|
||||
regularClient := &fake.RESTClient{
|
||||
Codec: apiCodec,
|
||||
Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) {
|
||||
|
@ -19,6 +19,7 @@ package runtime
|
||||
import (
|
||||
"io"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/util/yaml"
|
||||
)
|
||||
|
||||
@ -41,7 +42,7 @@ func DecodeInto(d Decoder, data []byte, into Object) error {
|
||||
}
|
||||
|
||||
// CodecFor returns a Codec that invokes Encode with the provided version.
|
||||
func CodecFor(codec ObjectCodec, version string) Codec {
|
||||
func CodecFor(codec ObjectCodec, version unversioned.GroupVersion) Codec {
|
||||
return &codecWrapper{codec, version}
|
||||
}
|
||||
|
||||
@ -91,7 +92,7 @@ func EncodeOrDie(codec Codec, obj Object) string {
|
||||
// default version for a scheme.
|
||||
type codecWrapper struct {
|
||||
ObjectCodec
|
||||
version string
|
||||
version unversioned.GroupVersion
|
||||
}
|
||||
|
||||
// codecWrapper implements Decoder
|
||||
@ -99,11 +100,11 @@ var _ Decoder = &codecWrapper{}
|
||||
|
||||
// Encode implements Codec
|
||||
func (c *codecWrapper) Encode(obj Object) ([]byte, error) {
|
||||
return c.EncodeToVersion(obj, c.version)
|
||||
return c.EncodeToVersion(obj, c.version.String())
|
||||
}
|
||||
|
||||
func (c *codecWrapper) EncodeToStream(obj Object, stream io.Writer) error {
|
||||
return c.EncodeToVersionStream(obj, c.version, stream)
|
||||
return c.EncodeToVersionStream(obj, c.version.String(), stream)
|
||||
}
|
||||
|
||||
// TODO: Make this behaviour default when we move everyone away from
|
||||
|
@ -306,7 +306,7 @@ func TestEncode(t *testing.T) {
|
||||
scheme.AddInternalGroupVersion(internalGV)
|
||||
scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{})
|
||||
scheme.AddKnownTypeWithName(externalGV.WithKind("Simple"), &ExternalSimple{})
|
||||
codec := runtime.CodecFor(scheme, externalGV.String())
|
||||
codec := runtime.CodecFor(scheme, externalGV)
|
||||
test := &InternalSimple{
|
||||
TestString: "I'm the same",
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ func init() {
|
||||
scheme = runtime.NewScheme()
|
||||
scheme.AddKnownTypes(testapi.Default.InternalGroupVersion(), &storagetesting.TestResource{})
|
||||
scheme.AddKnownTypes(*testapi.Default.GroupVersion(), &storagetesting.TestResource{})
|
||||
codec = runtime.CodecFor(scheme, testapi.Default.GroupVersion().String())
|
||||
codec = runtime.CodecFor(scheme, *testapi.Default.GroupVersion())
|
||||
scheme.AddConversionFuncs(
|
||||
func(in *storagetesting.TestResource, out *storagetesting.TestResource, s conversion.Scope) error {
|
||||
*out = *in
|
||||
|
@ -27,7 +27,7 @@ import (
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"}
|
||||
|
||||
// Codec encodes internal objects to the v1 scheme
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion.String())
|
||||
var Codec = runtime.CodecFor(api.Scheme, SchemeGroupVersion)
|
||||
|
||||
func init() {
|
||||
api.Scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
|
Loading…
Reference in New Issue
Block a user