From c806ef1d33a260fb736ab0268fbe993314256a4a Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Thu, 3 Jul 2014 10:53:53 -0400 Subject: [PATCH 1/1] "filters" is now propagated through from pipeline component to the job submission. Also added example filter to documentation. no issue # --- doc/api/methods/jobs.html.textile.liquid | 20 ++++++++++++++++++++ sdk/cli/bin/arv-run-pipeline-instance | 8 +------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/doc/api/methods/jobs.html.textile.liquid b/doc/api/methods/jobs.html.textile.liquid index 879feb43af..539a4a0d3c 100644 --- a/doc/api/methods/jobs.html.textile.liquid +++ b/doc/api/methods/jobs.html.textile.liquid @@ -120,6 +120,26 @@ Arvados should re-use a previous job if the "script_version" of the previous job } +The same behavior, using filters: + +
+{
+  "job": {
+    "script": "hash.py",
+    "repository": "you",
+    "script_version": "master",
+    "script_parameters": {
+      "input": "c1bad4b39ca5a924e481008009d94e32+210"
+    }
+  },
+  "filters": [["script", "=", "hash.py"],
+              ["repository", "=", "you"],
+              ["script_version", "in git", "earlier_version_tag"],
+              ["script_version", "not in git", "blacklisted_version_tag"]],
+  "find_or_create": true
+}
+
+ Run the script "crunch_scripts/monte-carlo.py" in the repository "you" using the current "master" commit. Because it is marked as "nondeterministic", this job will not be considered as a suitable candidate for future job submissions that use the "find_or_create" feature.
diff --git a/sdk/cli/bin/arv-run-pipeline-instance b/sdk/cli/bin/arv-run-pipeline-instance
index 8e26600ff1..ed4fbd55f6 100755
--- a/sdk/cli/bin/arv-run-pipeline-instance
+++ b/sdk/cli/bin/arv-run-pipeline-instance
@@ -471,19 +471,13 @@ class WhRunPipelineInstance
             :output_is_persistent => c[:output_is_persistent] || false,
             :runtime_constraints => c[:runtime_constraints],
             :owner_uuid => owner_uuid,
-            # TODO: Delete the following three attributes when
-            # supporting pre-20140418 API servers is no longer
-            # important. New API servers take these as flags that
-            # control behavior of create, rather than job attributes.
-            :minimum_script_version => c[:minimum_script_version],
-            :exclude_script_versions => c[:exclude_minimum_script_versions],
-            :no_reuse => @options[:no_reuse] || c[:nondeterministic],
           }, {
             # This is the right place to put these attributes when
             # dealing with new API servers.
             :minimum_script_version => c[:minimum_script_version],
             :exclude_script_versions => c[:exclude_minimum_script_versions],
             :find_or_create => !(@options[:no_reuse] || c[:nondeterministic]),
+            :filters => c[:filters]
           })
           if job
             debuglog "component #{cname} new job #{job[:uuid]}"
-- 
2.30.2