diff --git a/gwsumm/batch.py b/gwsumm/batch.py index 499390bc..f3786df6 100644 --- a/gwsumm/batch.py +++ b/gwsumm/batch.py @@ -42,6 +42,30 @@ __author__ = 'Duncan Macleod ' __credits__ = 'Alex Urban ' +# environment variables to pass to data-processing jobs +GETENV_VARIABLES = [ + # -- IGWN resources + # address of dqsegdb server + "DEFAULT_SEGMENT_SERVER", + # address of gwdatafind server + "GWDATAFIND_SERVER", + # address of NDS2 server + "NDSSERVER", + # -- software stuff + # Conda (to generate package list for HTML) + "CONDA_EXE", + # GWpy customisations + "GWPY*", + # -- Auth handling + # Kerberos + "KRB5*", + # SciTokens + "BEARER_TOKEN*", + "SCITOKEN*", + # X.509 + "X509*", +] + PROG = ('python -m gwsumm.batch' if sys.argv[0].endswith('.py') else os.path.basename(sys.argv[0])) @@ -67,7 +91,6 @@ def __init__(self, universe, tag='gw_summary', logdir, '%s-%s.err' % (tag, self.logtag))) self.set_stdout_file(os.path.join( logdir, '%s-%s.out' % (tag, self.logtag))) - cmds.setdefault('getenv', 'True') for key, val in cmds.items(): if hasattr(self, 'set_%s' % key.lower()): getattr(self, 'set_%s' % key.lower())(val) @@ -524,15 +547,25 @@ def main(args=None): globalconfig = ','.join(args.global_config) jobs = [] + job_kw = { + "subdir": outdir, + "logdir": logdir, + **condorcmds, + } if not args.skip_html_wrapper: htmljob = GWSummaryJob( - 'local', subdir=outdir, logdir=logdir, - tag='%s_local' % args.file_tag, **condorcmds) + 'local', + tag='%s_local' % args.file_tag, + **job_kw, + ) jobs.append(htmljob) if not args.html_wrapper_only: datajob = GWSummaryJob( - universe, subdir=outdir, logdir=logdir, - tag=args.file_tag, **condorcmds) + universe, + tag=args.file_tag, + getenv=" ".join(GETENV_VARIABLES), + **job_kw, + ) jobs.append(datajob) # add common command-line options diff --git a/gwsumm/data/timeseries.py b/gwsumm/data/timeseries.py index 73106938..9d46a05e 100644 --- a/gwsumm/data/timeseries.py +++ b/gwsumm/data/timeseries.py @@ -553,7 +553,7 @@ def _get_timeseries_dict(channels, segments, config=None, if nds is None and cache is not None: nds = False elif nds is None: - nds = 'LIGO_DATAFIND_SERVER' not in os.environ + nds = 'GWDATAFIND_SERVER' not in os.environ # read new data query &= (abs(new) > 0)