From 8288bba27e9beff7273aeb65c5200248e52bab02 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Fri, 24 Jun 2022 01:33:11 -0400 Subject: [PATCH] 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 --- lib/dispatchcloud/worker/worker.go | 6 ++++++ 1 file changed, 6 insertions(+) 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" { -- 2.30.2