From cbfc9d33b7c6b9e767e4259910f783c047e83583 Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Mon, 20 Nov 2017 14:57:07 -0800 Subject: [PATCH] Update the validating webhook plugin to be a ValidatingInterface, rather than a MutatingInterface --- .../admission/plugin/webhook/mutating/admission.go | 2 ++ .../admission/plugin/webhook/validating/admission.go | 6 ++++-- .../plugin/webhook/validating/admission_test.go | 12 ++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/admission.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/admission.go index 64527b4963..0cee5be1c0 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/admission.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/admission.go @@ -102,6 +102,8 @@ func NewMutatingWebhook(configFile io.Reader) (*MutatingWebhook, error) { }, nil } +var _ admission.MutationInterface = &MutatingWebhook{} + // MutatingWebhook is an implementation of admission.Interface. type MutatingWebhook struct { *admission.Handler diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission.go index 4911777c64..888cb9b222 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission.go @@ -101,6 +101,8 @@ func NewValidatingAdmissionWebhook(configFile io.Reader) (*ValidatingAdmissionWe }, nil } +var _ admission.ValidationInterface = &ValidatingAdmissionWebhook{} + // ValidatingAdmissionWebhook is an implementation of admission.Interface. type ValidatingAdmissionWebhook struct { *admission.Handler @@ -185,8 +187,8 @@ func (a *ValidatingAdmissionWebhook) loadConfiguration(attr admission.Attributes return hookConfig, nil } -// Admit makes an admission decision based on the request attributes. -func (a *ValidatingAdmissionWebhook) Admit(attr admission.Attributes) error { +// Validate makes an admission decision based on the request attributes. +func (a *ValidatingAdmissionWebhook) Validate(attr admission.Attributes) error { hookConfig, err := a.loadConfiguration(attr) if err != nil { return err diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission_test.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission_test.go index dcebb848f6..30029b10e1 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission_test.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating/admission_test.go @@ -116,8 +116,8 @@ func (c urlConfigGenerator) ccfgURL(urlPath string) registrationv1alpha1.Webhook } } -// TestAdmit tests that ValidatingAdmissionWebhook#Admit works as expected -func TestAdmit(t *testing.T) { +// TestValidate tests that ValidatingAdmissionWebhook#Validate works as expected +func TestValidate(t *testing.T) { scheme := runtime.NewScheme() v1alpha1.AddToScheme(scheme) corev1.AddToScheme(scheme) @@ -393,7 +393,7 @@ func TestAdmit(t *testing.T) { } t.Run(name, func(t *testing.T) { wh.hookSource = &tt.hookSource - err = wh.Admit(admission.NewAttributesRecord(&object, &oldObject, kind, namespace, name, resource, subResource, operation, &userInfo)) + err = wh.Validate(admission.NewAttributesRecord(&object, &oldObject, kind, namespace, name, resource, subResource, operation, &userInfo)) if tt.expectAllow != (err == nil) { t.Errorf("expected allowed=%v, but got err=%v", tt.expectAllow, err) } @@ -410,8 +410,8 @@ func TestAdmit(t *testing.T) { } } -// TestAdmitCachedClient tests that ValidatingAdmissionWebhook#Admit should cache restClient -func TestAdmitCachedClient(t *testing.T) { +// TestValidateCachedClient tests that ValidatingAdmissionWebhook#Validate should cache restClient +func TestValidateCachedClient(t *testing.T) { scheme := runtime.NewScheme() v1alpha1.AddToScheme(scheme) corev1.AddToScheme(scheme) @@ -560,7 +560,7 @@ func TestAdmitCachedClient(t *testing.T) { t.Fatal(err) } - err = wh.Admit(admission.NewAttributesRecord(&object, &oldObject, kind, namespace, testcase.name, resource, subResource, operation, &userInfo)) + err = wh.Validate(admission.NewAttributesRecord(&object, &oldObject, kind, namespace, testcase.name, resource, subResource, operation, &userInfo)) if testcase.expectAllow != (err == nil) { t.Errorf("expected allowed=%v, but got err=%v", testcase.expectAllow, err) }