Feature #4027
Updated by Tom Clegg almost 10 years ago
During jobs.create and jobs.update, @runtime_constraints['arvados_sdk_version']@ provided by the client should be resolved to a commit hash and stored in @arvados_sdk_hash@.
Example:
In jobs.create request:
* <pre>
"runtime_constraints":{
"arvados_sdk_version":"master"
}
</pre>
In jobs.show response:
* <pre>
"arvados_sdk_hash":"7b2d04380952ac79453bd0771679e40c81281f5c"
"runtime_constraints":{
"arvados_sdk_version":"master"
}
</pre>
During the "install source" phase of crunch-job (i.e., at least once per container before any task runs there), crunch-job should do something like this:
* <pre>
cd {path-to-arvados-tree}
git reset --hard {arvados_sdk_hash}
cd sdk
./install.sh
</pre>
The @sdk/install.sh@ program should install Python, Ruby, and Perl client libraries to the system package directories where they can be imported by Crunch tasks.