File tree Expand file tree Collapse file tree 1 file changed +21
-3
lines changed
src/DIRAC/Resources/Computing Expand file tree Collapse file tree 1 file changed +21
-3
lines changed Original file line number Diff line number Diff line change 14
14
import io
15
15
import json
16
16
import os
17
+ import re
17
18
import shutil
18
19
import sys
19
20
import tempfile
85
86
"""
86
87
87
88
89
+ ENV_VAR_WHITELIST = [
90
+ r"TERM" ,
91
+ r"VOMS_.*" ,
92
+ r"X509_.*" ,
93
+ r"XRD_.*" ,
94
+ r"Xrd.*" ,
95
+ r"DIRAC_.*" ,
96
+ r"BEARER_TOKEN.*" ,
97
+ ]
98
+ ENV_VAR_WHITELIST = re .compile (r"^(" + r"|" .join (ENV_VAR_WHITELIST ) + r")$" )
99
+
100
+
88
101
class SingularityComputingElement (ComputingElement ):
89
102
"""A Computing Element for running a job within a Singularity container."""
90
103
@@ -311,12 +324,17 @@ def __getEnv(self):
311
324
"""Gets the environment for use within the container.
312
325
We blank almost everything to prevent contamination from the host system.
313
326
"""
314
- payloadEnv = {}
315
- if "TERM" in os .environ :
316
- payloadEnv ["TERM" ] = os .environ ["TERM" ]
327
+
328
+ if not self .__installDIRACInContainer :
329
+ payloadEnv = {k : v for k , v in os .environ .items () if ENV_VAR_WHITELIST .match (k )}
330
+ else :
331
+ payloadEnv = {}
332
+
317
333
payloadEnv ["TMP" ] = "/tmp"
318
334
payloadEnv ["TMPDIR" ] = "/tmp"
319
335
payloadEnv ["X509_USER_PROXY" ] = os .path .join (self .__innerdir , "proxy" )
336
+ payloadEnv ["DIRACSYSCONFIG" ] = os .path .join (self .__innerdir , "pilot.cfg" )
337
+
320
338
return payloadEnv
321
339
322
340
@staticmethod
You can’t perform that action at this time.
0 commit comments