From dac083e7b3fde2b161c583229e82fb9fb4e8af55 Mon Sep 17 00:00:00 2001 From: wencaiwulue <895703375@qq.com> Date: Tue, 13 Dec 2022 21:56:41 +0800 Subject: [PATCH] feat: optimize webhook --- pkg/webhook/pods.go | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/pkg/webhook/pods.go b/pkg/webhook/pods.go index b99b1b7b..d18b5ff4 100644 --- a/pkg/webhook/pods.go +++ b/pkg/webhook/pods.go @@ -1,7 +1,6 @@ package webhook import ( - "context" "encoding/json" "fmt" "net" @@ -60,16 +59,6 @@ func admitPods(ar v1.AdmissionReview) *v1.AdmissionResponse { return toV1AdmissionResponse(err) } cmi := clientset.CoreV1().ConfigMaps(ar.Request.Namespace) - if cmi == nil { - err = fmt.Errorf("why cmi is nil") - klog.Error(err) - return toV1AdmissionResponse(err) - } - _, err = cmi.Get(context.Background(), config.ConfigMapPodTrafficManager, metav1.GetOptions{}) - if err != nil { - klog.Error(err) - return toV1AdmissionResponse(err) - } dhcp := handler.NewDHCPManager(cmi, ar.Request.Namespace, &net.IPNet{IP: config.RouterIP, Mask: config.CIDR.Mask}) random, err := dhcp.RentIPRandom() if err != nil { @@ -81,15 +70,18 @@ func admitPods(ar v1.AdmissionReview) *v1.AdmissionResponse { } } } - fmt.Println(found) if found { to, _ := json.Marshal(pod) patch, _ := jsonpatch.CreatePatch(from, to) marshal, _ := json.Marshal(patch) - return applyPodPatch(ar, func(pod *corev1.Pod) bool { - name, _ := podcmd.FindContainerByName(pod, config.ContainerSidecarVPN) - return name != nil - }, string(marshal)) + return applyPodPatch( + ar, + func(pod *corev1.Pod) bool { + name, _ := podcmd.FindContainerByName(pod, config.ContainerSidecarVPN) + return name != nil + }, + string(marshal), + ) } return &v1.AdmissionResponse{ Allowed: true, @@ -112,11 +104,6 @@ func admitPods(ar v1.AdmissionReview) *v1.AdmissionResponse { return toV1AdmissionResponse(err) } cmi := clientset.CoreV1().ConfigMaps(ar.Request.Namespace) - if cmi == nil { - err = fmt.Errorf("why cmi is nil") - klog.Error(err) - return toV1AdmissionResponse(err) - } ipnet := &net.IPNet{ IP: ip, Mask: cidr.Mask, @@ -134,7 +121,9 @@ func admitPods(ar v1.AdmissionReview) *v1.AdmissionResponse { Allowed: true, } default: - return toV1AdmissionResponse(fmt.Errorf("expect operation is %s or %s, not %s", v1.Create, v1.Delete, ar.Request.Operation)) + err := fmt.Errorf("expect operation is %s or %s, not %s", v1.Create, v1.Delete, ar.Request.Operation) + klog.Error(err) + return toV1AdmissionResponse(err) } }