From 5c6709478b1e4b2f522cfbf33de97519e99f63fa Mon Sep 17 00:00:00 2001 From: Kostiantyn Kalynovskyi Date: Wed, 9 Sep 2020 00:12:28 -0500 Subject: [PATCH] Switch phase commands to use refactored command objects Change-Id: I1f9f1620d6e0d3ac836e0189f403b7f794818d53 Relates-To: #342 --- cmd/phase/plan.go | 26 ++++---------------------- cmd/phase/run.go | 17 ++++++----------- 2 files changed, 10 insertions(+), 33 deletions(-) diff --git a/cmd/phase/plan.go b/cmd/phase/plan.go index e695800e3..80c5b0783 100644 --- a/cmd/phase/plan.go +++ b/cmd/phase/plan.go @@ -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 diff --git a/cmd/phase/run.go b/cmd/phase/run.go index 019224ff8..fdd2f4689 100644 --- a/cmd/phase/run.go +++ b/cmd/phase/run.go @@ -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")