From: Tom Clegg Date: Fri, 24 Jun 2022 05:33:11 +0000 (-0400) Subject: Allow multiple clusters to use loopback driver on same host. X-Git-Tag: 2.5.0~132 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/8288bba27e9beff7273aeb65c5200248e52bab02?hp=f70e763f7f989b0becfae6d8eee90e0d475e8ceb Allow multiple clusters to use loopback driver on same host. If they don't ignore foreign UUIDs, they kill one another's processes because A's container is never in B's queue. refs #15370 Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/lib/dispatchcloud/worker/worker.go b/lib/dispatchcloud/worker/worker.go index 1c8d62c20e..b01a820cd6 100644 --- a/lib/dispatchcloud/worker/worker.go +++ b/lib/dispatchcloud/worker/worker.go @@ -418,6 +418,12 @@ func (wkr *worker) probeRunning() (running []string, reportsBroken, ok bool) { // empty string following final newline } else if s == "broken" { reportsBroken = true + } else if !strings.HasPrefix(s, wkr.wp.cluster.ClusterID) { + // Ignore crunch-run processes that belong to + // a different cluster (e.g., a single host + // running multiple clusters with the loopback + // driver) + continue } else if toks := strings.Split(s, " "); len(toks) == 1 { running = append(running, s) } else if toks[1] == "stale" {