From 69708ba2f55a0f7d02331972a20296d0c1f8f7c9 Mon Sep 17 00:00:00 2001 From: kitfoman Date: Wed, 20 Apr 2022 11:47:13 -0400 Subject: [PATCH] make timeout flags backwards compatible --- cmd/goldpinger/main.go | 17 +++++++++++++++++ pkg/goldpinger/config.go | 3 +++ 2 files changed, 20 insertions(+) diff --git a/cmd/goldpinger/main.go b/cmd/goldpinger/main.go index 2239834..670830f 100644 --- a/cmd/goldpinger/main.go +++ b/cmd/goldpinger/main.go @@ -144,6 +144,23 @@ func main() { logger.Error("Unknown IP version specified: expected values are 4 or 6", zap.Strings("IPVersions", goldpinger.GoldpingerConfig.IPVersions)) } + // Handle deprecated flags + if int(goldpinger.GoldpingerConfig.PingTimeout) == 0 { + logger.Warn("ping-timeout-ms is deprecated in favor of ping-timeout and will be removed in the future", + zap.Int64("ping-timeout-ms", goldpinger.GoldpingerConfig.PingTimeoutMs)) + goldpinger.GoldpingerConfig.PingTimeout = time.Duration(goldpinger.GoldpingerConfig.PingTimeoutMs) * time.Millisecond + } + if int(goldpinger.GoldpingerConfig.CheckTimeout) == 0 { + logger.Warn("check-timeout-ms is deprecated in favor of check-timeout and will be removed in the future", + zap.Int64("check-timeout-ms", goldpinger.GoldpingerConfig.CheckTimeoutMs)) + goldpinger.GoldpingerConfig.CheckTimeout = time.Duration(goldpinger.GoldpingerConfig.CheckTimeoutMs) * time.Millisecond + } + if int(goldpinger.GoldpingerConfig.CheckAllTimeout) == 0 { + logger.Warn("check-all-timeout-ms is deprecated in favor of check-all-timeout will be removed in the future", + zap.Int64("check-all-timeout-ms", goldpinger.GoldpingerConfig.CheckAllTimeoutMs)) + goldpinger.GoldpingerConfig.CheckAllTimeout = time.Duration(goldpinger.GoldpingerConfig.CheckAllTimeoutMs) * time.Millisecond + } + server.ConfigureAPI() goldpinger.StartUpdater() diff --git a/pkg/goldpinger/config.go b/pkg/goldpinger/config.go index f5c43b7..4a0e130 100644 --- a/pkg/goldpinger/config.go +++ b/pkg/goldpinger/config.go @@ -43,6 +43,9 @@ var GoldpingerConfig = struct { IPVersions []string `long:"ip-versions" description:"The IP versions to use (space delimited). Possible values are 4 and 6 (defaults to 4)." env:"IP_VERSIONS" env-delim:" "` // Timeouts + PingTimeoutMs int64 `long:"ping-timeout-ms" description:"The timeout in milliseconds for a ping call to other goldpinger pods(deprecated)" env:"PING_TIMEOUT_MS" default:"300"` + CheckTimeoutMs int64 `long:"check-timeout-ms" description:"The timeout in milliseconds for a check call to other goldpinger pods(deprecated)" env:"CHECK_TIMEOUT_MS" default:"1000"` + CheckAllTimeoutMs int64 `long:"check-all-timeout-ms" description:"The timeout in milliseconds for a check-all call to other goldpinger pods(deprecated)" env:"CHECK_ALL_TIMEOUT_MS" default:"5000"` PingTimeout time.Duration `long:"ping-timeout" description:"The timeout for a ping call to other goldpinger pods" env:"PING_TIMEOUT" default:"300ms"` CheckTimeout time.Duration `long:"check-timeout" description:"The timeout for a check call to other goldpinger pods" env:"CHECK_TIMEOUT" default:"1000ms"` CheckAllTimeout time.Duration `long:"check-all-timeout" description:"The timeout for a check-all call to other goldpinger pods" env:"CHECK_ALL_TIMEOUT" default:"5000ms"`