Code change:
return o, nil } <ins> // Complete completes the remaining instantiation of the options obj. // In particular, it injects the latest internal versioned ComponentConfig. func (o *Options) Complete(nfs *cliflag.NamedFlagSets) error { cfg, err := latest.Default() if err != nil { return err } hhost, hport, err := splitHostIntPort(cfg.HealthzBindAddress) if err != nil { return err } // Obtain CLI args related with insecure serving. // If not specified in command line, derive the default settings from cfg. insecureServing := nfs.FlagSet("insecure serving") if !insecureServing.Changed("address") { o.CombinedInsecureServing.BindAddress = hhost } if !insecureServing.Changed("port") { o.CombinedInsecureServing.BindPort = hport } // Obtain deprecated CLI args. Set them to cfg if specified in command line. deprecated := nfs.FlagSet("deprecated") if deprecated.Changed("profiling") { cfg.EnableProfiling = o.ComponentConfig.EnableProfiling } if deprecated.Changed("contention-profiling") { cfg.EnableContentionProfiling = o.ComponentConfig.EnableContentionProfiling } if deprecated.Changed("kubeconfig") { cfg.ClientConnection.Kubeconfig = o.ComponentConfig.ClientConnection.Kubeconfig } if deprecated.Changed("kube-api-content-type") { cfg.ClientConnection.ContentType = o.ComponentConfig.ClientConnection.ContentType } if deprecated.Changed("kube-api-qps") { cfg.ClientConnection.QPS = o.ComponentConfig.ClientConnection.QPS } if deprecated.Changed("kube-api-burst") { cfg.ClientConnection.Burst = o.ComponentConfig.ClientConnection.Burst } if deprecated.Changed("lock-object-namespace") { cfg.LeaderElection.ResourceNamespace = o.ComponentConfig.LeaderElection.ResourceNamespace } if deprecated.Changed("lock-object-name") { cfg.LeaderElection.ResourceName = o.ComponentConfig.LeaderElection.ResourceName } // Obtain CLI args related with leaderelection. Set them to cfg if specified in command line. leaderelection := nfs.FlagSet("leader election") if leaderelection.Changed("leader-elect") { cfg.LeaderElection.LeaderElect = o.ComponentConfig.LeaderElection.LeaderElect } if leaderelection.Changed("leader-elect-lease-duration") { cfg.LeaderElection.LeaseDuration = o.ComponentConfig.LeaderElection.LeaseDuration } if leaderelection.Changed("leader-elect-renew-deadline") { cfg.LeaderElection.RenewDeadline = o.ComponentConfig.LeaderElection.RenewDeadline } if leaderelection.Changed("leader-elect-retry-period") { cfg.LeaderElection.RetryPeriod = o.ComponentConfig.LeaderElection.RetryPeriod } if leaderelection.Changed("leader-elect-resource-lock") { cfg.LeaderElection.ResourceLock = o.ComponentConfig.LeaderElection.ResourceLock } if leaderelection.Changed("leader-elect-resource-name") { cfg.LeaderElection.ResourceName = o.ComponentConfig.LeaderElection.ResourceName } if leaderelection.Changed("leader-elect-resource-namespace") { cfg.LeaderElection.ResourceNamespace = o.ComponentConfig.LeaderElection.ResourceNamespace } o.ComponentConfig = *cfg return nil } </ins> func splitHostIntPort(s string) (string, int, error) { host, port, err := net.SplitHostPort(s) if err != nil {

Related discussion:
text: ci-kubernetes-e2e-gci-gce-alpha-features kubetest.Up Jul 02 2021, 01:26:42 UTC+0200 /sig release
based on testgrid probably cc <img width="1203" alt="Screen Shot 2021-07-02 at 4 24 25 PM" src="https://user-"
/cc working on it
/assign
the scheduler fails to start with this error: it seems the feature gates from the command line does not take effect in the defaulting phrase, do you know how to fix it?
ah, found there is a cycle here: The scheduler options , but the default config's default values depend on the feature gates options. I think this disables other feature gate controlled logic in the defaulting too:
I tried to fix it by updating the component config after the CLI flags (including the feature gates) are parsed: PTAL
fixed the flake. is back green now.
thanks!