Crunch2 run

This program runs on a worker host. It is invoked by Crunch2 dispatch (possibly via slurm or ssh). Its responsibilities include:
  • Retrieve the Container record with the given UUID
  • Load the specified docker image from Keep
  • Translate the Container specification to a "docker run" command line
  • Start arv-mount on the host (if required by the container) and shutting it down when the container exits
  • Impose runtime constraints, using "docker run" arguments and other facilities
  • Report resources used by the container while it runs (presumably using crunchstat)
  • Update the Container record to reflect the actual state of the container (progress/completion)
  • Forward the container's stderr output to the Arvados API as Log entries (subject to configurable throttle)
  • Save the container's output in the Container record (if applicable)

See Containers API