Skip to content
New issue

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

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

Already on GitHub? # to your account

Update AWS VPC CNI to SDK V2 Update - master branch #3070

Merged
merged 17 commits into from
Dec 9, 2024
Merged

Conversation

orsenthil
Copy link
Member

@orsenthil orsenthil commented Oct 12, 2024

This fixes the issue - #3116

Ensure Integration Tests are successful before merge.

Integration Tests on IPV4

  • CNI

image

  • IPAMD

image

  • SNAT

image

  • Custom Networking

image

  • custom-networking-sgpp

image

  • ENI Subnet Discovery

image

  • pod-eni

image

Integration Tests on IPv6

  • IPv6

image

  • cni-egress on IPv6 Cluster

image

CNI Metrics Helper

  • Against the locally build image.

image

@orsenthil orsenthil requested a review from a team as a code owner October 12, 2024 01:48
@orsenthil orsenthil removed the request for review from a team October 15, 2024 23:38
@orsenthil orsenthil force-pushed the sdk_v2_update branch 3 times, most recently from 3d25538 to 9af60b9 Compare October 18, 2024 00:38
@orsenthil orsenthil changed the base branch from release-test-sdk-v2-update to master October 18, 2024 02:37
@orsenthil orsenthil force-pushed the sdk_v2_update branch 4 times, most recently from ef2146e to 4490661 Compare October 24, 2024 17:56
@orsenthil orsenthil changed the title [Work in Progress ] - SDK V2 Update [Ready for Review ] - SDK V2 Update Nov 29, 2024
@orsenthil orsenthil requested a review from a team December 3, 2024 23:18
@orsenthil orsenthil changed the title [Ready for Review ] - SDK V2 Update Update AWS VPC CNI to SDK V2 Update - master branch Dec 3, 2024
M00nF1sh
M00nF1sh previously approved these changes Dec 4, 2024
Copy link
Contributor

@M00nF1sh M00nF1sh left a comment

Choose a reason for hiding this comment

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

/lgtm

if errors.As(err, &awsErr) {
log.Debugf("Insufficient IP Addresses due to: %v\n", awsErr.Code())
return awsErr.Code() == INSUFFICIENT_CIDR_BLOCKS || awsErr.Code() == INSUFFICIENT_FREE_IP_SUBNET
if errors.As(err, &apiErr) {
Copy link
Contributor

Choose a reason for hiding this comment

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

we should test whether those error check is still true with sdkv2.

Copy link
Member Author

Choose a reason for hiding this comment

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

The Error messages themselves are service errors, those remain true. SDK exposes them via interface like ErrorCode() instead of Code(). I had verified with OperationsError. Relied in Integration tests for the others.

1. Fix an ipamd service for ipv6 cluster.
2. Use default when endpoint is not given.
@orsenthil orsenthil merged commit 8dd2a5a into master Dec 9, 2024
5 checks passed
@orsenthil orsenthil deleted the sdk_v2_update branch January 18, 2025 00:44
HTTPClient: &http.Client{
Timeout: getHTTPTimeout(),
},
STSRegionalEndpoint: endpoints.RegionalSTSEndpoint,
Copy link
Member Author

@orsenthil orsenthil Feb 7, 2025

Choose a reason for hiding this comment

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

How is the endpoints resolve option handled in the SDK v2:

STSRegionalEndpoint: endpoints.RegionalSTSEndpoint,

Copy link
Member Author

Choose a reason for hiding this comment

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

^ In SDK v2, all sts interaction is regional only. It is transparently handled by SDK. This STSRegionalEndpoint: endpoints.RegionalSTSEndpoint, flag is not required andthe package endpoints is removed too.

orsenthil added a commit that referenced this pull request Feb 19, 2025
* Update to Changelog, config and scripts. (#3095) (#3107)

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

* Update NP strict mode doc (#3125)

* adding email to send log bundle  (#3134)

* Fix issues handling unmanaged ENIs with IPv6 only (#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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

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

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

* Update to Changelog, config and scripts.

* Add Version in Changelog.

Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

* Updating Manifest, Changelog and scripts (#3115)

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

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

Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

* fixed the changelog.

---------

Co-authored-by: Jay Deokar <23660509+jaydeokar@users.noreply.github.com>

* 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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

* Fix KOps Integration Test (#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 (#3141)

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

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

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

* Adding multus v4.1.4 manifest (#3154)

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

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

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* cni-metrics-helper metrics: do type assertion before type casting (#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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

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

* Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds (#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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add CNINode to cache filter (#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 <davanum@gmail.com>
Co-authored-by: Hao Zhou <zhuhz@amazon.com>
Co-authored-by: Harish Kuna <hakuna@amazon.com>

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

Signed-off-by: Omer Aplatony <omerap12@gmail.com>
Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

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

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

* Use awshttp client.

* Update .go-version.

* retryOnConflict shouldnt' retry on NotFound (#3192)

Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

* Update awsutils.go (#3191)

Updated typo for AssignPrivateIpv6Addresses to AssignIpv6Addresses

Co-authored-by: Senthil Kumaran <senthilx@amazon.com>

* 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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

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

* Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch (#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] <support@github.com>

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

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

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

* add rpc call to fetch np mode

* go generate

* nit: change print %t to %v

* Bug Fix: "utils prometheusmetrics: convert gauges to counters (#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 (#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] <support@github.com>
Signed-off-by: Omer Aplatony <omerap12@gmail.com>
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Co-authored-by: Jay Deokar <23660509+jaydeokar@users.noreply.github.com>
Co-authored-by: pavanipt <pavanip2201@gmail.com>
Co-authored-by: Yash Thakkar <ythakkar97@gmail.com>
Co-authored-by: Gavin Bunney <409207+gavinbunney@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shehbaj Dhillon <dshehbaj@amazon.com>
Co-authored-by: Todd Neal <tnealt@amazon.com>
Co-authored-by: Omer Aplatony <omerap12@gmail.com>
Co-authored-by: Davanum Srinivas <davanum@gmail.com>
Co-authored-by: Hao Zhou <zhuhz@amazon.com>
Co-authored-by: Harish Kuna <hakuna@amazon.com>
Co-authored-by: Hao Zhou <haouc@users.noreply.github.com>
Co-authored-by: Parikshit Patel <parixitpatel@gmail.com>
Co-authored-by: Pavani Panakanti <pavanipt@amazon.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants