From 9badd05327bc3a1a96c828de3c32dc8101be77cc Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 19 Nov 2017 12:29:00 +0100 Subject: vm/gce: provide VM console output on boot failures "can't ssh into the instance" is not a very useful error. --- pkg/gce/gce.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'pkg/gce') diff --git a/pkg/gce/gce.go b/pkg/gce/gce.go index e8ad084e6..c08ae5519 100644 --- a/pkg/gce/gce.go +++ b/pkg/gce/gce.go @@ -228,6 +228,16 @@ func (ctx *Context) DeleteImage(imageName string) error { return nil } +func (ctx *Context) GetSerialPortOutput(instance string) (string, error) { + <-ctx.apiRateGate + output, err := ctx.computeService.Instances.GetSerialPortOutput( + ctx.ProjectID, ctx.ZoneID, instance).Port(1).Do() + if err != nil { + return "", fmt.Errorf("failed to get serial port output: %v", err) + } + return output.Contents, nil +} + type resourcePoolExhaustedError string func (err resourcePoolExhaustedError) Error() string { -- cgit mrf-deployment