From 67825dcc066fd41d6c5b46cfd4de8f6e2e28e821 Mon Sep 17 00:00:00 2001 From: Alexander Kanevskiy Date: Thu, 24 Oct 2019 23:58:36 +0300 Subject: [PATCH] Fix admission hook for pods generated by ReplicaSet In the pods generated automatically by Deployment/ReplicaSets fields name and namespace might be missing. We can use information about namespace from request itself. --- cmd/fpga_admissionwebhook/fpga_admissionwebhook.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmd/fpga_admissionwebhook/fpga_admissionwebhook.go b/cmd/fpga_admissionwebhook/fpga_admissionwebhook.go index 7e90cc2e..ccd0e085 100644 --- a/cmd/fpga_admissionwebhook/fpga_admissionwebhook.go +++ b/cmd/fpga_admissionwebhook/fpga_admissionwebhook.go @@ -87,8 +87,17 @@ func mutatePods(ar v1beta1.AdmissionReview, pm *patcherManager) *v1beta1.Admissi fmt.Printf("ERROR: %+v\n", err) return toAdmissionResponse(err) } - debug.Printf("Received pod '%s' in name space '%s'", pod.Name, pod.Namespace) - patcher, err := pm.getPatcher(pod.Namespace) + + namespace := pod.Namespace + if namespace == "" && ar.Request.Namespace != "" { + namespace = ar.Request.Namespace + } + name := pod.Name + if name == "" && pod.ObjectMeta.GenerateName != "" { + name = pod.ObjectMeta.GenerateName + } + debug.Printf("Received pod '%s' in name space '%s'", name, namespace) + patcher, err := pm.getPatcher(namespace) if err != nil { fmt.Printf("ERROR: %+v\n", err) return toAdmissionResponse(err)