|
|
@ -576,16 +576,19 @@ func defaultBaseContext() context.Context {
|
|
|
|
|
|
|
|
|
|
|
|
// setOptionsDefaults set default values for Options fields.
|
|
|
|
// setOptionsDefaults set default values for Options fields.
|
|
|
|
func setOptionsDefaults(options Options) Options {
|
|
|
|
func setOptionsDefaults(options Options) Options {
|
|
|
|
|
|
|
|
// election 相关的方法设定
|
|
|
|
// Allow newResourceLock to be mocked
|
|
|
|
// Allow newResourceLock to be mocked
|
|
|
|
if options.newResourceLock == nil {
|
|
|
|
if options.newResourceLock == nil {
|
|
|
|
options.newResourceLock = leaderelection.NewResourceLock
|
|
|
|
options.newResourceLock = leaderelection.NewResourceLock
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 记录器相关的方法设定
|
|
|
|
// Allow newRecorderProvider to be mocked
|
|
|
|
// Allow newRecorderProvider to be mocked
|
|
|
|
if options.newRecorderProvider == nil {
|
|
|
|
if options.newRecorderProvider == nil {
|
|
|
|
options.newRecorderProvider = intrec.NewProvider
|
|
|
|
options.newRecorderProvider = intrec.NewProvider
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理事件广播相关的方法设定
|
|
|
|
// This is duplicated with pkg/cluster, we need it here
|
|
|
|
// This is duplicated with pkg/cluster, we need it here
|
|
|
|
// for the leader election and there to provide the user with
|
|
|
|
// for the leader election and there to provide the user with
|
|
|
|
// an EventBroadcaster
|
|
|
|
// an EventBroadcaster
|
|
|
@ -600,6 +603,7 @@ func setOptionsDefaults(options Options) Options {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 监控相关的方法设定
|
|
|
|
if options.newMetricsListener == nil {
|
|
|
|
if options.newMetricsListener == nil {
|
|
|
|
options.newMetricsListener = metrics.NewListener
|
|
|
|
options.newMetricsListener = metrics.NewListener
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -628,15 +632,18 @@ func setOptionsDefaults(options Options) Options {
|
|
|
|
options.newHealthProbeListener = defaultHealthProbeListener
|
|
|
|
options.newHealthProbeListener = defaultHealthProbeListener
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 停止相关的方法设定
|
|
|
|
if options.GracefulShutdownTimeout == nil {
|
|
|
|
if options.GracefulShutdownTimeout == nil {
|
|
|
|
gracefulShutdownTimeout := defaultGracefulShutdownPeriod
|
|
|
|
gracefulShutdownTimeout := defaultGracefulShutdownPeriod
|
|
|
|
options.GracefulShutdownTimeout = &gracefulShutdownTimeout
|
|
|
|
options.GracefulShutdownTimeout = &gracefulShutdownTimeout
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 日志对象的设定
|
|
|
|
if options.Logger.GetSink() == nil {
|
|
|
|
if options.Logger.GetSink() == nil {
|
|
|
|
options.Logger = log.Log
|
|
|
|
options.Logger = log.Log
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 基本的上下文相关方法的设定
|
|
|
|
if options.BaseContext == nil {
|
|
|
|
if options.BaseContext == nil {
|
|
|
|
options.BaseContext = defaultBaseContext
|
|
|
|
options.BaseContext = defaultBaseContext
|
|
|
|
}
|
|
|
|
}
|
|
|
|