Project

General

Profile

Actions

Idea #7582

closed

[CWL] binary run-command shim for CWL

Added by Peter Amstutz over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
10/16/2015
Due date:
Story points:
2.0

Description

CWL jobs are allowed to specify arbitrary Docker containers. In particular, this means depending on our existing run-command script (which depends on the Arvados Python SDK, which itself has long chain of further dependencies) is a non-starter, because we can't assume a friendly environment inside the container.

Implement a simplified run-command (crunch-runner?) in Go that is compiled to a binary with minimum external dependencies that can be loaded into arbitrary containers. This will act as a shim to run the command line generated by CWL and communicate the results to Arvados.

Required features:

  • Run arbitrary program in a subprocess
  • Set environment variables for subprocess
  • Redirect stdin/stdout
  • Optionally symlink input files to output directory
  • Determine success/failure based on exit code
  • Upload contents of output directory to collection
  • Communicate task success/failure to API server along with output collection.

Subtasks 3 (0 open3 closed)

Task #7638: Review 7582-crunch-runnerResolvedPeter Amstutz10/16/2015Actions
Task #7588: Implement crunch-runner in GoResolvedPeter Amstutz10/16/2015Actions
Task #7606: Review 7582-run-any-docker-containerResolvedTom Clegg10/16/2015Actions

Related issues

Related to Arvados - Idea #9397: [Crunch2] Support prepopulating the output directory - CWL InitialWorkDirRequirementResolvedPeter Amstutz01/31/2017Actions
Actions

Also available in: Atom PDF