Skip to content

Commit a2ffd1e

Browse files
authored
[rqd] Allow customizing HOME and MAIL environments (#1579)
SPI's environment requires customized home and email directories that need to be set on the frame environment variable. This change allows it to be set on rqd.conf as `RQD_CUSTOM_HOME_PREFIX` and `RQD_CUSTOM_MAIL_PREFIX`
1 parent bac859f commit a2ffd1e

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

rqd/rqd/rqconstants.py

+7
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@
7272
# Copy specific environment variable from the RQD host to the frame env.
7373
RQD_HOST_ENV_VARS = []
7474

75+
RQD_CUSTOM_HOME_PREFIX = None
76+
RQD_CUSTOM_MAIL_PREFIX = None
77+
7578
RQD_BECOME_JOB_USER = True
7679
RQD_CREATE_USER_IF_NOT_EXISTS = True
7780
SENTRY_DSN_PATH = None
@@ -226,6 +229,10 @@
226229
SENTRY_DSN_PATH = config.getint(__override_section, "SENTRY_DSN_PATH")
227230
if config.has_option(__override_section, "SP_OS"):
228231
SP_OS = config.get(__override_section, "SP_OS")
232+
if config.has_option(__override_section, "RQD_CUSTOM_HOME_PREFIX"):
233+
RQD_CUSTOM_HOME_PREFIX = config.get(__override_section, "RQD_CUSTOM_HOME_PREFIX")
234+
if config.has_option(__override_section, "RQD_CUSTOM_MAIL_PREFIX"):
235+
RQD_CUSTOM_MAIL_PREFIX = config.get(__override_section, "RQD_CUSTOM_MAIL_PREFIX")
229236

230237
if config.has_section(__host_env_var_section):
231238
RQD_HOST_ENV_VARS = config.options(__host_env_var_section)

rqd/rqd/rqcore.py

+10
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@ def __createEnvVariables(self):
9898
self.frameEnv["CUE_GPU_MEMORY"] = str(self.rqCore.machine.getGpuMemoryFree())
9999
self.frameEnv["SP_NOMYCSHRC"] = "1"
100100

101+
if rqd.rqconstants.RQD_CUSTOM_HOME_PREFIX:
102+
self.frameEnv["HOME"] = "%s/%s" % (
103+
rqd.rqconstants.RQD_CUSTOM_HOME_PREFIX,
104+
self.runFrame.user_name)
105+
106+
if rqd.rqconstants.RQD_CUSTOM_MAIL_PREFIX:
107+
self.frameEnv["MAIL"] = "%s/%s" % (
108+
rqd.rqconstants.RQD_CUSTOM_MAIL_PREFIX,
109+
self.runFrame.user_name)
110+
101111
if platform.system() == "Windows":
102112
for variable in ["SYSTEMROOT", "APPDATA", "TMP", "COMMONPROGRAMFILES", "SYSTEMDRIVE"]:
103113
if variable in os.environ:

0 commit comments

Comments
 (0)