From 34b34bcbc84ec4e151b75aac6f98991a589e4554 Mon Sep 17 00:00:00 2001 From: AllenZMC Date: Tue, 15 Mar 2022 21:50:42 +0800 Subject: [PATCH] Implement flags grouping for karmada-scheduler-estimator and modify the kubeconfig description Signed-off-by: AllenZMC Implement flags grouping for karmada-aggregated-apiserver and modify the kubeconfig description Signed-off-by: AllenZMC --- .../app/options/options.go | 2 +- .../app/scheduler-estimator.go | 21 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/cmd/scheduler-estimator/app/options/options.go b/cmd/scheduler-estimator/app/options/options.go index 6bc2c7c41..b33658d8e 100644 --- a/cmd/scheduler-estimator/app/options/options.go +++ b/cmd/scheduler-estimator/app/options/options.go @@ -37,7 +37,7 @@ func (o *Options) AddFlags(fs *pflag.FlagSet) { if o == nil { return } - fs.StringVar(&o.KubeConfig, "kubeconfig", o.KubeConfig, "Path to a KubeConfig. Only required if out-of-cluster.") + fs.StringVar(&o.KubeConfig, "kubeconfig", o.KubeConfig, "Path to karmada control plane kubeconfig file.") fs.StringVar(&o.Master, "master", o.Master, "The address of the member Kubernetes API server. Overrides any value in KubeConfig. Only required if out-of-cluster.") fs.StringVar(&o.ClusterName, "cluster-name", o.ClusterName, "Name of member cluster that the estimator serves for.") fs.StringVar(&o.BindAddress, "bind-address", defaultBindAddress, "The IP address on which to listen for the --secure-port port.") diff --git a/cmd/scheduler-estimator/app/scheduler-estimator.go b/cmd/scheduler-estimator/app/scheduler-estimator.go index 5a7154806..4c2b0e688 100644 --- a/cmd/scheduler-estimator/app/scheduler-estimator.go +++ b/cmd/scheduler-estimator/app/scheduler-estimator.go @@ -2,7 +2,6 @@ package app import ( "context" - "flag" "fmt" "net" "net/http" @@ -15,10 +14,14 @@ import ( "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" + cliflag "k8s.io/component-base/cli/flag" + "k8s.io/component-base/term" "k8s.io/klog/v2" "github.com/karmada-io/karmada/cmd/scheduler-estimator/app/options" "github.com/karmada-io/karmada/pkg/estimator/server" + "github.com/karmada-io/karmada/pkg/sharedcli" + "github.com/karmada-io/karmada/pkg/sharedcli/klogflag" "github.com/karmada-io/karmada/pkg/version" "github.com/karmada-io/karmada/pkg/version/sharedcommand" ) @@ -42,9 +45,21 @@ func NewSchedulerEstimatorCommand(ctx context.Context) *cobra.Command { }, } - opts.AddFlags(cmd.Flags()) + fss := cliflag.NamedFlagSets{} + + genericFlagSet := fss.FlagSet("generic") + opts.AddFlags(genericFlagSet) + + // Set klog flags + logsFlagSet := fss.FlagSet("logs") + klogflag.Add(logsFlagSet) + cmd.AddCommand(sharedcommand.NewCmdVersion(os.Stdout, "karmada-scheduler-estimator")) - cmd.Flags().AddGoFlagSet(flag.CommandLine) + cmd.Flags().AddFlagSet(genericFlagSet) + cmd.Flags().AddFlagSet(logsFlagSet) + + cols, _, _ := term.TerminalSize(cmd.OutOrStdout()) + sharedcli.SetUsageAndHelpFunc(cmd, fss, cols) return cmd }