Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate exported Service session affinity to ServiceImport #1621

Merged
merged 2 commits into from
Aug 21, 2024

Conversation

tpantelis
Copy link
Contributor

...to align with the MCS spec. If multiple clusters export a service, the fields are merged, ie for SessionAffinity, if any exported service has ClientIP then the ServiceImport will as well; for SessionAffinityConfig, the ServiceImport will inherit the first exported non-nil SessionAffinityConfig.

Fixes #1610

...to align with the MCS spec. If multiple clusters export a
service, the fields are merged, ie for SessionAffinity, if any
exported service has "ClientIP" then the ServiceImport will as well;
for SessionAffinityConfig, the ServiceImport will inherit the first
exported non-nil SessionAffinityConfig.

Fixes submariner-io#1610

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr1621/tpantelis/si_session_affinity
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

@tpantelis
Copy link
Contributor Author

tpantelis commented Aug 21, 2024

@vthapar @skitt @aswinsuryan I wonder if we should report a conflict condition if all constituent cluster services don't specify the same SessionAffinity, ie if they don't all agree on ClientIP. Currently it doesn't really matter b/c we don't implement SessionAffinity at the clusterset service level (although Istio might). Which begs the next question, should we implement it in the core DNS plugin?

For SessionAffinityConfig, we could be smarter and take the maximum ClientIP timeout value amongst the constituent services. I don't think we need to report a conflict condition if they don't all match.

@submariner-bot submariner-bot added the ready-to-test When a PR is ready for full E2E testing label Aug 21, 2024
@tpantelis tpantelis merged commit 4d8164a into submariner-io:devel Aug 21, 2024
23 checks passed
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr1621/tpantelis/si_session_affinity]

@tpantelis tpantelis deleted the si_session_affinity branch August 30, 2024 11:29
tpantelis added a commit to tpantelis/submariner-website that referenced this pull request Sep 4, 2024
Release notes for submariner-io/lighthouse#1621

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
tpantelis added a commit to submariner-io/submariner-website that referenced this pull request Sep 11, 2024
Release notes for submariner-io/lighthouse#1621

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

ServiceImports should inherit the SessionAffinity and SessionAffinityConfig from the exported Service
6 participants