Skip to content

Commit

Permalink
refactor backoff parameters
Browse files Browse the repository at this point in the history
Signed-off-by: Zhang Kang <kang.zhang@intel.com>
  • Loading branch information
kangclzjc committed Apr 28, 2024
1 parent 1e9b75b commit 8738bdd
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 53 deletions.
68 changes: 34 additions & 34 deletions pkg/koordlet/runtimehooks/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,40 +105,40 @@ var (
)

type Config struct {
RuntimeHooksNetwork string
RuntimeHooksAddr string
RuntimeHooksFailurePolicy string
RuntimeHooksPluginFailurePolicy string
RuntimeHookConfigFilePath string
RuntimeHookHostEndpoint string
RuntimeHookDisableStages []string
RuntimeHooksNRI bool
RuntimeHooksNRIConnectTimeout time.Duration
RuntimeHooksNRIReconnectInitInterval time.Duration
RuntimeHooksNRIReconnectMaxDuration time.Duration
RuntimeHooksNRIReconnectMul float64
RuntimeHooksNRIReconnectLimit int
RuntimeHooksNRISocketPath string
RuntimeHookReconcileInterval time.Duration
RuntimeHooksNetwork string
RuntimeHooksAddr string
RuntimeHooksFailurePolicy string
RuntimeHooksPluginFailurePolicy string
RuntimeHookConfigFilePath string
RuntimeHookHostEndpoint string
RuntimeHookDisableStages []string
RuntimeHooksNRI bool
RuntimeHooksNRIConnectTimeout time.Duration
RuntimeHooksNRIBackOffDuration time.Duration
RuntimeHooksNRIBackOffCap time.Duration
RuntimeHooksNRIBackOffFactor float64
RuntimeHooksNRIBackOffSteps int
RuntimeHooksNRISocketPath string
RuntimeHookReconcileInterval time.Duration
}

func NewDefaultConfig() *Config {
return &Config{
RuntimeHooksNetwork: "unix",
RuntimeHooksAddr: "/host-var-run-koordlet/koordlet.sock",
RuntimeHooksFailurePolicy: "Ignore",
RuntimeHooksPluginFailurePolicy: "Ignore",
RuntimeHookConfigFilePath: system.Conf.RuntimeHooksConfigDir,
RuntimeHookHostEndpoint: "/var/run/koordlet/koordlet.sock",
RuntimeHookDisableStages: []string{},
RuntimeHooksNRI: true,
RuntimeHooksNRIConnectTimeout: 2 * time.Second,
RuntimeHooksNRIReconnectInitInterval: 1 * time.Second,
RuntimeHooksNRIReconnectMaxDuration: 10 * time.Minute,
RuntimeHooksNRIReconnectLimit: 100,
RuntimeHooksNRIReconnectMul: 2,
RuntimeHooksNRISocketPath: "nri/nri.sock",
RuntimeHookReconcileInterval: 10 * time.Second,
RuntimeHooksNetwork: "unix",
RuntimeHooksAddr: "/host-var-run-koordlet/koordlet.sock",
RuntimeHooksFailurePolicy: "Ignore",
RuntimeHooksPluginFailurePolicy: "Ignore",
RuntimeHookConfigFilePath: system.Conf.RuntimeHooksConfigDir,
RuntimeHookHostEndpoint: "/var/run/koordlet/koordlet.sock",
RuntimeHookDisableStages: []string{},
RuntimeHooksNRI: true,
RuntimeHooksNRIConnectTimeout: 2 * time.Second,
RuntimeHooksNRIBackOffDuration: 1 * time.Second,
RuntimeHooksNRIBackOffCap: 10 * time.Minute,
RuntimeHooksNRIBackOffSteps: 100,
RuntimeHooksNRIBackOffFactor: 2,
RuntimeHooksNRISocketPath: "nri/nri.sock",
RuntimeHookReconcileInterval: 10 * time.Second,
}
}

Expand All @@ -150,10 +150,10 @@ func (c *Config) InitFlags(fs *flag.FlagSet) {
fs.StringVar(&c.RuntimeHookConfigFilePath, "runtime-hooks-config-path", c.RuntimeHookConfigFilePath, "config file path for runtime hooks")
fs.StringVar(&c.RuntimeHookHostEndpoint, "runtime-hooks-host-endpoint", c.RuntimeHookHostEndpoint, "host endpoint of runtime proxy")
fs.DurationVar(&c.RuntimeHooksNRIConnectTimeout, "runtime-hooks-nri-connect-timeout", c.RuntimeHooksNRIConnectTimeout, "nri server connect time out")
fs.DurationVar(&c.RuntimeHooksNRIReconnectInitInterval, "runtime-hooks-nri-reconnect-init-interval", c.RuntimeHooksNRIReconnectInitInterval, "nri server reconnection init interval")
fs.DurationVar(&c.RuntimeHooksNRIReconnectMaxDuration, "runtime-hooks-nri-reconnect-max-duration", c.RuntimeHooksNRIReconnectMaxDuration, "nri server reconnection max duration, when hit the limit, will not reconnect")
fs.IntVar(&c.RuntimeHooksNRIReconnectLimit, "runtime-hooks-nri-reconnect-max-times", c.RuntimeHooksNRIReconnectLimit, "nri server reconnect max limit")
fs.Float64Var(&c.RuntimeHooksNRIReconnectMul, "runtime-hooks-nri-reconnect-mul", c.RuntimeHooksNRIReconnectMul, "nri server reconnect backoff mul")
fs.DurationVar(&c.RuntimeHooksNRIBackOffDuration, "runtime-hooks-nri-backoff-duration", c.RuntimeHooksNRIBackOffDuration, "nri server backoff duration")
fs.DurationVar(&c.RuntimeHooksNRIBackOffCap, "runtime-hooks-nri-backoff-cap", c.RuntimeHooksNRIBackOffCap, "nri server backoff cap, when hit the limit, will not reconnect")
fs.IntVar(&c.RuntimeHooksNRIBackOffSteps, "runtime-hooks-nri-backoff-steps", c.RuntimeHooksNRIBackOffSteps, "nri server backoff steps")
fs.Float64Var(&c.RuntimeHooksNRIBackOffFactor, "runtime-hooks-nri-backoff-factor", c.RuntimeHooksNRIBackOffFactor, "nri server reconnect backoff factor")
fs.Var(cliflag.NewStringSlice(&c.RuntimeHookDisableStages), "runtime-hooks-disable-stages", "disable stages for runtime hooks")
fs.BoolVar(&c.RuntimeHooksNRI, "enable-nri-runtime-hook", c.RuntimeHooksNRI, "enable/disable runtime hooks nri mode")
fs.DurationVar(&c.RuntimeHookReconcileInterval, "runtime-hooks-reconcile-interval", c.RuntimeHookReconcileInterval, "reconcile interval for each plugins")
Expand Down
30 changes: 15 additions & 15 deletions pkg/koordlet/runtimehooks/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,21 @@ import (

func Test_NewDefaultConfig(t *testing.T) {
expectConfig := &Config{
RuntimeHooksNetwork: "unix",
RuntimeHooksAddr: "/host-var-run-koordlet/koordlet.sock",
RuntimeHooksFailurePolicy: "Ignore",
RuntimeHooksPluginFailurePolicy: "Ignore",
RuntimeHookConfigFilePath: system.Conf.RuntimeHooksConfigDir,
RuntimeHookHostEndpoint: "/var/run/koordlet/koordlet.sock",
RuntimeHookDisableStages: []string{},
RuntimeHooksNRI: true,
RuntimeHooksNRIConnectTimeout: 2 * time.Second,
RuntimeHooksNRIReconnectInitInterval: 1 * time.Second,
RuntimeHooksNRIReconnectMaxDuration: 10 * time.Minute,
RuntimeHooksNRIReconnectLimit: 100,
RuntimeHooksNRIReconnectMul: 2,
RuntimeHooksNRISocketPath: "nri/nri.sock",
RuntimeHookReconcileInterval: 10 * time.Second,
RuntimeHooksNetwork: "unix",
RuntimeHooksAddr: "/host-var-run-koordlet/koordlet.sock",
RuntimeHooksFailurePolicy: "Ignore",
RuntimeHooksPluginFailurePolicy: "Ignore",
RuntimeHookConfigFilePath: system.Conf.RuntimeHooksConfigDir,
RuntimeHookHostEndpoint: "/var/run/koordlet/koordlet.sock",
RuntimeHookDisableStages: []string{},
RuntimeHooksNRI: true,
RuntimeHooksNRIConnectTimeout: 2 * time.Second,
RuntimeHooksNRIBackOffDuration: 1 * time.Second,
RuntimeHooksNRIBackOffCap: 10 * time.Minute,
RuntimeHooksNRIBackOffSteps: 100,
RuntimeHooksNRIBackOffFactor: 2,
RuntimeHooksNRISocketPath: "nri/nri.sock",
RuntimeHookReconcileInterval: 10 * time.Second,
}
defaultConfig := NewDefaultConfig()
assert.Equal(t, expectConfig, defaultConfig)
Expand Down
8 changes: 4 additions & 4 deletions pkg/koordlet/runtimehooks/runtimehooks.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,11 @@ func NewRuntimeHook(si statesinformer.StatesInformer, cfg *Config) (RuntimeHook,
}

backOff := wait.Backoff{
Duration: cfg.RuntimeHooksNRIReconnectInitInterval,
Factor: cfg.RuntimeHooksNRIReconnectMul,
Duration: cfg.RuntimeHooksNRIBackOffDuration,
Factor: cfg.RuntimeHooksNRIBackOffFactor,
Jitter: 0.1,
Steps: cfg.RuntimeHooksNRIReconnectLimit,
Cap: cfg.RuntimeHooksNRIReconnectMaxDuration,
Steps: cfg.RuntimeHooksNRIBackOffSteps,
Cap: cfg.RuntimeHooksNRIBackOffCap,
}
var nriServer *nri.NriServer
if cfg.RuntimeHooksNRI {
Expand Down

0 comments on commit 8738bdd

Please sign in to comment.