diff --git a/cmd/root.go b/cmd/root.go index 5221ef9..21c1d44 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -28,6 +28,8 @@ var insecureSkipVerify bool var caCertsPath string var clientKey, clientCert string +var monitorInterval, monitorTimeout int + func init() { rootCmd.PersistentFlags().StringVarP(&zkAddr, "zookeeper", "z", "", "Zookeeper node(s) where Aurora stores information.") rootCmd.PersistentFlags().StringVarP(&username, "username", "u", "", "Username to use for API authentication") diff --git a/cmd/start.go b/cmd/start.go index ea37be1..96c9511 100644 --- a/cmd/start.go +++ b/cmd/start.go @@ -11,8 +11,13 @@ import ( func init() { rootCmd.AddCommand(startCmd) + // Sub-commands startCmd.AddCommand(startMaintCmd) + + startMaintCmd.Flags().IntVar(&monitorInterval,"interval", 5, "Interval at which to poll scheduler.") + startMaintCmd.Flags().IntVar(&monitorTimeout,"timeout", 50, "Time after which the monitor will stop polling and throw an error.") + } var startCmd = &cobra.Command{ @@ -44,8 +49,8 @@ func drain(cmd *cobra.Command, args []string) { hostResult, err := monitor.HostMaintenance( args, []aurora.MaintenanceMode{aurora.MaintenanceMode_DRAINED}, - 5, - 10) + monitorInterval, + monitorTimeout) if err != nil { for host, ok := range hostResult { if !ok { @@ -57,5 +62,5 @@ func drain(cmd *cobra.Command, args []string) { return } - fmt.Print(result.String()) + fmt.Println(result.String()) }