14198: Bringing unit tests up to date WIP
[arvados.git] / sdk / cwl / arvados_cwl / arvjob.py
index 2d112c87a7c5affa2b6d490e526ae1e2d2aea28b..189282ec281dd8c1966e6434bbc7221e9a557dce 100644 (file)
@@ -6,7 +6,6 @@ import logging
 import re
 import copy
 import json
-import datetime
 import time
 
 from cwltool.process import shortname, UnsupportedRequirement
@@ -19,6 +18,7 @@ from cwltool.job import JobBase
 
 from schema_salad.sourceline import SourceLine
 
+import arvados_cwl.util
 import ruamel.yaml as yaml
 
 import arvados.collection
@@ -77,8 +77,9 @@ class ArvadosJob(JobBase):
 
                 if vwd:
                     with Perf(metrics, "generatefiles.save_new %s" % self.name):
-                        info = self._get_intermediate_collection_info()
+                        info = get_intermediate_collection_info(self.name, None, runtimeContext.intermediate_output_ttl)
                         vwd.save_new(name=info["name"],
+                                     owner_uuid=self.arvrunner.project_uuid,
                                      ensure_unique_name=True,
                                      trash_at=info["trash_at"],
                                      properties=info["properties"])
@@ -282,26 +283,6 @@ class ArvadosJob(JobBase):
         finally:
             self.output_callback(outputs, processStatus)
 
-    def _get_intermediate_collection_info(self):
-            trash_time = None
-            if self.arvrunner.intermediate_output_ttl > 0:
-                trash_time = datetime.datetime.now() + datetime.timedelta(seconds=self.arvrunner.intermediate_output_ttl)
-
-            current_container_uuid = None
-            try:
-                current_container = self.arvrunner.api.containers().current().execute(num_retries=self.arvrunner.num_retries)
-                current_container_uuid = current_container['uuid']
-            except ApiError as e:
-                # Status code 404 just means we're not running in a container.
-                if e.resp.status != 404:
-                    logger.info("Getting current container: %s", e)
-            props = {"type": "Intermediate",
-                          "container": current_container_uuid}
-
-            return {"name" : "Intermediate collection",
-                    "trash_at" : trash_time,
-                    "properties" : props}
-
 
 class RunnerJob(Runner):
     """Submit and manage a Crunch job that runs crunch_scripts/cwl-runner."""