Merge pull request #48599 from sttts/sttts-audit-deepcopy-reg

Automatic merge from submit-queue (batch tested with PRs 48497, 48604, 48599, 48560, 48546)

audit: fix deepcopy registration

Remove manual registration into scheme by fixing the deepcopy tag of the api group.
This commit is contained in:
Kubernetes Submit Queue 2017-07-08 07:09:34 -07:00 committed by GitHub
commit b5c4346130
4 changed files with 15 additions and 35 deletions

View File

@ -14,6 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package
// +groupName=audit.k8s.io // +groupName=audit.k8s.io
package audit // import "k8s.io/apiserver/pkg/apis/audit" package audit // import "k8s.io/apiserver/pkg/apis/audit"

View File

@ -49,5 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&Policy{}, &Policy{},
&PolicyList{}, &PolicyList{},
) )
scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...)
return nil return nil
} }

View File

@ -27,23 +27,18 @@ import (
reflect "reflect" reflect "reflect"
) )
func init() { // GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them.
SchemeBuilder.Register(RegisterDeepCopies) func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc {
} return []conversion.GeneratedDeepCopyFunc{
{Fn: DeepCopy_audit_Event, InType: reflect.TypeOf(&Event{})},
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public {Fn: DeepCopy_audit_EventList, InType: reflect.TypeOf(&EventList{})},
// to allow building arbitrary schemes. {Fn: DeepCopy_audit_GroupResources, InType: reflect.TypeOf(&GroupResources{})},
func RegisterDeepCopies(scheme *runtime.Scheme) error { {Fn: DeepCopy_audit_ObjectReference, InType: reflect.TypeOf(&ObjectReference{})},
return scheme.AddGeneratedDeepCopyFuncs( {Fn: DeepCopy_audit_Policy, InType: reflect.TypeOf(&Policy{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_Event, InType: reflect.TypeOf(&Event{})}, {Fn: DeepCopy_audit_PolicyList, InType: reflect.TypeOf(&PolicyList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_EventList, InType: reflect.TypeOf(&EventList{})}, {Fn: DeepCopy_audit_PolicyRule, InType: reflect.TypeOf(&PolicyRule{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_audit_GroupResources, InType: reflect.TypeOf(&GroupResources{})}, {Fn: DeepCopy_audit_UserInfo, InType: reflect.TypeOf(&UserInfo{})},
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{})},
)
} }
// DeepCopy_audit_Event is an autogenerated deepcopy function. // DeepCopy_audit_Event is an autogenerated deepcopy function.

View File

@ -19,7 +19,6 @@ package webhook
import ( import (
"fmt" "fmt"
"reflect"
"strings" "strings"
"time" "time"
@ -136,20 +135,6 @@ func (b *blockingBackend) processEvents(ev ...*auditinternal.Event) error {
return b.w.RestClient.Post().Body(&list).Do().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) { func newBatchWebhook(configFile string) (*batchBackend, error) {
w, err := loadWebhook(configFile) w, err := loadWebhook(configFile)
if err != nil { if err != nil {
@ -162,8 +147,7 @@ func newBatchWebhook(configFile string) (*batchBackend, error) {
return nil, fmt.Errorf("registering meta deep copy method: %v", err) return nil, fmt.Errorf("registering meta deep copy method: %v", err)
} }
} }
for _, f := range auditinternal.GetGeneratedDeepCopyFuncs() {
for _, f := range auditDeepCopyFuncs {
if err := c.RegisterGeneratedDeepCopyFunc(f); err != nil { if err := c.RegisterGeneratedDeepCopyFunc(f); err != nil {
return nil, fmt.Errorf("registering audit deep copy method: %v", err) return nil, fmt.Errorf("registering audit deep copy method: %v", err)
} }