From 2488c1ff5ba35776d3ecc4948747df67ee1752e9 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Thu, 17 Feb 2022 13:27:37 +0100 Subject: [PATCH] fix: do not pass SNAKEMAKE_PROFILE into cluster-submit (#1398) --- snakemake/executors/__init__.py | 5 +++++ tests/test_cluster_statusscript/qsub | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/snakemake/executors/__init__.py b/snakemake/executors/__init__.py index 546b27deef..244a1c2465 100644 --- a/snakemake/executors/__init__.py +++ b/snakemake/executors/__init__.py @@ -1070,12 +1070,17 @@ def run(self, job, callback=None, submit_callback=None, error_callback=None): raise WorkflowError(str(e), rule=job.rule if not job.is_group() else None) try: + # Remove SNAKEMAKE_PROFILE from environment as the snakemake call inside + # of the cluster job must run locally (or complains about missing -j). + env = dict(os.environ.items()) + env.pop("SNAKEMAKE_PROFILE", None) ext_jobid = ( subprocess.check_output( '{submitcmd} "{jobscript}"'.format( submitcmd=submitcmd, jobscript=jobscript ), shell=True, + env=env, ) .decode() .split("\n") diff --git a/tests/test_cluster_statusscript/qsub b/tests/test_cluster_statusscript/qsub index 0bc8aabba4..5857ca5f0c 100755 --- a/tests/test_cluster_statusscript/qsub +++ b/tests/test_cluster_statusscript/qsub @@ -1,4 +1,8 @@ #!/bin/bash +if [[ ! -z "$SNAKEMAKE_PROFILE" ]]; then + >&2 echo "SNAKEMAKE_PROFILE should not be set" + exit 1 +fi echo `date` >> qsub.log tail -n1 $1 >> qsub.log # simulate printing of job id by a random number