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

Define ServiceScopeConfig in ServiceSettings #3464

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

jaellio
Copy link
Contributor

@jaellio jaellio commented Mar 11, 2025

Part of adding support for Ambient mulitcluster.

#3463

@istio-testing
Copy link
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@istio-testing istio-testing added do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 11, 2025
@jaellio
Copy link
Contributor Author

jaellio commented Mar 11, 2025

/test all

Signed-off-by: Jackie Elliott <[email protected]>
@jaellio jaellio marked this pull request as ready for review March 11, 2025 18:25
@jaellio jaellio requested a review from a team as a code owner March 11, 2025 18:25
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Mar 11, 2025
@jaellio jaellio requested a review from keithmattix March 11, 2025 18:26
Signed-off-by: Jackie Elliott <[email protected]>
@jaellio jaellio requested a review from keithmattix March 12, 2025 21:51
Copy link
Contributor

@keithmattix keithmattix left a comment

Choose a reason for hiding this comment

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

This looks like what we got general consensus on in https://docs.google.com/document/d/1Wg6sx9ZUJL4AsHj5wM1kMx3E436s5wg2qoMqoI-bqbQ/edit?tab=t.0 across multiple TOC and WG meetings so I'm approving

@@ -444,6 +444,47 @@ message MeshConfig {
//
// For example: foo.bar.svc.cluster.local, *.baz.svc.cluster.local
repeated string hosts = 2;

// Scope configuration to be applied to matching services.
Copy link
Member

Choose a reason for hiding this comment

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

What is the relation between this new setting and the existing hosts/settings?

Copy link
Contributor

Choose a reason for hiding this comment

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

My thought was that users set one or the other. A oneOf might be better to express that

Copy link
Contributor Author

Choose a reason for hiding this comment

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

At this point ServiceScopes will only apply to ambient multicluster. In traditional multicluster today the default availability is global. For ambient multicluster, the default availability is local. For alpha, I think it is unnecessary to support ServiceScopes for both configurations operating with different default availabilities

//
// ```yaml
// serviceSettings:
// serviceScopes:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
// serviceScopes:
// - serviceScopes:

serviceSettings is a list of MeshConfig_ServiceSettings. Not entirely sure we need the double nested list?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@keithmattix do you have a preference? I am in favor of it not being double nested

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm looking at the proto, I almost feel like ServiceScopes should just be a sibling to ServiceSettings. The other fields in service settings don't make sense for service scope, and eventually, I think the latter will supplant the former

Copy link
Contributor Author

@jaellio jaellio Mar 13, 2025

Choose a reason for hiding this comment

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

Might be harder to enforce oneof though...

Copy link
Contributor

Choose a reason for hiding this comment

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

Fair enough...in that case yeah we don't want the extra nesting

Copy link
Contributor

Choose a reason for hiding this comment

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

I had another thought: I'm not sure if we can do oneOf because new versions of istiod reading old meshconfig would no longer be able to parse it correctly...

jaellio added 2 commits April 1, 2025 12:22
Signed-off-by: Jackie Elliott <[email protected]>
Signed-off-by: Jackie Elliott <[email protected]>
@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label Apr 1, 2025
@istio-testing
Copy link
Collaborator

PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Signed-off-by: Jackie Elliott <[email protected]>
@istio-testing
Copy link
Collaborator

@jaellio: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
gencheck_api ad386cf link true /test gencheck
release-notes_api ad386cf link false /test release-notes
build_api ad386cf link true /test build

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-rebase Indicates a PR needs to be rebased before being merged size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants