mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
disable webhook for testing
This commit is contained in:
parent
a06f981fb1
commit
ffbae9c5b4
@ -35,7 +35,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apiserver/pkg/admission"
|
"k8s.io/apiserver/pkg/admission"
|
||||||
"k8s.io/apiserver/pkg/audit"
|
"k8s.io/apiserver/pkg/audit"
|
||||||
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager"
|
|
||||||
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
|
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
|
||||||
"k8s.io/apiserver/pkg/endpoints/request"
|
"k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/features"
|
"k8s.io/apiserver/pkg/features"
|
||||||
@ -164,8 +163,6 @@ func createHandler(r rest.NamedCreater, scope *RequestScope, admit admission.Int
|
|||||||
return nil, fmt.Errorf("failed to create new object (Create for %v): %v", scope.Kind, err)
|
return nil, fmt.Errorf("failed to create new object (Create for %v): %v", scope.Kind, err)
|
||||||
}
|
}
|
||||||
obj = scope.FieldManager.UpdateNoErrors(liveObj, obj, managerOrUserAgent(options.FieldManager, req.UserAgent()))
|
obj = scope.FieldManager.UpdateNoErrors(liveObj, obj, managerOrUserAgent(options.FieldManager, req.UserAgent()))
|
||||||
|
|
||||||
admit = fieldmanager.NewManagedFieldsValidatingAdmissionController(admit)
|
|
||||||
}
|
}
|
||||||
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok && mutatingAdmission.Handles(admission.Create) {
|
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok && mutatingAdmission.Handles(admission.Create) {
|
||||||
if err := mutatingAdmission.Admit(ctx, admissionAttributes, scope); err != nil {
|
if err := mutatingAdmission.Admit(ctx, admissionAttributes, scope); err != nil {
|
||||||
|
@ -171,7 +171,7 @@ func PatchResource(r rest.Patcher, scope *RequestScope, admit admission.Interfac
|
|||||||
userInfo,
|
userInfo,
|
||||||
)
|
)
|
||||||
|
|
||||||
mutatingAdmission, _ := fieldmanager.NewManagedFieldsValidatingAdmissionController(admit).(admission.MutationInterface)
|
mutatingAdmission, _ := admit.(admission.MutationInterface)
|
||||||
createAuthorizerAttributes := authorizer.AttributesRecord{
|
createAuthorizerAttributes := authorizer.AttributesRecord{
|
||||||
User: userInfo,
|
User: userInfo,
|
||||||
ResourceRequest: true,
|
ResourceRequest: true,
|
||||||
|
@ -33,7 +33,6 @@ import (
|
|||||||
"k8s.io/apiserver/pkg/admission"
|
"k8s.io/apiserver/pkg/admission"
|
||||||
"k8s.io/apiserver/pkg/audit"
|
"k8s.io/apiserver/pkg/audit"
|
||||||
"k8s.io/apiserver/pkg/authorization/authorizer"
|
"k8s.io/apiserver/pkg/authorization/authorizer"
|
||||||
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager"
|
|
||||||
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
|
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
|
||||||
"k8s.io/apiserver/pkg/endpoints/request"
|
"k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/features"
|
"k8s.io/apiserver/pkg/features"
|
||||||
@ -119,7 +118,6 @@ func UpdateResource(r rest.Updater, scope *RequestScope, admit admission.Interfa
|
|||||||
ae := request.AuditEventFrom(ctx)
|
ae := request.AuditEventFrom(ctx)
|
||||||
audit.LogRequestObject(ae, obj, scope.Resource, scope.Subresource, scope.Serializer)
|
audit.LogRequestObject(ae, obj, scope.Resource, scope.Subresource, scope.Serializer)
|
||||||
admit = admission.WithAudit(admit, ae)
|
admit = admission.WithAudit(admit, ae)
|
||||||
admit = fieldmanager.NewManagedFieldsValidatingAdmissionController(admit)
|
|
||||||
|
|
||||||
if err := checkName(obj, name, namespace, scope.Namer); err != nil {
|
if err := checkName(obj, name, namespace, scope.Namer); err != nil {
|
||||||
scope.err(err, w, req)
|
scope.err(err, w, req)
|
||||||
|
@ -26,7 +26,6 @@ import (
|
|||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -36,7 +35,6 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager"
|
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
@ -118,7 +116,7 @@ func TestMutatingWebhookResetsInvalidManagedFields(t *testing.T) {
|
|||||||
var pod *corev1.Pod
|
var pod *corev1.Pod
|
||||||
var lastErr string
|
var lastErr string
|
||||||
// TODO(kwiesmueller): define warning format in the apiserver and use here
|
// TODO(kwiesmueller): define warning format in the apiserver and use here
|
||||||
expectedWarning := fieldmanager.InvalidManagedFieldsAfterMutatingAdmissionWarningFormat
|
// expectedWarning := fieldmanager.InvalidManagedFieldsAfterMutatingAdmissionWarningFormat
|
||||||
|
|
||||||
// Make sure reset happens on patch requests
|
// Make sure reset happens on patch requests
|
||||||
// wait until new webhook is called
|
// wait until new webhook is called
|
||||||
@ -127,15 +125,15 @@ func TestMutatingWebhookResetsInvalidManagedFields(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
if warningWriter.WarningCount() == 0 {
|
// if warningWriter.WarningCount() == 0 {
|
||||||
lastErr = fmt.Sprintf("no warning, managedFields: %v", pod.ManagedFields)
|
// lastErr = fmt.Sprintf("no warning, managedFields: %v", pod.ManagedFields)
|
||||||
return false, nil
|
// return false, nil
|
||||||
}
|
// }
|
||||||
if !strings.Contains(recordedWarnings.String(), expectedWarning) {
|
// if !strings.Contains(recordedWarnings.String(), expectedWarning) {
|
||||||
lastErr = fmt.Sprintf("unexpected warning, expected: %v, got: %v",
|
// lastErr = fmt.Sprintf("unexpected warning, expected: %v, got: %v",
|
||||||
expectedWarning, recordedWarnings.String())
|
// expectedWarning, recordedWarnings.String())
|
||||||
return false, nil
|
// return false, nil
|
||||||
}
|
// }
|
||||||
if err := expectValidManagedFields(pod.ManagedFields); err != nil {
|
if err := expectValidManagedFields(pod.ManagedFields); err != nil {
|
||||||
lastErr = err.Error()
|
lastErr = err.Error()
|
||||||
return false, nil
|
return false, nil
|
||||||
@ -144,27 +142,27 @@ func TestMutatingWebhookResetsInvalidManagedFields(t *testing.T) {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
t.Fatalf("failed to wait for apiserver handling webhook mutation: %v, last error: %v", err, lastErr)
|
t.Fatalf("failed to wait for apiserver handling webhook mutation: %v, last error: %v", err, lastErr)
|
||||||
}
|
}
|
||||||
if warningWriter.WarningCount() != 1 {
|
// if warningWriter.WarningCount() != 1 {
|
||||||
t.Errorf("expected one warning, got: %v", warningWriter.WarningCount())
|
// t.Errorf("expected one warning, got: %v", warningWriter.WarningCount())
|
||||||
}
|
// }
|
||||||
recordedWarnings.Reset()
|
// recordedWarnings.Reset()
|
||||||
|
|
||||||
// Make sure dedup happens in update requests
|
// Make sure dedup happens in update requests
|
||||||
pod, err = client.CoreV1().Pods("default").Update(context.TODO(), pod, metav1.UpdateOptions{})
|
pod, err = client.CoreV1().Pods("default").Update(context.TODO(), pod, metav1.UpdateOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if warningWriter.WarningCount() != 2 {
|
// if warningWriter.WarningCount() != 2 {
|
||||||
t.Errorf("expected two warnings, got: %v", warningWriter.WarningCount())
|
// t.Errorf("expected two warnings, got: %v", warningWriter.WarningCount())
|
||||||
}
|
// }
|
||||||
if !strings.Contains(recordedWarnings.String(), expectedWarning) {
|
// if !strings.Contains(recordedWarnings.String(), expectedWarning) {
|
||||||
t.Errorf("unexpected warning, expected: %v, got: %v",
|
// t.Errorf("unexpected warning, expected: %v, got: %v",
|
||||||
expectedWarning, recordedWarnings.String())
|
// expectedWarning, recordedWarnings.String())
|
||||||
}
|
// }
|
||||||
if err := expectValidManagedFields(pod.ManagedFields); err != nil {
|
if err := expectValidManagedFields(pod.ManagedFields); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
recordedWarnings.Reset()
|
// recordedWarnings.Reset()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,7 +215,7 @@ func newInvalidManagedFieldsWebhookHandler(t *testing.T) http.Handler {
|
|||||||
|
|
||||||
if len(pod.ManagedFields) != 0 {
|
if len(pod.ManagedFields) != 0 {
|
||||||
t.Logf("corrupting managedFields %v", pod.ManagedFields)
|
t.Logf("corrupting managedFields %v", pod.ManagedFields)
|
||||||
review.Response.Patch = []byte(`[{"op":"remove","path":"metadata/managedFields/0/apiVersion"},{"op":"remove","path":"/metadata/managedFields/0/fieldsType"}]`)
|
review.Response.Patch = []byte(`[{"op":"remove","path":"/metadata/managedFields/0/apiVersion"},{"op":"remove","path":"/metadata/managedFields/0/fieldsType"}]`)
|
||||||
jsonPatch := v1.PatchTypeJSONPatch
|
jsonPatch := v1.PatchTypeJSONPatch
|
||||||
review.Response.PatchType = &jsonPatch
|
review.Response.PatchType = &jsonPatch
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user