Merge "Move config init and load from root cmd level"

This commit is contained in:
Zuul
2020-05-12 17:49:45 +00:00
committed by Gerrit Code Review
6 changed files with 44 additions and 16 deletions

View File

@@ -18,6 +18,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/log"
"opendev.org/airship/airshipctl/pkg/remote" "opendev.org/airship/airshipctl/pkg/remote"
) )
@@ -36,33 +37,39 @@ const (
// NewBaremetalCommand creates a new command for interacting with baremetal using airshipctl. // NewBaremetalCommand creates a new command for interacting with baremetal using airshipctl.
func NewBaremetalCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Command { func NewBaremetalCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Command {
cmd := &cobra.Command{ baremetalRootCmd := &cobra.Command{
Use: "baremetal", Use: "baremetal",
Short: "Perform actions on baremetal hosts", Short: "Perform actions on baremetal hosts",
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(rootSettings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
rootSettings.InitConfig()
},
} }
ejectMediaCmd := NewEjectMediaCommand(rootSettings) ejectMediaCmd := NewEjectMediaCommand(rootSettings)
cmd.AddCommand(ejectMediaCmd) baremetalRootCmd.AddCommand(ejectMediaCmd)
isoGenCmd := NewISOGenCommand(rootSettings) isoGenCmd := NewISOGenCommand(rootSettings)
cmd.AddCommand(isoGenCmd) baremetalRootCmd.AddCommand(isoGenCmd)
powerOffCmd := NewPowerOffCommand(rootSettings) powerOffCmd := NewPowerOffCommand(rootSettings)
cmd.AddCommand(powerOffCmd) baremetalRootCmd.AddCommand(powerOffCmd)
powerOnCmd := NewPowerOnCommand(rootSettings) powerOnCmd := NewPowerOnCommand(rootSettings)
cmd.AddCommand(powerOnCmd) baremetalRootCmd.AddCommand(powerOnCmd)
powerStatusCmd := NewPowerStatusCommand(rootSettings) powerStatusCmd := NewPowerStatusCommand(rootSettings)
cmd.AddCommand(powerStatusCmd) baremetalRootCmd.AddCommand(powerStatusCmd)
rebootCmd := NewRebootCommand(rootSettings) rebootCmd := NewRebootCommand(rootSettings)
cmd.AddCommand(rebootCmd) baremetalRootCmd.AddCommand(rebootCmd)
remoteDirectCmd := NewRemoteDirectCommand(rootSettings) remoteDirectCmd := NewRemoteDirectCommand(rootSettings)
cmd.AddCommand(remoteDirectCmd) baremetalRootCmd.AddCommand(remoteDirectCmd)
return cmd return baremetalRootCmd
} }
// getHostSelections builds a list of selectors that can be passed to a manager using the name and label flags passed to // getHostSelections builds a list of selectors that can be passed to a manager using the name and label flags passed to

View File

@@ -18,6 +18,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/log"
) )
const ( const (
@@ -34,6 +35,12 @@ func NewClusterCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Comm
Use: "cluster", Use: "cluster",
Short: "Manage Kubernetes clusters", Short: "Manage Kubernetes clusters",
Long: clusterLong[1:], Long: clusterLong[1:],
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(rootSettings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
rootSettings.InitConfig()
},
} }
clusterRootCmd.AddCommand(NewInitInfraCommand(rootSettings)) clusterRootCmd.AddCommand(NewInitInfraCommand(rootSettings))

View File

@@ -18,6 +18,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/log"
) )
// NewConfigCommand creates a command for interacting with the airshipctl configuration. // NewConfigCommand creates a command for interacting with the airshipctl configuration.
@@ -26,6 +27,12 @@ func NewConfigCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Comma
Use: "config", Use: "config",
DisableFlagsInUseLine: true, DisableFlagsInUseLine: true,
Short: "Manage the airshipctl config file", Short: "Manage the airshipctl config file",
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(rootSettings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
rootSettings.InitConfig()
},
} }
configRootCmd.AddCommand(NewSetClusterCommand(rootSettings)) configRootCmd.AddCommand(NewSetClusterCommand(rootSettings))
configRootCmd.AddCommand(NewGetClusterCommand(rootSettings)) configRootCmd.AddCommand(NewGetClusterCommand(rootSettings))

View File

@@ -18,6 +18,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/log"
) )
// NewDocumentCommand creates a new command for managing airshipctl documents // NewDocumentCommand creates a new command for managing airshipctl documents
@@ -25,6 +26,12 @@ func NewDocumentCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Com
documentRootCmd := &cobra.Command{ documentRootCmd := &cobra.Command{
Use: "document", Use: "document",
Short: "Manage deployment documents", Short: "Manage deployment documents",
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(rootSettings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
rootSettings.InitConfig()
},
} }
documentRootCmd.AddCommand(NewPullCommand(rootSettings)) documentRootCmd.AddCommand(NewPullCommand(rootSettings))

View File

@@ -19,6 +19,7 @@ import (
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/k8s/client" "opendev.org/airship/airshipctl/pkg/k8s/client"
"opendev.org/airship/airshipctl/pkg/log"
) )
const ( const (
@@ -34,6 +35,12 @@ func NewPhaseCommand(rootSettings *environment.AirshipCTLSettings) *cobra.Comman
Use: "phase", Use: "phase",
Short: "Manage phases", Short: "Manage phases",
Long: clusterLong[1:], Long: clusterLong[1:],
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(rootSettings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
rootSettings.InitConfig()
},
} }
phaseRootCmd.AddCommand(NewApplyCommand(rootSettings, client.DefaultClient)) phaseRootCmd.AddCommand(NewApplyCommand(rootSettings, client.DefaultClient))

View File

@@ -30,7 +30,6 @@ import (
"opendev.org/airship/airshipctl/cmd/phase" "opendev.org/airship/airshipctl/cmd/phase"
"opendev.org/airship/airshipctl/cmd/secret" "opendev.org/airship/airshipctl/cmd/secret"
"opendev.org/airship/airshipctl/pkg/environment" "opendev.org/airship/airshipctl/pkg/environment"
"opendev.org/airship/airshipctl/pkg/log"
) )
// NewAirshipCTLCommand creates a root `airshipctl` command with the default commands attached // NewAirshipCTLCommand creates a root `airshipctl` command with the default commands attached
@@ -48,12 +47,6 @@ func NewRootCommand(out io.Writer) (*cobra.Command, *environment.AirshipCTLSetti
Short: "A unified entrypoint to various airship components", Short: "A unified entrypoint to various airship components",
SilenceErrors: true, SilenceErrors: true,
SilenceUsage: true, SilenceUsage: true,
PersistentPreRun: func(cmd *cobra.Command, args []string) {
log.Init(settings.Debug, cmd.OutOrStderr())
// Load or Initialize airship Config
settings.InitConfig()
},
} }
rootCmd.SetOut(out) rootCmd.SetOut(out)
rootCmd.AddCommand(NewVersionCommand()) rootCmd.AddCommand(NewVersionCommand())