X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e8f99cfef7cfbfcf1a1485d69250f24ced3fd609..a7da936b6106bff17a7830124b1fd87ff01ad91e:/lib/dispatchcloud/worker/worker.go diff --git a/lib/dispatchcloud/worker/worker.go b/lib/dispatchcloud/worker/worker.go index a0a61c1597..1adc7c29fd 100644 --- a/lib/dispatchcloud/worker/worker.go +++ b/lib/dispatchcloud/worker/worker.go @@ -12,7 +12,7 @@ import ( "git.curoverse.com/arvados.git/lib/cloud" "git.curoverse.com/arvados.git/sdk/go/arvados" - "github.com/Sirupsen/logrus" + "github.com/sirupsen/logrus" ) // State indicates whether a worker is available to do work, and (if @@ -86,7 +86,11 @@ func (wkr *worker) startContainer(ctr arvados.Container) { wkr.starting[ctr.UUID] = struct{}{} wkr.state = StateRunning go func() { - stdout, stderr, err := wkr.executor.Execute("crunch-run --detach '"+ctr.UUID+"'", nil) + env := map[string]string{ + "ARVADOS_API_HOST": wkr.wp.arvClient.APIHost, + "ARVADOS_API_TOKEN": wkr.wp.arvClient.AuthToken, + } + stdout, stderr, err := wkr.executor.Execute(env, "crunch-run --detach '"+ctr.UUID+"'", nil) wkr.mtx.Lock() defer wkr.mtx.Unlock() now := time.Now() @@ -168,7 +172,10 @@ func (wkr *worker) probeAndUpdate() { "Duration": dur, "State": wkr.state, }) - if wkr.state == StateBooting { + if wkr.state == StateBooting && !needProbeRunning { + // If we know the instance has never passed a + // boot probe, it's not noteworthy that it + // hasn't passed this probe. logger.Debug("new instance not responding") } else { logger.Info("instance not responding") @@ -231,7 +238,7 @@ func (wkr *worker) probeAndUpdate() { func (wkr *worker) probeRunning() (running []string, ok bool, stderr []byte) { cmd := "crunch-run --list" - stdout, stderr, err := wkr.executor.Execute(cmd, nil) + stdout, stderr, err := wkr.executor.Execute(nil, cmd, nil) if err != nil { wkr.logger.WithFields(logrus.Fields{ "Command": cmd, @@ -252,7 +259,7 @@ func (wkr *worker) probeBooted() (ok bool, stderr []byte) { if cmd == "" { cmd = "true" } - stdout, stderr, err := wkr.executor.Execute(cmd, nil) + stdout, stderr, err := wkr.executor.Execute(nil, cmd, nil) logger := wkr.logger.WithFields(logrus.Fields{ "Command": cmd, "stdout": string(stdout),