@@ -39,6 +39,7 @@ import (
3939 "k8s.io/client-go/tools/leaderelection/resourcelock"
4040 "k8s.io/client-go/tools/record"
4141 "k8s.io/klog"
42+ metrics "k8s.io/metrics/pkg/client/clientset/versioned"
4243 schedclientset "sigs.k8s.io/scheduler-plugins/pkg/generated/clientset/versioned"
4344 volcanoclient "volcano.sh/apis/pkg/client/clientset/versioned"
4445
@@ -114,7 +115,7 @@ func Run(opt *options.ServerOption) error {
114115 cfg .Burst = opt .Burst
115116
116117 // Create clients.
117- kubeClient , leaderElectionClientSet , mpiJobClientSet , volcanoClientSet , schedClientSet , err := createClientSets (cfg , opt .GangSchedulingName )
118+ kubeClient , metricsClient , leaderElectionClientSet , mpiJobClientSet , volcanoClientSet , schedClientSet , err := createClientSets (cfg , opt .GangSchedulingName )
118119 if err != nil {
119120 return err
120121 }
@@ -143,6 +144,7 @@ func Run(opt *options.ServerOption) error {
143144
144145 controller , err := controllersv1 .NewMPIJobController (
145146 kubeClient ,
147+ metricsClient ,
146148 mpiJobClientSet ,
147149 volcanoClientSet ,
148150 schedClientSet ,
@@ -259,6 +261,7 @@ func createClientSets(
259261 gangSchedulingName string ,
260262) (
261263 kubeclientset.Interface ,
264+ metrics.Interface ,
262265 kubeclientset.Interface ,
263266 mpijobclientset.Interface ,
264267 volcanoclient.Interface ,
@@ -268,17 +271,22 @@ func createClientSets(
268271
269272 kubeClientSet , err := kubeclientset .NewForConfig (restclientset .AddUserAgent (config , "mpi-operator" ))
270273 if err != nil {
271- return nil , nil , nil , nil , nil , err
274+ return nil , nil , nil , nil , nil , nil , err
275+ }
276+
277+ metricsClientSet , err := metrics .NewForConfig (config )
278+ if err != nil {
279+ return nil , nil , nil , nil , nil , nil , err
272280 }
273281
274282 leaderElectionClientSet , err := kubeclientset .NewForConfig (restclientset .AddUserAgent (config , "leader-election" ))
275283 if err != nil {
276- return nil , nil , nil , nil , nil , err
284+ return nil , nil , nil , nil , nil , nil , err
277285 }
278286
279287 mpiJobClientSet , err := mpijobclientset .NewForConfig (config )
280288 if err != nil {
281- return nil , nil , nil , nil , nil , err
289+ return nil , nil , nil , nil , nil , nil , err
282290 }
283291
284292 var (
@@ -287,15 +295,15 @@ func createClientSets(
287295 )
288296 if gangSchedulingName == options .GangSchedulerVolcano {
289297 if volcanoClientSet , err = volcanoclient .NewForConfig (restclientset .AddUserAgent (config , "volcano" )); err != nil {
290- return nil , nil , nil , nil , nil , err
298+ return nil , nil , nil , nil , nil , nil , err
291299 }
292300 } else if len (gangSchedulingName ) != 0 {
293301 if schedClientSet , err = schedclientset .NewForConfig (restclientset .AddUserAgent (config , "scheduler-plugins" )); err != nil {
294- return nil , nil , nil , nil , nil , err
302+ return nil , nil , nil , nil , nil , nil , err
295303 }
296304 }
297305
298- return kubeClientSet , leaderElectionClientSet , mpiJobClientSet , volcanoClientSet , schedClientSet , nil
306+ return kubeClientSet , metricsClientSet , leaderElectionClientSet , mpiJobClientSet , volcanoClientSet , schedClientSet , nil
299307}
300308
301309func checkCRDExists (clientset mpijobclientset.Interface , namespace string ) bool {
0 commit comments