Skip to content

Create TopologyProvider for NEG controller's syncers#3121

Open
anyush wants to merge 3 commits into
kubernetes:masterfrom
anyush:topology-provider
Open

Create TopologyProvider for NEG controller's syncers#3121
anyush wants to merge 3 commits into
kubernetes:masterfrom
anyush:topology-provider

Conversation

@anyush

@anyush anyush commented May 27, 2026

Copy link
Copy Markdown
Contributor

Create interface for providing target subnets/zones where NEGs should be created/managed by NEG controller, so it will be possible to provide these in future APIs instead of solely rely on the NodeTopology CR.

Also makes zones list subnet-aware for syncer - for different subnets different subsets of zones can be provided.

EDIT:
Overview:

  • ZoneGetter accessed through TopologyProvider by the transactionSyncer
  • Zones list provided by TopologyProvider is subnet-dependent (possible to have different zones for different subnets)
  • transactionSyncer.IsZoneChange checks zones per subnet, which leads to verifying subnets' change as well - transactionSyncer.IsSubnetChange removed, transactionSyncer.IsZoneChange updated and renamed into transactionSyncer.IsLocationChange

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 27, 2026
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @anyush. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Tip

We noticed you've done this a few times! Consider joining the org to skip this step and gain /lgtm and other bot rights. We recommend asking approvers on your previous PRs to sponsor you.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 27, 2026
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label May 27, 2026
@TortillaZHawaii

Copy link
Copy Markdown
Member

/ok-to-test

🥔

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 27, 2026

@TortillaZHawaii TortillaZHawaii left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

small changes required, I hope Vadym catches anything NEG domain related

Comment thread pkg/neg/syncers/transaction_test.go Outdated
Comment thread pkg/utils/zonegetter/zone_getter_test.go
Comment thread pkg/utils/zonegetter/zone_getter_test.go Outdated
Comment thread pkg/utils/zonegetter/zone_getter.go
Comment thread pkg/utils/zonegetter/zone_getter.go
Comment thread pkg/neg/types/interfaces.go
Comment thread pkg/neg/syncers/transaction.go Outdated
@anyush anyush force-pushed the topology-provider branch 2 times, most recently from 832220b to a280f9e Compare May 28, 2026 10:49
Comment thread pkg/utils/zonegetter/zone_getter.go
Comment thread pkg/neg/syncers/transaction.go
Comment thread pkg/neg/types/interfaces.go
Comment thread pkg/neg/types/interfaces.go
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 3, 2026
@anyush anyush force-pushed the topology-provider branch from 28c85ad to 690e3d4 Compare June 8, 2026 10:57
@anyush

anyush commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

/retest

Comment thread pkg/neg/syncers/transaction.go Outdated
Comment thread pkg/neg/syncers/transaction.go
@anyush anyush force-pushed the topology-provider branch from 690e3d4 to eec36be Compare June 10, 2026 12:14
@anyush

anyush commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@midavadim

Copy link
Copy Markdown
Contributor

LGTM

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: anyush, midavadim
Once this PR has been reviewed and has the lgtm label, please assign bowei for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 17, 2026
anyush added 3 commits June 17, 2026 12:17
…return true for new/removed subnets; rename isZoneChange to isTopologyChange
@anyush anyush force-pushed the topology-provider branch from eec36be to 62a3dd9 Compare June 17, 2026 12:29
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants