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: Add AssociatePublicIpAddress to EC2NodeClass #5437

Merged
merged 13 commits into from
Feb 13, 2024

Conversation

myaser
Copy link
Contributor

@myaser myaser commented Jan 8, 2024

Fixes #2026

Description
Add an AssignPublicIpAddress field to the nodeclass

How was this change tested?
unit and integration tests were created;

Does this change impact docs?

  • Yes, PR includes docs updates
  • Yes, issue opened: #
  • No

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

@myaser myaser requested a review from a team as a code owner January 8, 2024 14:36
@myaser myaser requested a review from jmdeal January 8, 2024 14:36
Copy link

netlify bot commented Jan 8, 2024

Deploy Preview for karpenter-docs-prod canceled.

Name Link
🔨 Latest commit d7267aa
🔍 Latest deploy log https://app.netlify.com/sites/karpenter-docs-prod/deploys/65c3e2afb652a80008da2889

@jmdeal jmdeal self-assigned this Jan 8, 2024
@myaser myaser force-pushed the AssignPublicIpAddress branch 5 times, most recently from 55d57b2 to 8f79f9d Compare January 16, 2024 09:14
@coveralls
Copy link

coveralls commented Jan 16, 2024

Pull Request Test Coverage Report for Build 7820524726

  • 0 of 10 (100.0%) changed or added relevant lines in 2 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage increased (+0.02%) to 82.633%

Files with Coverage Reduction New Missed Lines %
pkg/providers/launchtemplate/launchtemplate.go 1 83.64%
Totals Coverage Status
Change from base Build 7819962129: 0.02%
Covered Lines: 5015
Relevant Lines: 6069

💛 - Coveralls

Copy link
Contributor

@jmdeal jmdeal left a comment

Choose a reason for hiding this comment

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

/karpenter snapshot

Copy link
Contributor

Snapshot successfully published to oci://021119463062.dkr.ecr.us-east-1.amazonaws.com/karpenter/snapshot/karpenter:v0-8f79f9dbc0a8792eb643d6bd24688929e36bd556.
To install you must login to the ECR repo with an AWS account:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 021119463062.dkr.ecr.us-east-1.amazonaws.com

pkg/providers/launchtemplate/launchtemplate.go Outdated Show resolved Hide resolved
pkg/providers/launchtemplate/launchtemplate.go Outdated Show resolved Hide resolved
test/suites/integration/network_interface_test.go Outdated Show resolved Hide resolved
test/suites/integration/network_interface_test.go Outdated Show resolved Hide resolved
website/content/en/preview/concepts/nodeclasses.md Outdated Show resolved Hide resolved
pkg/providers/launchtemplate/suite_test.go Show resolved Hide resolved
@myaser myaser force-pushed the AssignPublicIpAddress branch 4 times, most recently from 60c994f to e20cb23 Compare January 17, 2024 15:45
@myaser myaser force-pushed the AssignPublicIpAddress branch 2 times, most recently from 5e380ae to a7ab06e Compare January 18, 2024 11:55
@njtran njtran changed the title feat: Add AssignPublicIpAddress to EC2NodeClass feat: Add AssociatePublicIpAddress to EC2NodeClass Jan 18, 2024
Signed-off-by: Mahmoud Gaballah <[email protected]>
Signed-off-by: Mahmoud Gaballah <[email protected]>
@myaser myaser force-pushed the AssignPublicIpAddress branch from aefdf44 to 7d63122 Compare January 26, 2024 10:01
Signed-off-by: Mahmoud Gaballah <[email protected]>
@myaser myaser force-pushed the AssignPublicIpAddress branch from 7d63122 to cb7a7dd Compare January 26, 2024 10:12
Copy link
Contributor

@jmdeal jmdeal left a comment

Choose a reason for hiding this comment

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

/karpenter snapshot

Copy link
Contributor

Snapshot successfully published to oci://021119463062.dkr.ecr.us-east-1.amazonaws.com/karpenter/snapshot/karpenter:v0-cb7a7dd1e6b23d1de6b5f3186edbf2308d0a3871.
To install you must login to the ECR repo with an AWS account:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 021119463062.dkr.ecr.us-east-1.amazonaws.com

@jmdeal
Copy link
Contributor

jmdeal commented Jan 31, 2024

Other than this piece of feedback this looks good to me! I'm definitely open to discussion on that point but I think it's reasonable to enable users to still disable public IPs in public subnets for EFA instances if they want. This is relevant for instance types with a single network card and thus a single EFA.

@jmdeal jmdeal mentioned this pull request Jan 31, 2024
@myaser
Copy link
Contributor Author

myaser commented Feb 7, 2024

Other than this piece of feedback this looks good to me! I'm definitely open to discussion on that point but I think it's reasonable to enable users to still disable public IPs in public subnets for EFA instances if they want. This is relevant for instance types with a single network card and thus a single EFA.

thanks, would it be possible to add this piece of requirements iteratively? I do not think we are compromising the UX of developers with this PR, so we can consider this as the next step.

I am just afraid this is taking more and more time and we are in need of this feature, so incremental improvements would help here

@jmdeal
Copy link
Contributor

jmdeal commented Feb 7, 2024

Sure, we can include this in a follow-up PR. I do think it's important but it is a gap in the original EFA implementation. I'll take one more review pass since it's been a couple weeks since I've last looked and then this should be good to go.

Copy link
Contributor

@jmdeal jmdeal left a comment

Choose a reason for hiding this comment

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

/karpenter snapshot

Copy link
Contributor

github-actions bot commented Feb 7, 2024

Snapshot successfully published to oci://021119463062.dkr.ecr.us-east-1.amazonaws.com/karpenter/snapshot/karpenter:v0-d027001b6c3a324d283946ad7e975dfa8123c1c9.
To install you must login to the ECR repo with an AWS account:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 021119463062.dkr.ecr.us-east-1.amazonaws.com

Drops EFA tests from E2E suite, simplifies since we're only testing
private subnets, and drops EIP association checks (not assigning EIPs)
@jmdeal jmdeal force-pushed the AssignPublicIpAddress branch from ca4199a to d7267aa Compare February 7, 2024 20:06
Copy link
Contributor

@jmdeal jmdeal left a comment

Choose a reason for hiding this comment

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

/karpenter snapshot

Copy link
Contributor

github-actions bot commented Feb 7, 2024

Snapshot successfully published to oci://021119463062.dkr.ecr.us-east-1.amazonaws.com/karpenter/snapshot/karpenter:v0-d7267aab9900b476a0fb0e65a1dc6f6d15444539.
To install you must login to the ECR repo with an AWS account:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 021119463062.dkr.ecr.us-east-1.amazonaws.com

@myaser
Copy link
Contributor Author

myaser commented Feb 12, 2024

@jmdeal
what is the status now :) can we merge this?

@jmdeal
Copy link
Contributor

jmdeal commented Feb 12, 2024

Since I made a couple of small updates I can't (or at least shouldn't) approve, I've reached out to other members of the Karpenter team to give it a quick review. It looks good to me, this should be able to go in before the next release.

Copy link
Contributor

@jonathan-innis jonathan-innis left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

@jmdeal jmdeal merged commit 1d566b9 into aws:main Feb 13, 2024
27 of 28 checks passed
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.

configure network interfaces
6 participants