Skip to content

Adding support in CNI for managing multiple network interface card on the instance #3232

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

Open
wants to merge 38 commits into
base: multi-nic-support
Choose a base branch
from

Conversation

jaydeokar
Copy link
Contributor

@jaydeokar jaydeokar commented Mar 12, 2025

What type of PR is this?
feature

Which issue does this PR fix?:

N/A

What does this PR do / Why do we need it?:
Amazon VPC CNI only manages Network Card 0 on all instances (including multicard supported instances). This restricts the bandwidth usage to only network card 0 as pod interfaces are only connected to NIC 0. With this change, CNI now starts to manage all the available network cards.
A pod can now request access to these network cards via an annotation to make use of all the available bandwidth. A pod which requires this support can do so via annotation. This will create interfaces in the pod namespace equal to the number of network cards available for use on the instance. The pods can then use these interfaces for their egress traffic which has certain BW requirements.

Describing major changes as the change log is significant

CNI

Add flow

  • CNI looks for annotations on the pod using the capabilities option. If the pod contains annotation k8s.amazonaws.com/nicConfig: multi-nic-attachment, CNI will ask for multiple IPs from network cards available on the instance.
  • IPAMD now returns a list of IPs (IPAddress field in GRPC response). The number of IPs returned equals the number of interfaces created by CNI inside the Pod.
  • Host veth name for multi-nic interfaces is generated by <pod-namespace>.<pod-name>.<index>. However we still retain the original naming convention for the first interface of the pod <pod-namespace>.<pod-name>
  • Container veth name for multi-nic interfaces has a prefix mNicIf eg mNicf1, mNicIf2 ...
  • IPAMD now returns route table number instead of just the device number. The Route table number is calculated as (network card index * max ENIs per NIC) + device-number + 1. Note Route table number 1 (device 0, network card 0) is the main route table for CNI
  • CNI now stores the Route table number of the interface in the container interface struct PciID, which is used to cleanup pod networking when IPAMD is down (del with prev result)
  • CNI runs a loop over the IP address and attaches to the Pod network.

Delete flow

  • CNI relies on IPAMD to return the number of IPs and interface to delete
  • If IPAMD is down, CNI uses the prev result to delete the Pod and Host Network

IPAMD

Node Init Flow

  1. IPAMD now initializes all the network card on the instance and creates datastore for each network card
  2. For IPv4 and IPv6, it initializes the host network for the primary interface
    a. For IPv6, it adds an additional rule in NAT table to exlude SNAT for link local traffic. This is required for DHCPv6 address
  3. IPAMD now includes checks for UpdatingCIDRRules when the VPC CIDR or the Security Group associated with the ENIs changes for IPv6 (which already existed for IPv4)
  4. On node init, IPAMD initializes all the available datastores and if the datastore is low, it creates interfaces for each network card. It has a new function for IPv6 ENIs where we create 1 ENI for each network card with IPv6 address and then assign an Prefix of size /80. If the creation of ENI fails (due to missing permission), we don't fail

Testing done on this change:
Yes, ran all the test suites on a single card instance and ran manual tests on a multicard- instance

Will this PR introduce any new dependencies?:
No

Will this break upgrades or downgrades? Has updating a running cluster been tested?:
Upgrades should be fine. Downgrade requires to delete the pods using multi-nic annotation and then downgrade otherwise the Pod IPs/Host Networking setup can leak

Does this change require updates to the CNI daemonset config files to work?:
No

Does this PR introduce any user-facing change?:
Yes, customers will now see interfaces attached to NIC > 0 on supported instances


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch 4 times, most recently from 1762e22 to 6762628 Compare March 27, 2025 22:35
@jaydeokar jaydeokar changed the base branch from master to multi-nic-support March 27, 2025 22:36
@jaydeokar jaydeokar marked this pull request as ready for review March 27, 2025 22:36
@jaydeokar jaydeokar requested a review from a team as a code owner March 27, 2025 22:36
@jaydeokar jaydeokar changed the title Multi nic ipamd changes Adding support in CNI for managing multiple network interface card on the instance Mar 31, 2025
@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch 2 times, most recently from 02bd18c to 5d6d399 Compare March 31, 2025 17:58
oliviassss and others added 3 commits March 31, 2025 17:17
* remove apiserver dependency for ipamd startup

* fix format issue in UT

* wait apiserver connectivty for pod annotate feature

* return maxPods value directly when parsing the local file
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.36.0 to 1.36.2.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.36.0...v1.36.2)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.30.0 to 0.31.0.
- [Commits](golang/sys@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch 2 times, most recently from 4e58726 to f8539d9 Compare April 11, 2025 04:52
Pavani-Panakanti and others added 6 commits April 14, 2025 13:44
…et (aws#3254)

* Skip configuring network policies if network_policy_enforcing_mode is not set

* make format and update chart

* fix vuln checks

* fix metrics agent and readme
Bumps [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) from 0.31.3 to 0.32.3.
- [Commits](kubernetes/cli-runtime@v0.31.3...v0.32.3)

---
updated-dependencies:
- dependency-name: k8s.io/cli-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jay Deokar <[email protected]>
@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch 5 times, most recently from 4cc953e to 19af501 Compare April 29, 2025 16:08
dependabot bot and others added 8 commits May 7, 2025 13:37
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.32.3 to 0.33.0.
- [Commits](kubernetes/apimachinery@v0.32.3...v0.33.0)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jay Deokar <[email protected]>
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.31.0 to 0.32.0.
- [Commits](golang/sys@v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jay Deokar <[email protected]>
Bumps [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2) from 1.16.22 to 1.16.30.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ram/v1.16.22...feature/ec2/imds/v1.16.30)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jay Deokar <[email protected]>
…ot make EC2 API calls but relying on IMDS metadata for ip assignment (aws#3287)
* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3108)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Updating Manifest, Changelog and scripts (aws#3115)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3118)

* Update to Changelog, config and scripts.
* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Update to Changelog, config and scripts. (aws#3095) (aws#3107)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Update NP strict mode doc (aws#3125)

* adding email to send log bundle  (aws#3134)

* Fix issues handling unmanaged ENIs with IPv6 only (aws#3122)

* Bump go.uber.org/zap from 1.26.0 to 1.27.0

Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/uber-go/zap/releases)
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md)
- [Commits](uber-go/zap@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: go.uber.org/zap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/stretchr/testify from 1.9.0 to 1.10.0

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/onsi/gomega from 1.35.1 to 1.36.0

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.35.1 to 1.36.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.35.1...v1.36.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/prometheus/common from 0.60.0 to 0.60.1

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.60.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.0...v0.60.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.22.0

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.20.1 to 2.22.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.20.1...v2.22.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.26.0 to 0.27.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.27.0.
- [Commits](golang/sys@v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.27.0 to 0.28.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.27.0 to 0.28.0.
- [Commits](golang/sys@v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix KOps Integration Test (aws#3140)

* scripts lib integration: add more logging steps

* scripts lib cluster: increase kops control plane node size

* run make generate-limits to update the max pods file (aws#3141)

* Fix the CHANGELOG.md duplication.

* Revert "utils prometheusmetrics: convert gauges to counters (aws#3093)"

This reverts commit d57c443.

* Update crypto module dependency to handle CVE report.

* Update CNI and NP Agent Version and Changelog.

* Revert "Fix issues handling unmanaged ENIs with IPv6 only (aws#3122)"

This reverts commit 7b46f6b.

* Update Changelog to reflect on revert of aws#3122

* Update Changelog and Version for CNI 1.19.2

* Merge Changes from master to release-1.19 (aws#3207)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Update NP strict mode doc (aws#3125)

* adding email to send log bundle  (aws#3134)

* Fix issues handling unmanaged ENIs with IPv6 only (aws#3122)

* Bump go.uber.org/zap from 1.26.0 to 1.27.0

Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/uber-go/zap/releases)
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md)
- [Commits](uber-go/zap@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: go.uber.org/zap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/stretchr/testify from 1.9.0 to 1.10.0

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/onsi/gomega from 1.35.1 to 1.36.0

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.35.1 to 1.36.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.35.1...v1.36.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/prometheus/common from 0.60.0 to 0.60.1

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.60.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.0...v0.60.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog from release-1.19 branch to master branch. (aws#3136)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3108)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Updating Manifest, Changelog and scripts (aws#3115)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3118)

* Update to Changelog, config and scripts.
* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* fixed the changelog.

---------

Co-authored-by: Jay Deokar <[email protected]>

* Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.22.0

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.20.1 to 2.22.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.20.1...v2.22.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.26.0 to 0.27.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.27.0.
- [Commits](golang/sys@v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.27.0 to 0.28.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.27.0 to 0.28.0.
- [Commits](golang/sys@v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix KOps Integration Test (aws#3140)

* scripts lib integration: add more logging steps

* scripts lib cluster: increase kops control plane node size

* run make generate-limits to update the max pods file (aws#3141)

* Update AWS VPC CNI to SDK V2 Update - master branch (aws#3070)

* Update AWS SDK to Version 2 and Remove V1 Dependency. Fixes aws#3116

* Handle EKS Service for the Beta Endpoint. (aws#3143)

* Adding multus v4.1.4 manifest (aws#3154)

* scripts integration: capture exit codes from both tests (aws#3149)

* fix(test): add volume mount for docker-func-test target (aws#3160)

Signed-off-by: Omer Aplatony <[email protected]>

* cni-metrics-helper metrics: do type assertion before type casting (aws#3152)

* cni-metrics-helper metrics: do type assertion before type casting

* utils prometheusmetrics: remove counters from cni metrics mapping func

* Bump helm.sh/helm/v3 from 3.15.2 to 3.16.4

Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.15.2 to 3.16.4.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](helm/helm@v3.15.2...v3.16.4)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.50.0 to 1.51.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.50.0...service/s3/v1.51.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/iam from 1.38.1 to 1.38.3

Bumps [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2) from 1.38.1 to 1.38.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.38.1...service/s3/v1.38.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/iam
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update Changelog and Version for CNI 1.19.2 (aws#3171)

* Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds (aws#3166)

Bumps [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2) from 1.16.19 to 1.16.22.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/ram/v1.16.19...service/ram/v1.16.22)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add CNINode to cache filter (aws#3164)

We should reduce the number of CNINode object VPC CNI watches for to
just the node it is managing as well.

Signed-off-by: Davanum Srinivas <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Harish Kuna <[email protected]>

* fix: remove null creationTimestamp from CRD metadata (aws#3163)

Signed-off-by: Omer Aplatony <[email protected]>
Co-authored-by: Senthil Kumaran <[email protected]>

* Fix issue with primary ENI ip lookup when an ENI has both IPv4 and IPv6 address. (aws#3156)

* Use awshttp client instead of smithy httpclient. (aws#3193)

* Use awshttp client.

* Update .go-version.

* retryOnConflict shouldnt' retry on NotFound (aws#3192)

Co-authored-by: Senthil Kumaran <[email protected]>

* Update awsutils.go (aws#3191)

Updated typo for AssignPrivateIpv6Addresses to AssignIpv6Addresses

Co-authored-by: Senthil Kumaran <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch

Bumps [github.com/aws/aws-sdk-go-v2/service/cloudwatch](https://github.com/aws/aws-sdk-go-v2) from 1.43.0 to 1.43.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.43.0...service/cloudwatch/v1.43.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudwatch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.51.2 to 1.51.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.51.2...service/autoscaling/v1.51.10)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/prometheus/common from 0.60.1 to 0.62.0

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.1 to 0.62.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.1...v0.62.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.28.0 to 0.29.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.28.0 to 0.29.0.
- [Commits](golang/sys@v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.29.0 to 0.30.0 in /test/agent (aws#3198)

* Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch (aws#3199)

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.51.10 to 1.51.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/fsx/v1.51.10...service/autoscaling/v1.51.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/samber/lo from 1.39.0 to 1.49.1 (aws#3184)

* Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.52.1 to 1.58.0 (aws#3200)

* Add grpc call to fetch networkpolicymode from NP (aws#3202)

* add rpc call to fetch np mode

* go generate

* nit: change print %t to %v

* Bug Fix: "utils prometheusmetrics: convert gauges to counters (aws#3093)""

This reverts commit e9af9f3 which
removed it in CNI 1.19.2 with fix in master.

* Fix issues handling unmanaged ENIs with IPv6 only (aws#3122)

This reverts commit 0a200d6 which
reverted only in CNI 1.19.2 with fix in master.

* Changes to attach probes at pod start

* minor error change

* do not ret error on grpc dial

* add dial with context

* update mocked grpc wrapper and unit tests

add new lines to satisfy format check

update unit tests for DialContext

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Omer Aplatony <[email protected]>
Signed-off-by: Davanum Srinivas <[email protected]>
Co-authored-by: Jay Deokar <[email protected]>
Co-authored-by: pavanipt <[email protected]>
Co-authored-by: Yash Thakkar <[email protected]>
Co-authored-by: Gavin Bunney <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shehbaj Dhillon <[email protected]>
Co-authored-by: Todd Neal <[email protected]>
Co-authored-by: Omer Aplatony <[email protected]>
Co-authored-by: Davanum Srinivas <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Harish Kuna <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Parikshit Patel <[email protected]>
Co-authored-by: Pavani Panakanti <[email protected]>

* Merged master into release-1.19 with master versions for all conflicts (aws#3256)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Update NP strict mode doc (aws#3125)

* adding email to send log bundle  (aws#3134)

* Fix issues handling unmanaged ENIs with IPv6 only (aws#3122)

* Bump go.uber.org/zap from 1.26.0 to 1.27.0

Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/uber-go/zap/releases)
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md)
- [Commits](uber-go/zap@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: go.uber.org/zap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/stretchr/testify from 1.9.0 to 1.10.0

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/onsi/gomega from 1.35.1 to 1.36.0

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.35.1 to 1.36.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.35.1...v1.36.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/prometheus/common from 0.60.0 to 0.60.1

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.60.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.0...v0.60.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog from release-1.19 branch to master branch. (aws#3136)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3108)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* Updating Manifest, Changelog and scripts (aws#3115)

* Update to Changelog, config and scripts. (aws#3095) (aws#3107) (aws#3118)

* Update to Changelog, config and scripts.
* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <[email protected]>

* fixed the changelog.

---------

Co-authored-by: Jay Deokar <[email protected]>

* Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.22.0

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.20.1 to 2.22.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.20.1...v2.22.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.26.0 to 0.27.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.27.0.
- [Commits](golang/sys@v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.27.0 to 0.28.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.27.0 to 0.28.0.
- [Commits](golang/sys@v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix KOps Integration Test (aws#3140)

* scripts lib integration: add more logging steps

* scripts lib cluster: increase kops control plane node size

* run make generate-limits to update the max pods file (aws#3141)

* Update AWS VPC CNI to SDK V2 Update - master branch (aws#3070)

* Update AWS SDK to Version 2 and Remove V1 Dependency. Fixes aws#3116

* Handle EKS Service for the Beta Endpoint. (aws#3143)

* Adding multus v4.1.4 manifest (aws#3154)

* scripts integration: capture exit codes from both tests (aws#3149)

* fix(test): add volume mount for docker-func-test target (aws#3160)

Signed-off-by: Omer Aplatony <[email protected]>

* cni-metrics-helper metrics: do type assertion before type casting (aws#3152)

* cni-metrics-helper metrics: do type assertion before type casting

* utils prometheusmetrics: remove counters from cni metrics mapping func

* Bump helm.sh/helm/v3 from 3.15.2 to 3.16.4

Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.15.2 to 3.16.4.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](helm/helm@v3.15.2...v3.16.4)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.50.0 to 1.51.2.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.50.0...service/s3/v1.51.2)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/iam from 1.38.1 to 1.38.3

Bumps [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2) from 1.38.1 to 1.38.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.38.1...service/s3/v1.38.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/iam
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update Changelog and Version for CNI 1.19.2 (aws#3171)

* Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds (aws#3166)

Bumps [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2) from 1.16.19 to 1.16.22.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/ram/v1.16.19...service/ram/v1.16.22)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add CNINode to cache filter (aws#3164)

We should reduce the number of CNINode object VPC CNI watches for to
just the node it is managing as well.

Signed-off-by: Davanum Srinivas <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Harish Kuna <[email protected]>

* fix: remove null creationTimestamp from CRD metadata (aws#3163)

Signed-off-by: Omer Aplatony <[email protected]>
Co-authored-by: Senthil Kumaran <[email protected]>

* Fix issue with primary ENI ip lookup when an ENI has both IPv4 and IPv6 address. (aws#3156)

* Use awshttp client instead of smithy httpclient. (aws#3193)

* Use awshttp client.

* Update .go-version.

* retryOnConflict shouldnt' retry on NotFound (aws#3192)

Co-authored-by: Senthil Kumaran <[email protected]>

* Update awsutils.go (aws#3191)

Updated typo for AssignPrivateIpv6Addresses to AssignIpv6Addresses

Co-authored-by: Senthil Kumaran <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch

Bumps [github.com/aws/aws-sdk-go-v2/service/cloudwatch](https://github.com/aws/aws-sdk-go-v2) from 1.43.0 to 1.43.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.43.0...service/cloudwatch/v1.43.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudwatch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.51.2 to 1.51.10.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.51.2...service/autoscaling/v1.51.10)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/prometheus/common from 0.60.1 to 0.62.0

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.1 to 0.62.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.1...v0.62.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.28.0 to 0.29.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.28.0 to 0.29.0.
- [Commits](golang/sys@v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.29.0 to 0.30.0 in /test/agent (aws#3198)

* Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch (aws#3199)

* Bump github.com/aws/aws-sdk-go-v2/service/autoscaling

Bumps [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) from 1.51.10 to 1.51.12.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/fsx/v1.51.10...service/autoscaling/v1.51.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump github.com/samber/lo from 1.39.0 to 1.49.1 (aws#3184)

* Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.52.1 to 1.58.0 (aws#3200)

* Add grpc call to fetch networkpolicymode from NP (aws#3202)

* add rpc call to fetch np mode

* go generate

* nit: change print %t to %v

* Changes to attach probes at pod start

* minor error change

* do not ret error on grpc dial

* add dial with context

* update mocked grpc wrapper and unit tests

add new lines to satisfy format check

update unit tests for DialContext

* improvement: add podmonitor for vpc metric collection (aws#3061)

* add podmonitor for vpc metric collections

Signed-off-by: adam_buran <[email protected]>

* expose nodeagent metrics port

Signed-off-by: adam_buran <[email protected]>

* expose nodeagent metrics port in values.yaml

Signed-off-by: adam_buran <[email protected]>

* update to add agent metrics to podmonitor

Signed-off-by: adam_buran <[email protected]>

---------

Signed-off-by: adam_buran <[email protected]>
Co-authored-by: adam_buran <[email protected]>
Co-authored-by: Senthil Kumaran <[email protected]>

* Fix print the error message in string instead of bytes. (aws#3208)

* Fix the error message format.
* Address review comment.

* update np standard mode doc (aws#3211)

Co-authored-by: Senthil Kumaran <[email protected]>

* config multus: add v4.1.4-eksbuild.3 (aws#3217)

* update helm chart to ensure that created eniconfig name is always a string (aws#3227)

* Bump github.com/containerd/containerd from 1.7.23 to 1.7.27

Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.23 to 1.7.27.
- [Release notes](https://github.com/containerd/containerd/releases)
- [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md)
- [Commits](containerd/containerd@v1.7.23...v1.7.27)

---
updated-dependencies:
- dependency-name: github.com/containerd/containerd
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* adding eni owner tag if cluster name is present (aws#3228)

* only cache CNINode when SGP  is in use (aws#3242)

* Remove dependency on apiserver for IPAMD startup (aws#3243)

* remove apiserver dependency for ipamd startup

* fix format issue in UT

* wait apiserver connectivty for pod annotate feature

* return maxPods value directly when parsing the local file

* Bump github.com/onsi/gomega from 1.36.0 to 1.36.2

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.36.0 to 1.36.2.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.36.0...v1.36.2)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump golang.org/x/sys from 0.30.0 to 0.31.0 in /test/agent

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.30.0 to 0.31.0.
- [Commits](golang/sys@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Skip configuring NP related if network_policy_enforcing_mode is not set (aws#3254)

* Skip configuring network policies if network_policy_enforcing_mode is not set

* make format and update chart

* fix vuln checks

* fix metrics agent and readme

* remove unneeded metricsBindPort from charts (aws#3257)

* bump up go version (aws#3259)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Omer Aplatony <[email protected]>
Signed-off-by: Davanum Srinivas <[email protected]>
Signed-off-by: adam_buran <[email protected]>
Co-authored-by: Jay Deokar <[email protected]>
Co-authored-by: Senthil Kumaran <[email protected]>
Co-authored-by: pavanipt <[email protected]>
Co-authored-by: Yash Thakkar <[email protected]>
Co-authored-by: Gavin Bunney <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shehbaj Dhillon <[email protected]>
Co-authored-by: Todd Neal <[email protected]>
Co-authored-by: Omer Aplatony <[email protected]>
Co-authored-by: Davanum Srinivas <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Harish Kuna <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Parikshit Patel <[email protected]>
Co-authored-by: Pavani Panakanti <[email protected]>
Co-authored-by: Adam Buran <[email protected]>
Co-authored-by: adam_buran <[email protected]>
Co-authored-by: Adam <[email protected]>

* run make generate-limits (aws#3260) (aws#3261)

* cut v1.19.4 release (aws#3262)

* cherry-pick:  fix node init failure, add sgpp test in script (aws#3277)  (aws#3278)

* fix node init failure, add sgpp test in script (aws#3277)

* remove redundant cninode cache filter

* Adding release notes and chart update (aws#3281)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Omer Aplatony <[email protected]>
Signed-off-by: Davanum Srinivas <[email protected]>
Signed-off-by: adam_buran <[email protected]>
Co-authored-by: Senthil Kumaran <[email protected]>
Co-authored-by: pavanipt <[email protected]>
Co-authored-by: Yash Thakkar <[email protected]>
Co-authored-by: Gavin Bunney <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shehbaj Dhillon <[email protected]>
Co-authored-by: Todd Neal <[email protected]>
Co-authored-by: Omer Aplatony <[email protected]>
Co-authored-by: Davanum Srinivas <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Harish Kuna <[email protected]>
Co-authored-by: Hao Zhou <[email protected]>
Co-authored-by: Parikshit Patel <[email protected]>
Co-authored-by: Pavani Panakanti <[email protected]>
Co-authored-by: Olivia Song <[email protected]>
Co-authored-by: Adam Buran <[email protected]>
Co-authored-by: adam_buran <[email protected]>
Co-authored-by: Adam <[email protected]>
@jayanthvn jayanthvn requested a review from Copilot May 27, 2025 01:37
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces multi-NIC support for the CNI plugin by updating numerous function interfaces (e.g. AllocENI, attachENI) and corresponding tests and mocks, so that pods can be annotated to request attachments on additional network cards.

  • Updated AWS utilities and mocks to pass and use a new networkCard parameter.
  • Extended CNI and driver logic to generate host and container veth names with proper route table IDs.
  • Modified charts, configuration files, and tests to support multi-NIC setups and ensure backward compatibility.

Reviewed Changes

Copilot reviewed 47 out of 47 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/awsutils/mocks/awsutils_mocks.go Updated function signatures and parameter names in mocks for clarity and to include the networkCard parameter.
pkg/awsutils/imds.go Added new methods for IPv6 and network card lookups; adjusted error handling to treat missing fields appropriately.
pkg/awsutils/awsutils.go Modified interface functions (AllocENI, attachENI, awsGetFreeDeviceNumber) to handle multi-NIC logic and routing table calculations.
Various test files (imds_test.go, awsutils_test.go) Updated tests for new multi-NIC behavior and adjusted expectations accordingly.
cmd/* Refactored CNI plugin, driver, and associated tests to support multi-veth setups and multi-NIC annotation handling.
Charts and configuration files Added new configuration options and updated documentation to reflect multi-NIC support.

}

message DeleteNpRequest {
bool Success = 1;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Need to remove this field

dependabot bot and others added 2 commits June 3, 2025 15:50
aws#3295)

Bumps [github.com/vishvananda/netlink](https://github.com/vishvananda/netlink) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/vishvananda/netlink/releases)
- [Commits](vishvananda/netlink@v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: github.com/vishvananda/netlink
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.17.3 to 3.18.1.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](helm/helm@v3.17.3...v3.18.1)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-version: 3.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jay Deokar <[email protected]>
@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch from 19af501 to 9ee1ed3 Compare June 4, 2025 18:44
devanshpoplii and others added 12 commits June 4, 2025 22:42
findMyPod function retrieves the aws-node daemonset pod and the Debug log was printing "Node found" instead, it should be "Pod found"

Co-authored-by: Jay Deokar <[email protected]>
Co-authored-by: Jayanth Varavani <[email protected]>
* add ipamd readiness latency metrics

* metrics renaming

---------

Co-authored-by: Jay Deokar <[email protected]>
@jaydeokar jaydeokar force-pushed the multi-nic-ipamd-changes branch from 9ee1ed3 to 7d6a288 Compare June 7, 2025 00:46
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.

9 participants