From: Tom Clegg Date: Tue, 15 Sep 2020 14:49:13 +0000 (-0400) Subject: 16834: Comments about parsing "crunch-run --list" output. X-Git-Tag: 2.1.0~63^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/6e56f24fcafcefbe6209a9ef53d784aef16c9711 16834: Comments about parsing "crunch-run --list" output. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/lib/dispatchcloud/worker/worker.go b/lib/dispatchcloud/worker/worker.go index f903c0a5a1..517a5d193e 100644 --- a/lib/dispatchcloud/worker/worker.go +++ b/lib/dispatchcloud/worker/worker.go @@ -386,9 +386,23 @@ func (wkr *worker) probeRunning() (running []string, reportsBroken, ok bool) { staleRunLock := false for _, s := range strings.Split(string(stdout), "\n") { - if s == "broken" { + // Each line of the "crunch-run --list" output is one + // of the following: + // + // * a container UUID, indicating that processes + // related to that container are currently running. + // Optionally followed by " stale", indicating that + // the crunch-run process itself has exited (the + // remaining process is probably arv-mount). + // + // * the string "broken", indicating that the instance + // appears incapable of starting containers. + // + // See ListProcesses() in lib/crunchrun/background.go. + if s == "" { + // empty string following final newline + } else if s == "broken" { reportsBroken = true - } else if s == "" { } else if toks := strings.Split(s, " "); len(toks) == 1 { running = append(running, s) } else if toks[1] == "stale" {