From e509bffcb5f4dc4207ff18f3ec4ec03f3ed17b02 Mon Sep 17 00:00:00 2001 From: Pavel Vorobyov Date: Fri, 27 Sep 2019 15:36:20 +0300 Subject: [PATCH] more runcmd logging --- go.sum | 3 +++ remote/runcmd.go | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/go.sum b/go.sum index 336eef4..de605d6 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,7 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWs github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/creack/pty v1.1.7 h1:6pwm8kMQKCmgUg0ZHTm5+/YvRK0s3THD/28+T6/kk4A= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -32,6 +33,7 @@ github.com/viert/sekwence v0.0.0-20190110111110-24bab1ce82a0/go.mod h1:zPZmp3wod golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392 h1:ACG4HJsFiNMf47Y4PeRoebLNy/2lXT9EtprMuTFWt1M= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20190926180335-cea2066c6411 h1:kuW9k4QvBJpRjC3rxEytsfIYPs8oGY3Jw7iR36h0FIY= golang.org/x/crypto v0.0.0-20190926180335-cea2066c6411/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -47,6 +49,7 @@ golang.org/x/sys v0.0.0-20190924062700-2aa67d56cdd7 h1:9Vs0Vm0p/0tnWLBWn79aav6fp golang.org/x/sys v0.0.0-20190924062700-2aa67d56cdd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe h1:6fAMxZRR6sl1Uq8U61gxU+kPTs2tR8uOySCbBP7BN/M= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190927073244-c990c680b611 h1:q9u40nxWT5zRClI/uU9dHCiYGottAg6Nzz4YUQyHxdA= golang.org/x/sys v0.0.0-20190927073244-c990c680b611/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/remote/runcmd.go b/remote/runcmd.go index 3187540..4ec9842 100644 --- a/remote/runcmd.go +++ b/remote/runcmd.go @@ -26,12 +26,14 @@ func (w *Worker) runcmd(task *Task) int { ptmx, err := pty.Start(cmd) if err != nil { + log.Debugf("WRK[%d]: Error creating ptmx: %v", w.id, err) return ErrTerminalError } defer ptmx.Close() fd, err := poller.NewFD(int(ptmx.Fd())) if err != nil { + log.Debugf("WRK[%d]: Error creating poller FD: %v", w.id, err) return ErrTerminalError } defer fd.Close() @@ -64,6 +66,7 @@ execLoop: if err != nil { if err != poller.ErrTimeout { // EOF, done + log.Debugf("WRK[%d]: error reading process output: %v", w.id, err) break } else { continue @@ -82,7 +85,10 @@ execLoop: // Trying to find Password prompt in first 5 chunks of data from server if msgCount < 5 { if !passwordSent && exPasswdPrompt.Match(chunk) { - ptmx.Write([]byte(password + "\n")) + _, err := ptmx.Write([]byte(password + "\n")) + if err != nil { + log.Debugf("WRK[%d]: Error sending password: %v", w.id, err) + } passwordSent = true shouldSkipEcho = true continue @@ -120,7 +126,10 @@ execLoop: exitCode := 0 if taskForceStopped { - cmd.Process.Kill() + err = cmd.Process.Kill() + if err != nil { + log.Debugf("WRK[%d]: Error killing the process: %v", w.id, err) + } exitCode = ErrForceStop log.Debugf("WRK[%d]: Task on %s was force stopped", w.id, task.Hostname) }