Relax to using namer instead of selflinker in API groupversion

Kubernetes-commit: 0ad588b27b6845d9ece955bfdde0e2863b8e1394
This commit is contained in:
Wojciech Tyczyński 2022-01-13 16:34:56 +01:00 committed by Kubernetes Publisher
parent b4d0749d39
commit 5e8e1ff118
5 changed files with 12 additions and 13 deletions

View File

@ -126,7 +126,7 @@ var newCodec = codecs.LegacyCodec(newGroupVersion)
var parameterCodec = runtime.NewParameterCodec(scheme) var parameterCodec = runtime.NewParameterCodec(scheme)
var accessor = meta.NewAccessor() var accessor = meta.NewAccessor()
var selfLinker runtime.SelfLinker = accessor var namer runtime.Namer = accessor
var admissionControl admission.Interface var admissionControl admission.Interface
func init() { func init() {
@ -232,8 +232,7 @@ func handleInternal(storage map[string]rest.Storage, admissionControl admission.
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme), UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
Defaulter: scheme, Defaulter: scheme,
Typer: scheme, Typer: scheme,
// TODO(wojtek-t): Switch to Namer. Namer: namer,
Linker: selfLinker,
RootScopedKinds: sets.NewString("SimpleRoot"), RootScopedKinds: sets.NewString("SimpleRoot"),
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(), EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
@ -3280,7 +3279,7 @@ func TestParentResourceIsRequired(t *testing.T) {
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme), UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
Defaulter: scheme, Defaulter: scheme,
Typer: scheme, Typer: scheme,
Linker: selfLinker, Namer: namer,
RootScopedKinds: sets.NewString("SimpleRoot"), RootScopedKinds: sets.NewString("SimpleRoot"),
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(), EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
@ -3313,7 +3312,7 @@ func TestParentResourceIsRequired(t *testing.T) {
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme), UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
Defaulter: scheme, Defaulter: scheme,
Typer: scheme, Typer: scheme,
Linker: selfLinker, Namer: namer,
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(), EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
@ -4100,7 +4099,7 @@ func TestXGSubresource(t *testing.T) {
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme), UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
Defaulter: scheme, Defaulter: scheme,
Typer: scheme, Typer: scheme,
Linker: selfLinker, Namer: namer,
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(), EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),

View File

@ -79,7 +79,7 @@ type APIGroupVersion struct {
Convertor runtime.ObjectConvertor Convertor runtime.ObjectConvertor
ConvertabilityChecker ConvertabilityChecker ConvertabilityChecker ConvertabilityChecker
Defaulter runtime.ObjectDefaulter Defaulter runtime.ObjectDefaulter
Linker runtime.SelfLinker Namer runtime.Namer
UnsafeConvertor runtime.ObjectConvertor UnsafeConvertor runtime.ObjectConvertor
TypeConverter fieldmanager.TypeConverter TypeConverter fieldmanager.TypeConverter

View File

@ -39,7 +39,7 @@ type ScopeNamer interface {
} }
type ContextBasedNaming struct { type ContextBasedNaming struct {
SelfLinker runtime.SelfLinker Namer runtime.Namer
ClusterScoped bool ClusterScoped bool
SelfLinkPathPrefix string SelfLinkPathPrefix string
@ -70,14 +70,14 @@ func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err
} }
func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error) { func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error) {
name, err = n.SelfLinker.Name(obj) name, err = n.Namer.Name(obj)
if err != nil { if err != nil {
return "", "", err return "", "", err
} }
if len(name) == 0 { if len(name) == 0 {
return "", "", errEmptyName return "", "", errEmptyName
} }
namespace, err = n.SelfLinker.Namespace(obj) namespace, err = n.Namer.Namespace(obj)
if err != nil { if err != nil {
return "", "", err return "", "", err
} }

View File

@ -428,7 +428,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
apiResource.Namespaced = false apiResource.Namespaced = false
apiResource.Kind = resourceKind apiResource.Kind = resourceKind
namer := handlers.ContextBasedNaming{ namer := handlers.ContextBasedNaming{
SelfLinker: a.group.Linker, Namer: a.group.Namer,
ClusterScoped: true, ClusterScoped: true,
SelfLinkPathPrefix: gpath.Join(a.prefix, resource) + "/", SelfLinkPathPrefix: gpath.Join(a.prefix, resource) + "/",
SelfLinkPathSuffix: suffix, SelfLinkPathSuffix: suffix,
@ -477,7 +477,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
apiResource.Namespaced = true apiResource.Namespaced = true
apiResource.Kind = resourceKind apiResource.Kind = resourceKind
namer := handlers.ContextBasedNaming{ namer := handlers.ContextBasedNaming{
SelfLinker: a.group.Linker, Namer: a.group.Namer,
ClusterScoped: false, ClusterScoped: false,
SelfLinkPathPrefix: gpath.Join(a.prefix, namespaceParamName) + "/", SelfLinkPathPrefix: gpath.Join(a.prefix, namespaceParamName) + "/",
SelfLinkPathSuffix: itemPathSuffix, SelfLinkPathSuffix: itemPathSuffix,

View File

@ -676,7 +676,7 @@ func (s *GenericAPIServer) newAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupV
UnsafeConvertor: runtime.UnsafeObjectConvertor(apiGroupInfo.Scheme), UnsafeConvertor: runtime.UnsafeObjectConvertor(apiGroupInfo.Scheme),
Defaulter: apiGroupInfo.Scheme, Defaulter: apiGroupInfo.Scheme,
Typer: apiGroupInfo.Scheme, Typer: apiGroupInfo.Scheme,
Linker: runtime.SelfLinker(meta.NewAccessor()), Namer: runtime.Namer(meta.NewAccessor()),
EquivalentResourceRegistry: s.EquivalentResourceRegistry, EquivalentResourceRegistry: s.EquivalentResourceRegistry,