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) {