diff --git a/cmd/controller-manager/app/server.go b/cmd/controller-manager/app/server.go index c74dff44ed..a2743a30c6 100644 --- a/cmd/controller-manager/app/server.go +++ b/cmd/controller-manager/app/server.go @@ -39,6 +39,7 @@ import ( "volcano.sh/volcano/cmd/controller-manager/app/options" "volcano.sh/volcano/pkg/controllers/framework" "volcano.sh/volcano/pkg/kube" + "volcano.sh/volcano/pkg/signals" ) const ( @@ -62,8 +63,10 @@ func Run(opt *options.ServerOption) error { run := startControllers(config, opt) + ctx := signals.SetupSignalContext() + if !opt.EnableLeaderElection { - run(context.TODO()) + run(ctx) return fmt.Errorf("finished without leader elect") } @@ -97,7 +100,7 @@ func Run(opt *options.ServerOption) error { return fmt.Errorf("couldn't create resource lock: %v", err) } - leaderelection.RunOrDie(context.TODO(), leaderelection.LeaderElectionConfig{ + leaderelection.RunOrDie(ctx, leaderelection.LeaderElectionConfig{ Lock: rl, LeaseDuration: leaseDuration, RenewDeadline: renewDeadline,