From 9471eb848f690d69f9b0df0d93583b2de6483c4b Mon Sep 17 00:00:00 2001 From: Etai Lev Ran Date: Thu, 20 Nov 2025 17:31:45 +0200 Subject: [PATCH 1/2] add deprecation notice on metrics port in runner and datastore Signed-off-by: Etai Lev Ran --- cmd/epp/runner/runner.go | 34 ++++++++++++++++++++++++++++++++-- pkg/epp/datastore/datastore.go | 4 +++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/cmd/epp/runner/runner.go b/cmd/epp/runner/runner.go index 24a59ebf7..3ceca000b 100644 --- a/cmd/epp/runner/runner.go +++ b/cmd/epp/runner/runner.go @@ -139,8 +139,9 @@ var ( configFile = flag.String("config-file", runserver.DefaultConfigFile, "The path to the configuration file") configText = flag.String("config-text", runserver.DefaultConfigText, "The configuration specified as text, in lieu of a file") - modelServerMetricsPort = flag.Int("model-server-metrics-port", 0, "Port to scrape metrics from pods. "+ - "Default value will be set to the InferencePool.Spec.TargetPorts[0].Number if not set.") + modelServerMetricsPort = flag.Int("model-server-metrics-port", 0, "[DEPRECATED] Port to scrape metrics from pods. "+ + "Default value will be set to the InferencePool.Spec.TargetPorts[0].Number if not set."+ + "[DEPRECATED] This option will be removed in the next release.") modelServerMetricsPath = flag.String("model-server-metrics-path", "/metrics", "Path to scrape metrics from pods") modelServerMetricsScheme = flag.String("model-server-metrics-scheme", "http", "Scheme to scrape metrics from pods") modelServerMetricsHttpsInsecureSkipVerify = flag.Bool("model-server-metrics-https-insecure-skip-verify", true, "When using 'https' scheme for 'model-server-metrics-scheme', configure 'InsecureSkipVerify' (default to true)") @@ -198,6 +199,8 @@ func (r *Runner) Run(ctx context.Context) error { flag.Parse() initLogging(&opts) + _ = r.deprecatedFlagsHandler(setupLog) // ignore error for now + if *tracing { err := common.InitTracing(ctx, setupLog) if err != nil { @@ -486,6 +489,33 @@ func (r *Runner) parseConfigurationPhaseTwo(ctx context.Context, rawConfig *conf return cfg, nil } +func (r *Runner) deprecatedFlagsHandler(logger logr.Logger) error { + deprecated := map[string]string{ // Map of deprecated flags: key = flag name, value = replacement (empty if none) + "model-server-metrics-port": "", + } + + var usedDeprecated []string // Track which deprecated flags were explicitly set + flag.Visit(func(f *flag.Flag) { + if _, ok := deprecated[f.Name]; ok { + usedDeprecated = append(usedDeprecated, f.Name) + } + }) + + if len(usedDeprecated) > 0 { // report on deprecated flags used + for _, option := range usedDeprecated { + if replacement := deprecated[option]; replacement != "" { + logger.Info("deprecated option will be removed in the next release", + "option", option, "replacement", replacement) + } else { + logger.Info("deprecated option will be removed in the next release. No replacement available.", + "option", option) + } + } + return errors.New("deprecated options used" + fmt.Sprintf("%+v", usedDeprecated)) + } + return nil +} + func (r *Runner) deprecatedConfigurationHelper(cfg *config.Config, logger logr.Logger) { // Handle deprecated environment variable based feature flags diff --git a/pkg/epp/datastore/datastore.go b/pkg/epp/datastore/datastore.go index 2ab2e98cb..d4f14b974 100644 --- a/pkg/epp/datastore/datastore.go +++ b/pkg/epp/datastore/datastore.go @@ -68,6 +68,8 @@ type Datastore interface { Clear() } +// NewDatastore creates a new data store. +// TODO: modelServerMetricsPort is being deprecated func NewDatastore(parentCtx context.Context, epFactory datalayer.EndpointFactory, modelServerMetricsPort int32, opts ...DatastoreOption) Datastore { // Initialize with defaults store := &datastore{ @@ -100,7 +102,7 @@ type datastore struct { pods *sync.Map // modelServerMetricsPort metrics port from EPP command line argument // used only if there is only one inference engine per pod - modelServerMetricsPort int32 + modelServerMetricsPort int32 // TODO: deprecating epf datalayer.EndpointFactory } From 0328e4a6f4325a6edb76f7302b8b6b95a5074e3e Mon Sep 17 00:00:00 2001 From: Etai Lev Ran Date: Sun, 23 Nov 2025 14:37:51 +0200 Subject: [PATCH 2/2] simplify deprecated flags function Signed-off-by: Etai Lev Ran --- cmd/epp/runner/runner.go | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/cmd/epp/runner/runner.go b/cmd/epp/runner/runner.go index 3ceca000b..7bc27103c 100644 --- a/cmd/epp/runner/runner.go +++ b/cmd/epp/runner/runner.go @@ -141,7 +141,7 @@ var ( modelServerMetricsPort = flag.Int("model-server-metrics-port", 0, "[DEPRECATED] Port to scrape metrics from pods. "+ "Default value will be set to the InferencePool.Spec.TargetPorts[0].Number if not set."+ - "[DEPRECATED] This option will be removed in the next release.") + "This option will be removed in the next release.") modelServerMetricsPath = flag.String("model-server-metrics-path", "/metrics", "Path to scrape metrics from pods") modelServerMetricsScheme = flag.String("model-server-metrics-scheme", "http", "Scheme to scrape metrics from pods") modelServerMetricsHttpsInsecureSkipVerify = flag.Bool("model-server-metrics-https-insecure-skip-verify", true, "When using 'https' scheme for 'model-server-metrics-scheme', configure 'InsecureSkipVerify' (default to true)") @@ -199,7 +199,7 @@ func (r *Runner) Run(ctx context.Context) error { flag.Parse() initLogging(&opts) - _ = r.deprecatedFlagsHandler(setupLog) // ignore error for now + r.deprecatedFlagsHandler(setupLog) if *tracing { err := common.InitTracing(ctx, setupLog) @@ -489,31 +489,12 @@ func (r *Runner) parseConfigurationPhaseTwo(ctx context.Context, rawConfig *conf return cfg, nil } -func (r *Runner) deprecatedFlagsHandler(logger logr.Logger) error { - deprecated := map[string]string{ // Map of deprecated flags: key = flag name, value = replacement (empty if none) - "model-server-metrics-port": "", - } - - var usedDeprecated []string // Track which deprecated flags were explicitly set +func (r *Runner) deprecatedFlagsHandler(logger logr.Logger) { flag.Visit(func(f *flag.Flag) { - if _, ok := deprecated[f.Name]; ok { - usedDeprecated = append(usedDeprecated, f.Name) + if f.Name == "model-server-metrics-port" { // future: use map/set to store deprecated flags (and replacements?) + logger.Info("deprecated option will be removed in the next release.", "option", f.Name) } }) - - if len(usedDeprecated) > 0 { // report on deprecated flags used - for _, option := range usedDeprecated { - if replacement := deprecated[option]; replacement != "" { - logger.Info("deprecated option will be removed in the next release", - "option", option, "replacement", replacement) - } else { - logger.Info("deprecated option will be removed in the next release. No replacement available.", - "option", option) - } - } - return errors.New("deprecated options used" + fmt.Sprintf("%+v", usedDeprecated)) - } - return nil } func (r *Runner) deprecatedConfigurationHelper(cfg *config.Config, logger logr.Logger) {