@@ -31,12 +31,15 @@ import (
31
31
"k8s.io/client-go/tools/clientcmd"
32
32
"k8s.io/client-go/util/flowcontrol"
33
33
cliflag "k8s.io/component-base/cli/flag"
34
+ "k8s.io/component-base/logs"
35
+ logsv1 "k8s.io/component-base/logs/api/v1"
34
36
"k8s.io/component-base/term"
35
37
"k8s.io/klog/v2"
36
38
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
37
39
38
40
"github.com/karmada-io/karmada/cmd/scheduler-estimator/app/options"
39
41
"github.com/karmada-io/karmada/pkg/estimator/server"
42
+ "github.com/karmada-io/karmada/pkg/features"
40
43
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
41
44
"github.com/karmada-io/karmada/pkg/sharedcli"
42
45
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
@@ -77,12 +80,29 @@ const (
77
80
78
81
// NewSchedulerEstimatorCommand creates a *cobra.Command object with default parameters
79
82
func NewSchedulerEstimatorCommand (ctx context.Context ) * cobra.Command {
83
+ logConfig := logsv1 .NewLoggingConfiguration ()
84
+ fss := cliflag.NamedFlagSets {}
85
+
86
+ logsFlagSet := fss .FlagSet ("logs" )
87
+ logs .AddFlags (logsFlagSet , logs .SkipLoggingConfigurationFlags ())
88
+ logsv1 .AddFlags (logConfig , logsFlagSet )
89
+ klogflag .Add (logsFlagSet )
90
+
91
+ genericFlagSet := fss .FlagSet ("generic" )
80
92
opts := options .NewOptions ()
93
+ opts .AddFlags (genericFlagSet )
81
94
82
95
cmd := & cobra.Command {
83
96
Use : names .KarmadaSchedulerEstimatorComponentName ,
84
- Long : `The karmada-scheduler-estimator runs an accurate scheduler estimator of a cluster. It
97
+ Long : `The karmada-scheduler-estimator runs an accurate scheduler estimator of a cluster. It
85
98
provides the scheduler with more accurate cluster resource information.` ,
99
+ PersistentPreRunE : func (_ * cobra.Command , _ []string ) error {
100
+ if err := logsv1 .ValidateAndApply (logConfig , features .FeatureGate ); err != nil {
101
+ return err
102
+ }
103
+ logs .InitLogs ()
104
+ return nil
105
+ },
86
106
RunE : func (_ * cobra.Command , _ []string ) error {
87
107
// validate options
88
108
if errs := opts .Validate (); len (errs ) != 0 {
@@ -95,15 +115,6 @@ provides the scheduler with more accurate cluster resource information.`,
95
115
},
96
116
}
97
117
98
- fss := cliflag.NamedFlagSets {}
99
-
100
- genericFlagSet := fss .FlagSet ("generic" )
101
- opts .AddFlags (genericFlagSet )
102
-
103
- // Set klog flags
104
- logsFlagSet := fss .FlagSet ("logs" )
105
- klogflag .Add (logsFlagSet )
106
-
107
118
cmd .AddCommand (sharedcommand .NewCmdVersion (names .KarmadaSchedulerEstimatorComponentName ))
108
119
cmd .Flags ().AddFlagSet (genericFlagSet )
109
120
cmd .Flags ().AddFlagSet (logsFlagSet )
0 commit comments