Merge "Switch phase commands to use refactored command objects"

This commit is contained in:
Zuul 2020-09-14 19:57:24 +00:00 committed by Gerrit Code Review
commit 5627d47074
2 changed files with 10 additions and 33 deletions
cmd/phase

@ -15,13 +15,10 @@
package phase
import (
"fmt"
"github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/config"
"opendev.org/airship/airshipctl/pkg/phase"
"opendev.org/airship/airshipctl/pkg/util"
)
const (
@ -34,30 +31,15 @@ are executed in parallel.
// NewPlanCommand creates a command which prints available phases
func NewPlanCommand(cfgFactory config.Factory) *cobra.Command {
p := &phase.PlanCommand{Factory: cfgFactory}
planCmd := &cobra.Command{
Use: "plan",
Short: "List phases",
Long: cmdLong[1:],
RunE: func(cmd *cobra.Command, args []string) error {
cfg, err := cfgFactory()
if err != nil {
return err
}
p := &phase.Cmd{Config: cfg}
phases, err := p.Plan()
if err != nil {
return err
}
tw := util.NewTabWriter(cmd.OutOrStdout())
defer tw.Flush()
fmt.Fprintf(tw, "GROUP\tPHASE\n")
for group, phaseList := range phases {
fmt.Fprintf(tw, "%s\t\n", group)
for _, phase := range phaseList {
fmt.Fprintf(tw, "\t%s\n", phase)
}
}
return nil
p.Writer = cmd.OutOrStdout()
return p.RunE()
},
}
return planCmd

@ -18,8 +18,6 @@ import (
"github.com/spf13/cobra"
"opendev.org/airship/airshipctl/pkg/config"
"opendev.org/airship/airshipctl/pkg/events"
"opendev.org/airship/airshipctl/pkg/k8s/utils"
"opendev.org/airship/airshipctl/pkg/phase"
)
@ -37,8 +35,9 @@ airshipctl phase run ephemeral-control-plane
// NewRunCommand creates a command to run specific phase
func NewRunCommand(cfgFactory config.Factory) *cobra.Command {
p := &phase.Cmd{
Processor: events.NewDefaultProcessor(utils.Streams()),
p := &phase.RunCommand{
Options: phase.RunFlags{},
Factory: cfgFactory,
}
runCmd := &cobra.Command{
@ -48,17 +47,13 @@ func NewRunCommand(cfgFactory config.Factory) *cobra.Command {
Args: cobra.ExactArgs(1),
Example: runExample,
RunE: func(cmd *cobra.Command, args []string) error {
cfg, err := cfgFactory()
if err != nil {
return err
}
p.Config = cfg
return p.Exec(args[0])
p.Options.PhaseID.Name = args[0]
return p.RunE()
},
}
flags := runCmd.Flags()
flags.BoolVar(
&p.DryRun,
&p.Options.DryRun,
"dry-run",
false,
"simulate phase execution")