diff --git a/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/validation/validation.go b/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/validation/validation.go index d6e45cb292bc..a6e862366b06 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/validation/validation.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/validation/validation.go @@ -189,9 +189,6 @@ func validateExternalAdmissionHook(hook *admissionregistration.ExternalAdmission if len(hook.Name) == 0 { allErrors = append(allErrors, field.Required(fldPath.Child("name"), "")) } - if errs := validationutil.IsDNS1123Subdomain(hook.Name); len(errs) > 0 { - allErrors = append(allErrors, field.Invalid(fldPath.Child("name"), hook.Name, strings.Join(errs, ","))) - } if len(strings.Split(hook.Name, ".")) < 3 { allErrors = append(allErrors, field.Invalid(fldPath.Child("name"), hook.Name, "should be a domain with at least two dots")) } diff --git a/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission.go b/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission.go index ac192abd4027..0febfdfc30fb 100644 --- a/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission.go +++ b/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission.go @@ -45,6 +45,8 @@ import ( "k8s.io/kubernetes/pkg/kubeapiserver/admission/configuration" // install the clientgo admission API for use with api registry + "strings" + _ "k8s.io/kubernetes/pkg/apis/admission/install" ) @@ -230,8 +232,14 @@ func (a *GenericAdmissionWebhook) callHook(ctx context.Context, h *v1alpha1.Exte if err != nil { return &ErrCallingWebhook{WebhookName: h.Name, Reason: err} } + + tokens := strings.SplitN(h.Name, "/", 2) + urlPath := "" + if len(tokens) == 2 { + urlPath = tokens[1] + } response := &admissionv1alpha1.AdmissionReview{} - if err := client.Post().Context(ctx).Body(&request).Do().Into(response); err != nil { + if err := client.Post().Context(ctx).AbsPath(urlPath).Body(&request).Do().Into(response); err != nil { return &ErrCallingWebhook{WebhookName: h.Name, Reason: err} } diff --git a/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission_test.go b/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission_test.go index 1e0aba1863d4..341281a2d33a 100644 --- a/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission_test.go +++ b/vendor/k8s.io/kubernetes/plugin/pkg/admission/webhook/admission_test.go @@ -171,7 +171,7 @@ func TestAdmit(t *testing.T) { "match & disallow": { hookSource: fakeHookSource{ hooks: []registrationv1alpha1.ExternalAdmissionHook{{ - Name: "disallow", + Name: "disallow/disallow", ClientConfig: ccfg, Rules: matchEverythingRules, }}, @@ -182,7 +182,7 @@ func TestAdmit(t *testing.T) { "match & disallow ii": { hookSource: fakeHookSource{ hooks: []registrationv1alpha1.ExternalAdmissionHook{{ - Name: "disallowReason", + Name: "disallowReason/disallowReason", ClientConfig: ccfg, Rules: matchEverythingRules, }},