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

feat: create a dummy NC to store secondary IPs in nodesubnet deployments with Cilium #3057

Merged
merged 29 commits into from
Oct 18, 2024

Conversation

santhoshmprabhu
Copy link
Contributor

@santhoshmprabhu santhoshmprabhu commented Oct 8, 2024

Reason for Change:
This PR introduces a "fake NC" that we use to integrate IPs for NodeSubnet into the CNS code. The members in this "NC" except the secondary IPs are hard-coded. These NCs are used to populate the CNS state in two situations -

  1. A new set of IPs are retrieved from the NMAgent
  2. At startup, from the on-disk statefile.

In this PR, we have some of the APIs that will allow the 2 scenarios above to be implemented. Specifically, we have an API to create an NC request using a give list of secondary IPs, which will then be used to update the CNS state after a fetch from NMAgent. We also have an StateReconciler interface that creates functions for populating the CNS state from the on-disk statefile.

Issue Fixed:
NA

Requirements:

Notes:

@santhoshmprabhu santhoshmprabhu self-assigned this Oct 8, 2024
@santhoshmprabhu santhoshmprabhu added the cns Related to CNS. label Oct 8, 2024
@santhoshmprabhu santhoshmprabhu changed the title Sanprabhu/cilium node subnet nc feat: create a dummy NC to store secondary IPs in nodesubnet deployments with Cilium Oct 8, 2024
@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

cns/ipam/interfaces.go Outdated Show resolved Hide resolved
cns/nodesubnet/initialization.go Outdated Show resolved Hide resolved
cns/restserver/internalapi.go Outdated Show resolved Hide resolved
@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

cns/NetworkContainerContract.go Outdated Show resolved Hide resolved
cns/nodesubnet/initialization.go Show resolved Hide resolved
@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@santhoshmprabhu
Copy link
Contributor Author

/azp run Azure Container Networking PR

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@santhoshmprabhu santhoshmprabhu added this pull request to the merge queue Oct 17, 2024
Merged via the queue into master with commit f91ab26 Oct 18, 2024
14 checks passed
@santhoshmprabhu santhoshmprabhu deleted the sanprabhu/cilium-node-subnet-nc branch October 18, 2024 02:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cns Related to CNS.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants