From 1faeb36d379e609ae1814c084bee959754c857da Mon Sep 17 00:00:00 2001 From: Peter Rifel Date: Fri, 17 Jul 2020 10:55:59 -0500 Subject: [PATCH] Address feedback and test failures --- cmd/kops/toolbox_dump.go | 2 +- docs/cli/kops_toolbox_dump.md | 1 + hack/.packages | 1 + pkg/dump/dumper.go | 11 ++++++----- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmd/kops/toolbox_dump.go b/cmd/kops/toolbox_dump.go index 82757d5f7e..0014702924 100644 --- a/cmd/kops/toolbox_dump.go +++ b/cmd/kops/toolbox_dump.go @@ -150,7 +150,7 @@ func RunToolboxDump(ctx context.Context, f *util.Factory, out io.Writer, options } // TODO: We need to find the correct SSH user, ideally per IP - sshUser := "admin" + sshUser := "ubuntu" sshConfig := &ssh.ClientConfig{ User: sshUser, Auth: []ssh.AuthMethod{ diff --git a/docs/cli/kops_toolbox_dump.md b/docs/cli/kops_toolbox_dump.md index 5cfe18ca01..d7d5d07767 100644 --- a/docs/cli/kops_toolbox_dump.md +++ b/docs/cli/kops_toolbox_dump.md @@ -23,6 +23,7 @@ kops toolbox dump [flags] ### Options ``` + --dir string target directory; if specified will collect logs and other information. -h, --help help for dump -o, --output string output format. One of: yaml, json (default "yaml") ``` diff --git a/hack/.packages b/hack/.packages index 740757f37a..812b6b95ab 100644 --- a/hack/.packages +++ b/hack/.packages @@ -79,6 +79,7 @@ k8s.io/kops/pkg/commands k8s.io/kops/pkg/configbuilder k8s.io/kops/pkg/diff k8s.io/kops/pkg/dns +k8s.io/kops/pkg/dump k8s.io/kops/pkg/edit k8s.io/kops/pkg/featureflag k8s.io/kops/pkg/flagbuilder diff --git a/pkg/dump/dumper.go b/pkg/dump/dumper.go index f27d242e44..680ac400eb 100644 --- a/pkg/dump/dumper.go +++ b/pkg/dump/dumper.go @@ -20,15 +20,16 @@ import ( "bytes" "context" "fmt" - "golang.org/x/crypto/ssh" "io" - corev1 "k8s.io/api/core/v1" - "k8s.io/klog" "log" "net" "os" "path/filepath" "strings" + + "golang.org/x/crypto/ssh" + corev1 "k8s.io/api/core/v1" + "k8s.io/klog" ) // logDumper gets all the nodes from a kubernetes cluster and dumps a well-known set of logs @@ -235,7 +236,7 @@ func (n *logDumperNode) dump(ctx context.Context) []error { errors = append(errors, err) } - // Capture logs from any systemd services in our list, that are registered + // Capture logs from any systemd services in our list that are registered services, err := n.listSystemdUnits(ctx) if err != nil { errors = append(errors, fmt.Errorf("error listing systemd services: %v", err)) @@ -262,7 +263,7 @@ func (n *logDumperNode) dump(ctx context.Context) []error { if !strings.HasPrefix(f, prefix) { continue } - if err := n.shellToFile(ctx, "sudo cat "+f, filepath.Join(n.dir, filepath.Base(f))); err != nil { + if err := n.shellToFile(ctx, "sudo cat '"+strings.ReplaceAll(f, "'", "'\\''")+"'", filepath.Join(n.dir, filepath.Base(f))); err != nil { errors = append(errors, err) } }