9751: Provide make_fs_access=CollectionFsAccess and bump cwltool pin.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 10 Aug 2016 15:51:44 +0000 (11:51 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 11 Aug 2016 19:50:37 +0000 (15:50 -0400)
build/run-build-packages.sh
sdk/cwl/arvados_cwl/__init__.py
sdk/cwl/arvados_cwl/fsaccess.py
sdk/cwl/setup.py

index e1c0ac3f1631a292c43d23c32a0d29303605f3df..fec4950036b969f70027efbd410050d971e4209e 100755 (executable)
@@ -467,7 +467,7 @@ fpm_build schema_salad "" "" python 1.14.20160708181155
 fpm_build ruamel.yaml "" "" python 0.11.11 --python-setup-py-arguments "--single-version-externally-managed"
 
 # And for cwltool we have the same problem as for schema_salad. Ward, 2016-03-17
-fpm_build cwltool "" "" python 1.0.20160726135535
+fpm_build cwltool "" "" python 1.0.20160810161358
 
 # FPM eats the trailing .0 in the python-rdflib-jsonld package when built with 'rdflib-jsonld>=0.3.0'. Force the version. Ward, 2016-03-25
 fpm_build rdflib-jsonld "" "" python 0.3.0
index 99db9f1026863d4f1bf4def8fae92223ca7afdfd..7bd9df344cb927713fcafb6d1ff98ad68adb1cc2 100644 (file)
@@ -9,6 +9,7 @@ import os
 import sys
 import threading
 import hashlib
+from functools import partial
 import pkg_resources  # part of setuptools
 
 from cwltool.errors import WorkflowException
@@ -113,7 +114,6 @@ class ArvCwlRunner(object):
         useruuid = self.api.users().current().execute()["uuid"]
         self.project_uuid = kwargs.get("project_uuid") if kwargs.get("project_uuid") else useruuid
         self.pipeline = None
-        self.fs_access = CollectionFsAccess(kwargs["basedir"], api_client=self.api)
 
         if kwargs.get("create_template"):
             tmpl = RunnerTemplate(self, tool, job_order, kwargs.get("enable_reuse"))
@@ -124,7 +124,7 @@ class ArvCwlRunner(object):
         self.debug = kwargs.get("debug")
         self.ignore_docker_for_reuse = kwargs.get("ignore_docker_for_reuse")
 
-        kwargs["fs_access"] = self.fs_access
+        self.fs_access = kwargs["make_fs_access"](kwargs["basedir"])
         kwargs["enable_reuse"] = kwargs.get("enable_reuse")
         kwargs["use_container"] = True
         kwargs["tmpdir_prefix"] = "tmp"
@@ -341,4 +341,5 @@ def main(args, stdout, stderr, api_client=None):
                              executor=runner.arvExecutor,
                              makeTool=runner.arvMakeTool,
                              versionfunc=versionstring,
-                             job_order_object=job_order_object)
+                             job_order_object=job_order_object,
+                             make_fs_access=partial(CollectionFsAccess, api_client=api_client))
index d2d38b00c35a89f2a1a1f179a0468b821e48670a..4b129cc6c121ce2c305358df6c73382a145fb81b 100644 (file)
@@ -1,14 +1,14 @@
 import fnmatch
 import os
 
-import cwltool.process
+import cwltool.stdfsaccess
 from cwltool.pathmapper import abspath
 
 import arvados.util
 import arvados.collection
 import arvados.arvfile
 
-class CollectionFsAccess(cwltool.process.StdFsAccess):
+class CollectionFsAccess(cwltool.stdfsaccess.StdFsAccess):
     """Implement the cwltool FsAccess interface for Arvados Collections."""
 
     def __init__(self, basedir, api_client=None):
index 9fcbdd7bb419a33106bd6ad743900e26e07fcd7b..60ea7abd9448b9b8ce67f5fe7032db080ee0316b 100644 (file)
@@ -32,7 +32,7 @@ setup(name='arvados-cwl-runner',
       # Make sure to update arvados/build/run-build-packages.sh as well
       # when updating the cwltool version pin.
       install_requires=[
-          'cwltool==1.0.20160726135535',
+          'cwltool==1.0.20160810161358',
           'arvados-python-client>=0.1.20160714204738',
       ],
       data_files=[