From bd56bfc9ff11015e9d91eb8781fc48d0987dc108 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Thu, 30 Jun 2016 09:11:13 +0000
Subject: [PATCH] Task #9192: Allow parsets (and thus feedback) to be saved in
 a directory outside the container

---
 CEP/Pipeline/recipes/sip/bin/runPipeline.sh | 10 ++++++++--
 MAC/Services/src/PipelineControl.py         |  2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/CEP/Pipeline/recipes/sip/bin/runPipeline.sh b/CEP/Pipeline/recipes/sip/bin/runPipeline.sh
index 89d5e265711..8c40f4a2247 100755
--- a/CEP/Pipeline/recipes/sip/bin/runPipeline.sh
+++ b/CEP/Pipeline/recipes/sip/bin/runPipeline.sh
@@ -25,6 +25,9 @@ PARSET=
 # Location of pipeline-framework configuration file
 PIPELINE_CONFIG=$LOFARROOT/share/pipeline/pipeline.cfg
 
+# Directory for parset and feedback files
+PARSET_DIR=$LOFARROOT/var/run
+
 # ======= Parse command-line parameters
 
 function usage() {
@@ -33,10 +36,11 @@ function usage() {
   echo "  -o OBSID           Task identifier"
   echo "  -c pipeline.cfg    Override pipeline configuration file (default: $PIPELINE_CONFIG)"
   echo "  -p pipeline.parset Provide parset (default: request through QPID)"
+  echo "  -P dir             Directory to which to save parset and feedback files (default: $PARSET_DIR)"
   exit 1
 }
 
-while getopts "ho:c:p:" opt; do
+while getopts "ho:c:p:P:" opt; do
   case $opt in
     h)  usage
         ;;
@@ -46,6 +50,8 @@ while getopts "ho:c:p:" opt; do
         ;;
     p)  PARSET="$OPTARG"
         ;;
+    P)  PARSET_DIR="$OPTARG"
+        ;;
     \?) error "Invalid option: -$OPTARG"
         ;;
     :)  error "Option requires an argument: -$OPTARG"
@@ -58,7 +64,7 @@ done
 
 if [ -z "$PARSET" ]; then
   # Fetch parset
-  PARSET=${LOFARROOT}/var/run/Observation${OBSID}.parset
+  PARSET=${PARSET_DIR}/Observation${OBSID}.parset
   getOTDBParset -o $OBSID >$PARSET
 fi
 
diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py
index 5a3325d3bc9..f3c535d09b4 100755
--- a/MAC/Services/src/PipelineControl.py
+++ b/MAC/Services/src/PipelineControl.py
@@ -391,7 +391,7 @@ class PipelineControl(OTDBBusListener):
         " -e SLURM_JOB_ID=$SLURM_JOB_ID"
         " -v /data:/data"
         " {image}"
-        " runPipeline.sh -o {obsid} -c /opt/lofar/share/pipeline/pipeline.cfg.{cluster} || exit $?\n"
+        " runPipeline.sh -o {obsid} -c /opt/lofar/share/pipeline/pipeline.cfg.{cluster} -P /data/parsets || exit $?\n"
 
         # notify that we're tearing down
         "{setStatus_completing}\n"
-- 
GitLab