Project

General

Profile

Container status outcome reporting » History » Version 1

Tom Clegg, 07/09/2018 07:07 PM

1 1 Tom Clegg
h1. Container status / outcome reporting
2
3
Given that some container processes (like arvados-cwl-runner) are aware of Arvados, and API credentials are already made available inside the container, such processes could update their own container records at runtime with information like
4
* Progress info (with more detail than accommodated by the [0,1] range accepted by the "progress" field)
5
* Error summary like "step {foo} failed" or "error in workflow description: ..."
6
* "Container will fail" flag
7
8
The "container will fail" flag, in particular, could be used in a container request's "filters" field to avoid reusing workflow-runner containers that are already known to be in an error state but haven't yet exited non-zero.
9
10
If arvados-cwl-runner establishes some conventions, Workbench and other clients can pass this info on to users when available.
11
12
arvados-cwl-runner, when invoked from CLI, can use the "filters" field in its container request (see [[Containers API]]) to avoid reusing arvados-cwl-runner containers with a non-empty "error" value here.
13
14
h2. Possible examples
15
16
<pre><code class="yaml">
17
{
18
  "error": "step foobar failed: waz not found"
19
}
20
</code></pre>
21
22
<pre><code class="yaml">
23
{
24
  "status": "waiting for jobs to finish",
25
  "jobsComplete": 7,
26
  "jobsWaiting": 3,
27
  "jobsFailed": 0
28
}
29
</code></pre>
30
31
<pre><code class="yaml">
32
{
33
  "status": "reading inputs"
34
}
35
</code></pre>
36
37
System components like crunch-run and crunch-dispatch-slurm might also use this field (or a similar separate system-only field) to report more status/progress detail.
38
39
<pre><code class="yaml">
40
{
41
  "status": "loading docker image"
42
}
43
</code></pre>
44
45
<pre><code class="yaml">
46
{
47
  "status": "flushing logs to Keep"
48
}
49
</code></pre>