@@ -50,14 +50,13 @@ const (
50
50
)
51
51
52
52
type WebHook struct {
53
- clientset kubernetes.Interface
54
- server * http.Server
55
- cert * certBundle
56
- serviceRef * v1beta1.ServiceReference
53
+ clientset kubernetes.Interface
54
+ server * http.Server
55
+ cert * certBundle
56
+ serviceRef * v1beta1.ServiceReference
57
+ sparkJobNamespace string
57
58
}
58
59
59
- var sparkJobNamespace string
60
-
61
60
func New (
62
61
clientset kubernetes.Interface ,
63
62
certDir string ,
@@ -71,13 +70,12 @@ func New(
71
70
caCertFile : filepath .Join (certDir , caCertFile ),
72
71
}
73
72
path := "/webhook"
74
- sparkJobNamespace = jobNamespace
75
73
serviceRef := & v1beta1.ServiceReference {
76
74
Namespace : webhookServiceNamespace ,
77
75
Name : webhookServiceName ,
78
76
Path : & path ,
79
77
}
80
- hook := & WebHook {clientset : clientset , cert : cert , serviceRef : serviceRef }
78
+ hook := & WebHook {clientset : clientset , cert : cert , serviceRef : serviceRef , sparkJobNamespace : jobNamespace }
81
79
82
80
mux := http .NewServeMux ()
83
81
mux .HandleFunc (path , hook .serve )
@@ -151,7 +149,7 @@ func (wh *WebHook) serve(w http.ResponseWriter, r *http.Request) {
151
149
glog .Error (err )
152
150
reviewResponse = toAdmissionResponse (err )
153
151
} else {
154
- reviewResponse = mutatePods (review )
152
+ reviewResponse = mutatePods (review , wh . sparkJobNamespace )
155
153
}
156
154
157
155
response := admissionv1beta1.AdmissionReview {}
@@ -237,7 +235,7 @@ func (wh *WebHook) selfDeregistration(webhookConfigName string) error {
237
235
return client .Delete (webhookConfigName , metav1 .NewDeleteOptions (0 ))
238
236
}
239
237
240
- func mutatePods (review * admissionv1beta1.AdmissionReview ) * admissionv1beta1.AdmissionResponse {
238
+ func mutatePods (review * admissionv1beta1.AdmissionReview , sparkJobNs string ) * admissionv1beta1.AdmissionResponse {
241
239
podResource := metav1.GroupVersionResource {
242
240
Group : corev1 .SchemeGroupVersion .Group ,
243
241
Version : corev1 .SchemeGroupVersion .Version ,
@@ -257,7 +255,7 @@ func mutatePods(review *admissionv1beta1.AdmissionReview) *admissionv1beta1.Admi
257
255
258
256
response := & admissionv1beta1.AdmissionResponse {Allowed : true }
259
257
260
- if ! isSparkPod (pod ) || ! inSparkJobNamespace (review .Request .Namespace ) {
258
+ if ! isSparkPod (pod ) || ! inSparkJobNamespace (review .Request .Namespace , sparkJobNs ) {
261
259
glog .V (2 ).Info (pod .Name , " in namespace " , review .Request .Namespace , " not mutated" )
262
260
return response
263
261
}
@@ -291,7 +289,7 @@ func toAdmissionResponse(err error) *admissionv1beta1.AdmissionResponse {
291
289
}
292
290
}
293
291
294
- func inSparkJobNamespace (podNs string ) bool {
292
+ func inSparkJobNamespace (podNs string , sparkJobNamespace string ) bool {
295
293
if sparkJobNamespace == apiv1 .NamespaceAll {
296
294
return true
297
295
}
0 commit comments