This should address a longstanding issue with Darshan not always being able to determine the username associated with a job on Cray systems that use Slurm. Specifically, when Slurm users use the --export option to srun to set additional environment variables, this can wipe out env vars like LOGNAME, which Darshan uses to determine the associated username with a job.
This new configure option allows users to specify additional env vars that can be considered for determining a job's username (e.g., SLURM_JOB_USER). If specified, Darshan will consider this provided env var first.
In my testing on NERSC Cori, this is all working as expected:
if this new config option is not specified, Darshan can not determine the username if the user uses the --export option to srun
if this new config option is set to SLURM_JOB_USER, then Darshan can properly determine the username irrespective of whether the user uses --export
This should address a longstanding issue with Darshan not always being able to determine the username associated with a job on Cray systems that use Slurm. Specifically, when Slurm users use the
--export
option tosrun
to set additional environment variables, this can wipe out env vars likeLOGNAME
, which Darshan uses to determine the associated username with a job.This new configure option allows users to specify additional env vars that can be considered for determining a job's username (e.g.,
SLURM_JOB_USER
). If specified, Darshan will consider this provided env var first.In my testing on NERSC Cori, this is all working as expected:
--export
option tosrun
SLURM_JOB_USER
, then Darshan can properly determine the username irrespective of whether the user uses--export