From f09ff8030619f497a257faaa0ce9ec64d6b4da10 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Thu, 11 Aug 2016 09:28:58 +0000
Subject: [PATCH] Task #8475: Use LOFAR_TAG as default docker tag if none
 specified in softwareVersion key

---
 MAC/Services/src/PipelineControl.py | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py
index a5ca637d157..efef3e65f8d 100755
--- a/MAC/Services/src/PipelineControl.py
+++ b/MAC/Services/src/PipelineControl.py
@@ -190,10 +190,22 @@ class Parset(dict):
   def defaultDockerImage():
     return runCommand("docker-template", "lofar-pipeline:${LOFAR_TAG}")
 
+  @staticmethod
+  def defaultDockerTag():
+    return runCommand("docker-template", "${LOFAR_TAG}")
+
   def dockerImage(self):
     # Return the version set in the parset, and fall back to our own version.
-    return (self[PARSET_PREFIX + "Observation.ObservationControl.PythonControl.softwareVersion"] or
-            self.defaultDockerImage())
+    image = self[PARSET_PREFIX + "Observation.ObservationControl.PythonControl.softwareVersion"]
+
+    if not image:
+       return self.defaultDockerImage()
+
+    if ":" in image:
+       return image
+
+    # Insert our tag by default
+    return "%s:%s" % (image, self.defaultDockerTag())
 
   def otdbId(self):
     return int(self[PARSET_PREFIX + "Observation.otdbID"])
-- 
GitLab