Compute correct arvados-cwl-runner version, refs #10194
[arvados.git] / services / crunch-run / crunchrun.go
index d804c01cad16700bc2b9ca52e3ff561499328095..0b59a3bb78c1b0c8919f198f5c34cc94ed00d5a9 100644 (file)
@@ -563,6 +563,21 @@ func (runner *ContainerRunner) CaptureOutput() error {
                return nil
        }
 
+       if wantAPI := runner.Container.RuntimeConstraints.API; wantAPI != nil && *wantAPI {
+               // Output may have been set directly by the container, so
+               // refresh the container record to check.
+               err := runner.ArvClient.Get("containers", runner.Container.UUID,
+                       nil, &runner.Container)
+               if err != nil {
+                       return err
+               }
+               if runner.Container.Output != "" {
+                       // Container output is already set.
+                       runner.OutputPDH = &runner.Container.Output
+                       return nil
+               }
+       }
+
        if runner.HostOutputDir == "" {
                return nil
        }