diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py index a5ca637d157b6da321aa4218c22acdee48974e0e..efef3e65f8d492b300a6e719457468b91c6c92d8 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"])