[ARVADOS] updated: 6bb1e16453ba2464a8739d754b61bf69a6c5c581

git at public.curoverse.com git at public.curoverse.com
Thu Sep 4 11:26:34 EDT 2014


Summary of changes:
 sdk/python/arvados/commands/copy.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

       via  6bb1e16453ba2464a8739d754b61bf69a6c5c581 (commit)
      from  e1ce0f420a72a205a81ee0b52ea04eaf2fb047d8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 6bb1e16453ba2464a8739d754b61bf69a6c5c581
Author: Tim Pierce <twp at curoverse.com>
Date:   Thu Sep 4 11:24:04 2014 -0400

    3699: copy docker images
    
    A Docker image dependency is specified, for each component c in
    pipeline_instance['components'], as c['job']['docker_image_locator'].
    This field is a collection hash for a collection that holds a Docker
    image file.
    
    copy_pipeline_instance copies the collections found in these fields as
    well as the input collection dependencies found in c['job']['dependencies'].

diff --git a/sdk/python/arvados/commands/copy.py b/sdk/python/arvados/commands/copy.py
index 4c33c9b..a6327bd 100755
--- a/sdk/python/arvados/commands/copy.py
+++ b/sdk/python/arvados/commands/copy.py
@@ -154,14 +154,19 @@ def copy_pipeline_instance(obj_uuid, src=None, dst=None):
     # Fetch the pipeline instance record.
     pi = src.pipeline_instances().get(uuid=obj_uuid).execute()
 
-    # Copy input collections (collections listed as job dependencies
-    # for any of the pipeline's components)
+    # Copy input collections and docker images:
+    # For each component c in the pipeline, add any
+    # collection hashes found in c['job']['dependencies']
+    # and c['job']['docker_image_locator'].
     #
     input_collections = sets.Set()
     for cname in pi['components']:
-        comp = pi['components'][cname]
-        for c in comp['job']['dependencies']:
-            input_collections.add(c)
+        job = pi['components'][cname]['job']
+        for dep in job['dependencies']:
+            input_collections.add(dep)
+        docker = job.get('docker_image_locator', None)
+        if docker:
+            input_collections.add(docker)
 
     for c in input_collections:
         copy_collection(c, src, dst)

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list