From f5eeed0bc23a4db12c824021723b823e0c1d9aea Mon Sep 17 00:00:00 2001 From: Kota Kanbe Date: Wed, 14 Sep 2016 09:35:15 +0900 Subject: [PATCH] Show error when no scannable servers are detected. --- commands/configtest.go | 5 ++++- commands/prepare.go | 6 ++++-- commands/scan.go | 5 ++++- scan/serverapi.go | 6 +++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/commands/configtest.go b/commands/configtest.go index cdab6142..8c97eae2 100644 --- a/commands/configtest.go +++ b/commands/configtest.go @@ -150,7 +150,10 @@ func (p *ConfigtestCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interfa } Log.Info("Detecting Server/Contianer OS... ") - scan.InitServers(Log) + if err := scan.InitServers(Log); err != nil { + Log.Errorf("Failed to init servers: %s", err) + return subcommands.ExitFailure + } Log.Info("Checking sudo configuration... ") if err := scan.CheckIfSudoNoPasswd(Log); err != nil { diff --git a/commands/prepare.go b/commands/prepare.go index c8a67415..5e24719f 100644 --- a/commands/prepare.go +++ b/commands/prepare.go @@ -138,7 +138,10 @@ func (p *PrepareCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{ logger := util.NewCustomLogger(c.ServerInfo{}) logger.Info("Detecting OS... ") - scan.InitServers(logger) + if err := scan.InitServers(logger); err != nil { + logger.Errorf("Failed to init servers: %s", err) + return subcommands.ExitFailure + } logger.Info("Checking sudo configuration... ") if err := scan.CheckIfSudoNoPasswd(logger); err != nil { @@ -154,6 +157,5 @@ func (p *PrepareCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{ return subcommands.ExitFailure } - logger.Info("Success") return subcommands.ExitSuccess } diff --git a/commands/scan.go b/commands/scan.go index a7082b53..2daee210 100644 --- a/commands/scan.go +++ b/commands/scan.go @@ -368,7 +368,10 @@ func (p *ScanCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{}) } Log.Info("Detecting Server/Contianer OS... ") - scan.InitServers(Log) + if err := scan.InitServers(Log); err != nil { + Log.Errorf("Failed to init servers: %s", err) + return subcommands.ExitFailure + } Log.Info("Checking sudo configuration... ") if err := scan.CheckIfSudoNoPasswd(Log); err != nil { diff --git a/scan/serverapi.go b/scan/serverapi.go index 0bbc1d83..4c892181 100644 --- a/scan/serverapi.go +++ b/scan/serverapi.go @@ -170,11 +170,15 @@ func PrintSSHableServerNames() { } // InitServers detect the kind of OS distribution of target servers -func InitServers(localLogger *logrus.Entry) { +func InitServers(localLogger *logrus.Entry) error { Log = localLogger servers = detectServerOSes() + if len(servers) == 0 { + return fmt.Errorf("No scannable servers") + } containers := detectContainerOSes() servers = append(servers, containers...) + return nil } func detectServerOSes() (sshAbleOses []osTypeInterface) {