Skip to content

Conversation

sbernauer
Copy link
Member

@sbernauer sbernauer commented Oct 7, 2025

Description

Part of stackabletech/issues#770
Needs stackabletech/operator-rs#1105

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible
  • Links to generated (nightly) docs added
  • Release note snippet added

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added
  • Links to generated (nightly) docs added
  • Release note snippet added
  • Add type/deprecation label & add to the deprecation schedule
  • Add type/experimental label & add to the experimental features tracker

Comment on lines +90 to +92
By pinning the Pod to a specific (stable) Kubernetes node, stable addresses can be
provided using NodePorts. The stickiness is achieved by listener-operator by setting the
`volume.kubernetes.io/selected-node` annotation on the Listener PVC.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should avoid calling this "sticky" and "stickiness" as that already has meaning with Load Balancers, and is not about hard-pinning, but rather, preferred affinity for sessions.

Maybe "pinning" or "affinity" is better. And the setting could be nodePinning or strictNodeAffinity.

Comment on lines +94 to +96
However, this only works on setups with long-living nodes. If your nodes are rotated on
a regular basis, the Pods previously running on a removed node will be stuck in Pending
until you delete the PVC with the stickiness.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't quite recall, but how are PVCs bound to a node? Is it the IP?

That is, if the node reboots, but it is "who it used to be" (same IP, same node name, same node labels, etc...) then that should be fine. What stops it being fine? A change in Node IP, Node Name, node labels?

I think it is worth defining long-lived.

I can imagine on-prem, the node is the same, but it can come down for reboot. New nodes might be added to scale out, and might sometimes disappear. In cloud environments, you typically throw away old nodes and move across to new nodes (when updating for example).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants