From ad23081273785668ee2520e5349cf0b05f64e41f Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Thu, 6 Jul 2017 09:40:06 +0200 Subject: [PATCH] audit: fix deepcopy registration --- .../k8s.io/apiserver/pkg/apis/audit/doc.go | 2 +- .../apiserver/pkg/apis/audit/register.go | 1 + .../pkg/apis/audit/zz_generated.deepcopy.go | 29 ++++++++----------- .../plugin/pkg/audit/webhook/webhook.go | 18 +----------- 4 files changed, 15 insertions(+), 35 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/apis/audit/doc.go b/staging/src/k8s.io/apiserver/pkg/apis/audit/doc.go index b2099aab89..34bc671e8d 100644 --- a/staging/src/k8s.io/apiserver/pkg/apis/audit/doc.go +++ b/staging/src/k8s.io/apiserver/pkg/apis/audit/doc.go @@ -14,6 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ -// +k8s:deepcopy-gen=package,register +// +k8s:deepcopy-gen=package // +groupName=audit.k8s.io package audit // import "k8s.io/apiserver/pkg/apis/audit" diff --git a/staging/src/k8s.io/apiserver/pkg/apis/audit/register.go b/staging/src/k8s.io/apiserver/pkg/apis/audit/register.go index 9abf739ae0..e14b82c1b1 100644 --- a/staging/src/k8s.io/apiserver/pkg/apis/audit/register.go +++ b/staging/src/k8s.io/apiserver/pkg/apis/audit/register.go @@ -49,5 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &Policy{}, &PolicyList{}, ) + scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...) return nil } diff --git a/staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go b/staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go index 5ca4ef7ce8..cd74e2ee51 100644 --- a/staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go @@ -27,23 +27,18 @@ import ( reflect "reflect" ) -func init() { - SchemeBuilder.Register(RegisterDeepCopies) -} - -// RegisterDeepCopies adds deep-copy functions to the given scheme. Public -// to allow building arbitrary schemes. -func RegisterDeepCopies(scheme *runtime.Scheme) error { - return scheme.AddGeneratedDeepCopyFuncs( - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_Event, InType: reflect.TypeOf(&Event{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_EventList, InType: reflect.TypeOf(&EventList{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_GroupResources, InType: reflect.TypeOf(&GroupResources{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_ObjectReference, InType: reflect.TypeOf(&ObjectReference{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_Policy, InType: reflect.TypeOf(&Policy{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_PolicyList, InType: reflect.TypeOf(&PolicyList{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_PolicyRule, InType: reflect.TypeOf(&PolicyRule{})}, - conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_UserInfo, InType: reflect.TypeOf(&UserInfo{})}, - ) +// GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them. +func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { + return []conversion.GeneratedDeepCopyFunc{ + {Fn: DeepCopy_audit_Event, InType: reflect.TypeOf(&Event{})}, + {Fn: DeepCopy_audit_EventList, InType: reflect.TypeOf(&EventList{})}, + {Fn: DeepCopy_audit_GroupResources, InType: reflect.TypeOf(&GroupResources{})}, + {Fn: DeepCopy_audit_ObjectReference, InType: reflect.TypeOf(&ObjectReference{})}, + {Fn: DeepCopy_audit_Policy, InType: reflect.TypeOf(&Policy{})}, + {Fn: DeepCopy_audit_PolicyList, InType: reflect.TypeOf(&PolicyList{})}, + {Fn: DeepCopy_audit_PolicyRule, InType: reflect.TypeOf(&PolicyRule{})}, + {Fn: DeepCopy_audit_UserInfo, InType: reflect.TypeOf(&UserInfo{})}, + } } // DeepCopy_audit_Event is an autogenerated deepcopy function. diff --git a/staging/src/k8s.io/apiserver/plugin/pkg/audit/webhook/webhook.go b/staging/src/k8s.io/apiserver/plugin/pkg/audit/webhook/webhook.go index aad5de0167..1e1b7e59ae 100644 --- a/staging/src/k8s.io/apiserver/plugin/pkg/audit/webhook/webhook.go +++ b/staging/src/k8s.io/apiserver/plugin/pkg/audit/webhook/webhook.go @@ -19,7 +19,6 @@ package webhook import ( "fmt" - "reflect" "strings" "time" @@ -136,20 +135,6 @@ func (b *blockingBackend) processEvents(ev ...*auditinternal.Event) error { return b.w.RestClient.Post().Body(&list).Do().Error() } -// Copied from generated code in k8s.io/apiserver/pkg/apis/audit. -// -// TODO(ericchiang): Have the generated code expose these methods like metav1.GetGeneratedDeepCopyFuncs(). -var auditDeepCopyFuncs = []conversion.GeneratedDeepCopyFunc{ - {Fn: auditinternal.DeepCopy_audit_Event, InType: reflect.TypeOf(&auditinternal.Event{})}, - {Fn: auditinternal.DeepCopy_audit_EventList, InType: reflect.TypeOf(&auditinternal.EventList{})}, - {Fn: auditinternal.DeepCopy_audit_GroupResources, InType: reflect.TypeOf(&auditinternal.GroupResources{})}, - {Fn: auditinternal.DeepCopy_audit_ObjectReference, InType: reflect.TypeOf(&auditinternal.ObjectReference{})}, - {Fn: auditinternal.DeepCopy_audit_Policy, InType: reflect.TypeOf(&auditinternal.Policy{})}, - {Fn: auditinternal.DeepCopy_audit_PolicyList, InType: reflect.TypeOf(&auditinternal.PolicyList{})}, - {Fn: auditinternal.DeepCopy_audit_PolicyRule, InType: reflect.TypeOf(&auditinternal.PolicyRule{})}, - {Fn: auditinternal.DeepCopy_audit_UserInfo, InType: reflect.TypeOf(&auditinternal.UserInfo{})}, -} - func newBatchWebhook(configFile string) (*batchBackend, error) { w, err := loadWebhook(configFile) if err != nil { @@ -162,8 +147,7 @@ func newBatchWebhook(configFile string) (*batchBackend, error) { return nil, fmt.Errorf("registering meta deep copy method: %v", err) } } - - for _, f := range auditDeepCopyFuncs { + for _, f := range auditinternal.GetGeneratedDeepCopyFuncs() { if err := c.RegisterGeneratedDeepCopyFunc(f); err != nil { return nil, fmt.Errorf("registering audit deep copy method: %v", err) }