4126: a-r-p-i dereferences parameter values when creating jobs.
authorBrett Smith <brett@curoverse.com>
Tue, 14 Oct 2014 20:15:16 +0000 (16:15 -0400)
committerTom Clegg <tom@curoverse.com>
Wed, 15 Oct 2014 17:53:36 +0000 (13:53 -0400)
Refs #4126.  This is required to run jobs.

sdk/cli/bin/arv-run-pipeline-instance

index e6ec7e56d004088c9c564e2e458fabcb3974f264..b70fd7dad62d38445f2b9822e8bf28066eac3bf1 100755 (executable)
@@ -520,7 +520,9 @@ class WhRunPipelineInstance
           my_submit_id = "instance #{@instance[:uuid]} rand #{rand(2**64).to_s(36)}"
           job = JobCache.create(@instance, cname, {
             :script => c[:script],
-            :script_parameters => c[:script_parameters],
+            :script_parameters => Hash[c[:script_parameters].map do |key, spec|
+                                         [key, spec[:value]]
+                                       end],
             :script_version => c[:script_version],
             :repository => c[:repository],
             :nondeterministic => c[:nondeterministic],
@@ -596,7 +598,7 @@ class WhRunPipelineInstance
               c2[:script_parameters].each do |pname, p|
                 if p.is_a? Hash and p[:output_of] == cname.to_s
                   debuglog "parameter #{c2name}::#{pname} == #{c[:job][:output]}"
-                  c2[:script_parameters][pname] = c[:job][:output]
+                  c2[:script_parameters][pname] = {value: c[:job][:output]}
                   moretodo = true
                 end
               end