Project

General

Profile

Feature #7816

Updated by Peter Amstutz almost 9 years ago

This program runs on a worker host. It is invoked by the Crunch2 dispatcher (possibly via slurm or ssh). Its responsibilities include: 

 # 


 (03:21:05 PM) tetron_: (3) run the thing specified by "command" 
 (03:21:20 PM) tetron_: run "command" in the container, I should say 
 (03:21:47 PM) tetron_: (4) update the container record when done (need to add at least an "exit code" field) 
 (03:22:26 PM) tetron_: (5) log the activity of the executor and the container (separately) 
 (03:23:25 PM) tetron_: (6) test all the above functionality 
 (03:24:31 PM) tetron_: not includes: mount points, stats, runtime constraints, error handling (?)  

 * 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]] 

Back