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

Add security group pods scale test in ginkgo #457

Merged
merged 3 commits into from
Sep 4, 2024
Merged

Conversation

sushrk
Copy link
Contributor

@sushrk sushrk commented Aug 26, 2024

Description of changes:
Adding scale tests for pods using security groups in Ginkgo, also added support to create EKS cluster with Karpenter installed.

The ginkgo test suite creates a deployment with 1000 pods using security groups and the test is repeated three times. The EKS cluster is created with two nodes, and Karpenter should provision the required compute resources(EC2) to provision the pods. The expectation in each test is to have all pods in the deployment be ready within 5 mins.

Test:

ginkgo -v --timeout 30m -- --cluster-kubeconfig=$KUBE_CONFIG_PATH --cluster-name=$CLUSTER_NAME --aws-region=$AWS_REGION --aws-vpc-id=$VPC_ID
  Attempt #1 Passed.  Repeating ↺ @ 08/26/24 18:37:52.145
  Attempt #2 Passed.  Repeating ↺ @ 08/26/24 18:45:27.071

Ran 1 of 1 Specs in 1579.915 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
PASS

Ginkgo ran 1 suite in 26m25.439391588s
Test Suite Passed

EDIT: Adding the results from the test in beta:

Ran 1 of 1 Specs in 1688.016 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
PASS

Ginkgo ran 1 suite in 28m10.302940807s
Test Suite Passed

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@sushrk sushrk requested a review from a team as a code owner August 26, 2024 19:47
@yash97
Copy link
Contributor

yash97 commented Aug 29, 2024

Question regarding this PR:- How can we effectively test pod creation latency before releasing VPC-RC release candidate? Currently, our cluster uses EKS to test pod creation latency, but this doesn't allow us to run custom version of VPC-RC. Is my understanding correct, or are there alternative methods we could employ for pre-release testing?

@sushrk
Copy link
Contributor Author

sushrk commented Sep 4, 2024

Question regarding this PR:- How can we effectively test pod creation latency before releasing VPC-RC release candidate? Currently, our cluster uses EKS to test pod creation latency, but this doesn't allow us to run custom version of VPC-RC. Is my understanding correct, or are there alternative methods we could employ for pre-release testing?

Synced offline with @yash97- to test before releases, we need to create beta EKS clusters. Instructions to create EKS beta cluster and install Karpenter will be added to our internal release process documents.

Copy link
Contributor

@yash97 yash97 left a comment

Choose a reason for hiding this comment

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

thank you for addressing issue. lgtm

@haouc haouc merged commit 0a0c86b into aws:master Sep 4, 2024
4 checks passed
@sushrk sushrk deleted the scaletest branch September 4, 2024 23:51
yash97 pushed a commit to yash97/amazon-vpc-resource-controller-k8s that referenced this pull request Nov 15, 2024
* Add security group pods scale test in ginkgo

* Add instructions to run scale tests manually

* fix typo in README
yash97 added a commit that referenced this pull request Nov 18, 2024
* remove global exclusion for G108,G114 and add nosec in code (#404)

* Update controller_auth_proxy_patch.yaml (#405)

Update the reference from gcr.io to registry.k8s.io

>  kube-rbac-proxy is moving to registry.k8s.io/kubebuilder/kube-rbac-proxy (from gcr.io/kubebuilder/kube-rbac-proxy) because GCR is being sunset. We need to update these references.

* Fix log which causes panic (#407)

* Fix log which causes panic

* Consistent key name

* consistent naming

* updating ginkgo and gomega

* Bump github.com/prometheus/common from 0.51.1 to 0.53.0

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.51.1 to 0.53.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.51.1...v0.53.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 github.com/prometheus/client_model from 0.6.0 to 0.6.1 (#432)

Bumps [github.com/prometheus/client_model](https://github.com/prometheus/client_model) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/prometheus/client_model/releases)
- [Commits](prometheus/client_model@v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_model
  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>

* Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.19.0 (#431)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.17.2 to 2.19.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.17.2...v2.19.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* QPS and busrt adjustment (#436)

* readme update for events (#453)

* Set controller user-agent to vpc-resource-controller/git-version (#455)

* update user-agent string.

* Use AppName instead of ControllerName.

* Add security group pods scale test in ginkgo (#457)

* Add security group pods scale test in ginkgo

* Add instructions to run scale tests manually

* fix typo in README

* Passing page limit to cach config instead of override. (#452)

* passing page limit to cache config

* adding error log to optimized list watcher

* importing vpc pkg

* pods will requeue for reconcile if nodes are not managed and requested eni (#463)

* pod will requeue for reconcile if nodes are not managed and requested eni

* log statement change

* looping through all container for eni requests

* adding ut for utils function

* add CNINode integration tests (#479)

* add CNINode integration tests

* address PR comments

* updating log statements

* add retry in VerifyCNINode

* Bump go.uber.org/zap from 1.26.0 to 1.27.0 (#480)

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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* increasing timeout for few integration test (#486)

* Skipping health check on nodes if EC2 returns throttling errors (#485)

* updating limits.go for supported ec2 instance type #491

* Bump github.com/samber/lo from 1.39.0 to 1.47.0 (#481)

Bumps [github.com/samber/lo](https://github.com/samber/lo) from 1.39.0 to 1.47.0.
- [Release notes](https://github.com/samber/lo/releases)
- [Commits](samber/lo@v1.39.0...v1.47.0)

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

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Sushmitha Ravikumar <58063229+sushrk@users.noreply.github.com>
Co-authored-by: Senthil Kumaran <senthilx@amazon.com>
Co-authored-by: Garvin Pang <garvinpang@protonmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hao Zhou <haouc@users.noreply.github.com>
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.

3 participants