Skip to content

Commit

Permalink
docs: Deprecate CNPStatusUpdates/K8sEventHandover
Browse files Browse the repository at this point in the history
CNP Status Updates are known to cause scalability-related issues.
Deprecate it in preparation to remove support in a future release,
to minimize the maintenance burden of this code.

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
  • Loading branch information
marseel committed Jun 6, 2023
1 parent aec2527 commit dff1622
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 14 deletions.
1 change: 0 additions & 1 deletion Documentation/cmdref/cilium-agent.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Documentation/cmdref/cilium-operator-alibabacloud.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Documentation/cmdref/cilium-operator-aws.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Documentation/cmdref/cilium-operator-azure.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Documentation/cmdref/cilium-operator-generic.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Documentation/cmdref/cilium-operator.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Documentation/operations/upgrade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,9 @@ Deprecated Options
native-routing mode, set ``routing-mode=native`` (previously
``tunnel=disabled``). To configure the tunneling protocol, set
``tunnel-protocol=geneve`` (previously ``tunnel=geneve``).
* The ``disable-cnp-status-updates``, ``cnp-node-status-gc-interval duration`` and ``enable-k8s-event-handover``
options are deprecated and will be removed in v1.15. There is no replacement for these
flags as enabling them causes scalability and performance issues even in small clusters.

Added Metrics
~~~~~~~~~~~~~
Expand Down Expand Up @@ -392,6 +395,11 @@ Helm Options
* Following the deprecation of the ``tunnel`` agent flag, ``tunnel`` is being
deprecated in favor of ``routingMode`` and ``tunnelProtocol`` and will be
removed in v1.15.
* Following the deprecation of the ``disable-cnp-status-updates``,
``cnp-node-status-gc-interval duration`` and ``enable-k8s-event-handover`` options,
corresponding helm values ``enableCnpStatusUpdates``, ``enableK8sEventHandover``
are being deprecated and will be removed in 1.15. There is no replacement for these
values as enabling them causes scalability and performance issues even in small clusters.
* Values ``encryption.keyFile``, ``encryption.mountPath``,
``encryption.secretName`` and ``encryption.interface`` are deprecated in
favor of their ``encryption.ipsec.*`` counterparts and will be removed in
Expand Down
3 changes: 2 additions & 1 deletion daemon/cmd/daemon_main.go
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,8 @@ func initializeFlags() {
flags.MarkHidden(option.PolicyTriggerInterval)
option.BindEnv(Vp, option.PolicyTriggerInterval)

flags.Bool(option.DisableCNPStatusUpdates, false, `Do not send CNP NodeStatus updates to the Kubernetes api-server (recommended to run with "cnp-node-status-gc-interval=0" in cilium-operator)`)
flags.Bool(option.DisableCNPStatusUpdates, true, `Do not send CNP NodeStatus updates to the Kubernetes api-server (recommended to run with "cnp-node-status-gc-interval=0" in cilium-operator)`)
flags.MarkDeprecated(option.DisableCNPStatusUpdates, "This option will be removed in v1.15 (disabled CNP Status Updates by default)")
option.BindEnv(Vp, option.DisableCNPStatusUpdates)

flags.Bool(option.PolicyAuditModeArg, false, "Enable policy audit (non-drop) mode")
Expand Down
6 changes: 4 additions & 2 deletions operator/cmd/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,16 @@ func init() {
flags.String(option.ConfigDir, "", `Configuration directory that contains a file for each option`)
option.BindEnv(Vp, option.ConfigDir)

flags.Bool(option.DisableCNPStatusUpdates, false, `Do not send CNP NodeStatus updates to the Kubernetes api-server (recommended to run with "cnp-node-status-gc-interval=0" in cilium-operator)`)
flags.MarkHidden(option.DisableCNPStatusUpdates)
flags.Bool(option.DisableCNPStatusUpdates, true, `Do not send CNP NodeStatus updates to the Kubernetes api-server (recommended to run with "cnp-node-status-gc-interval=0" in cilium-operator)`)
flags.MarkDeprecated(option.DisableCNPStatusUpdates, "This option will be removed in v1.15 (disabled CNP Status Updates by default)")
option.BindEnv(Vp, option.DisableCNPStatusUpdates)

flags.Bool(option.K8sEventHandover, defaults.K8sEventHandover, "Enable k8s event handover to kvstore for improved scalability")
flags.MarkDeprecated(option.K8sEventHandover, "This option will be removed in v1.15 (disabled CNP Status Updates by default)")
option.BindEnv(Vp, option.K8sEventHandover)

flags.Duration(operatorOption.CNPNodeStatusGCInterval, 2*time.Minute, "GC interval for nodes which have been removed from the cluster in CiliumNetworkPolicy Status")
flags.MarkDeprecated(operatorOption.CNPNodeStatusGCInterval, "This option will be removed in v1.15 (disabled by default)")
option.BindEnv(Vp, operatorOption.CNPNodeStatusGCInterval)

flags.Bool(operatorOption.SkipCNPStatusStartupClean, false, `If set to true, the operator will not clean up CNP node status updates at startup`)
Expand Down

0 comments on commit dff1622

Please sign in to comment.