Feature #7816

Updated by Peter Amstutz almost 6 years ago

This program runs on a worker host. It will be is invoked by the future Crunch2 dispatcher. dispatcher (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 or invoke the container via Docker SDK
# Forward the executor's logging and container's stdout, stderr to the Arvados API as Log entries and to a collection
# Update the Container record to reflect the actual state of the container (progress/completion), exit code, logs
# Testing for all above features

Not included in this story:

* Start arv-mount on the host (if required by the container) and shutting it down when the container exits (#8015)
* Impose runtime constraints, using "docker run" arguments and other facilities (#8017)
* Report resources used by the container while it runs (presumably using crunchstat) (#8016)
* Save the container's output in the Container record (except logs) (#8020)
* log throttling (#8019)
* retry failure (#8018)

See [[Containers API]]