Implement flags grouping for karmada-scheduler

Signed-off-by: zhangyukun <38148677+jameszhangyukun@users.noreply.github.com>
This commit is contained in:
zhangyukun 2022-03-15 20:40:04 +08:00
parent 82c2fdd95b
commit 0ebdb21f8b
1 changed files with 17 additions and 6 deletions

View File

@ -2,7 +2,6 @@ package app
import (
"context"
"flag"
"fmt"
"net"
"net/http"
@ -18,11 +17,15 @@ import (
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/tools/leaderelection"
"k8s.io/client-go/tools/leaderelection/resourcelock"
cliflag "k8s.io/component-base/cli/flag"
"k8s.io/component-base/term"
"k8s.io/klog/v2"
"github.com/karmada-io/karmada/cmd/scheduler/app/options"
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
"github.com/karmada-io/karmada/pkg/scheduler"
"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"
)
@ -54,13 +57,21 @@ func NewSchedulerCommand(stopChan <-chan struct{}) *cobra.Command {
},
}
// Init log flags
// TODO(@RainbowMango): Group the flags to "logs" flag set.
klog.InitFlags(flag.CommandLine)
fss := cliflag.NamedFlagSets{}
opts.AddFlags(cmd.Flags())
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"))
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
}