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 ENABLE_V4_EGRESS env var to control IPv4 egress in IPv6 clusters #2577

Merged
merged 1 commit into from
Sep 21, 2023

Conversation

jdn5126
Copy link
Contributor

@jdn5126 jdn5126 commented Sep 21, 2023

What type of PR is this?
feature

Which issue does this PR fix:
aws/aws-network-policy-agent#55

What does this PR do / Why do we need it:
This PR adds a new environment variable, ENABLE_V4_EGRESS, which controls whether the egress-cni chained plugin is enabled for IPv6 clusters. The value is enabled by default, preserving the existing IPv6 default. When disabled, an IPv4 interface will not be created in IPv6 pods, blocking those pods from reaching IPv4 endpoints.

The primary motivation for this PR is to address aws/aws-network-policy-agent#55, where the concern is network policies in IPv6 clusters not applying to IPv4 traffic.

If an issue # is not available please add repro steps and logs from IPAMD/CNI showing the issue:
N/A

Testing done on this change:
Manually verified that chained plugin is enabled or disabled based on env var.

Automation added to e2e:
N/A

Will this PR introduce any new dependencies?:
No

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No, Yes

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

Does this PR introduce any user-facing change?:
Yes

Introduce ENABLE_V4_EGRESS, which controls whether egress-cni plugin is enabled in IPv6 clusters.

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

@jdn5126 jdn5126 requested a review from a team as a code owner September 21, 2023 16:32
jchen6585
jchen6585 previously approved these changes Sep 21, 2023
Copy link
Contributor

@jchen6585 jchen6585 left a comment

Choose a reason for hiding this comment

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

lgtm

README.md Outdated Show resolved Hide resolved
@jdn5126 jdn5126 merged commit e6974db into aws:master Sep 21, 2023
4 checks passed
@jdn5126 jdn5126 deleted the enable_v4_egress branch September 21, 2023 20:02
jdn5126 added a commit that referenced this pull request Oct 20, 2023
* restore node update permission to master until image tag can be updated (#2513)

* Merge branch 'release-1.14' (#2517)

* network policies update to readme (#2478)

* init draft of network policy desc

* add security note

* fixup

* fixup

* fix placeholder link

* Update manifest for cni 1.14 (#2526)

* Mimic VPC-RC limit struture (#2516)

* limits api pkg (#2528)

* Update kops tests for 1.28 and fix generate-cni-yaml script (#2536)

* skip IPAMD events test (#2537)

* chore: remove refs to deprecated io/ioutil (#2541)

* Change default Node Agent ports for health and metrics (#2545)

* remove self-managed node group from pod-eni test suite (#2547)

* bump controller runtime to 0.16.1 (#2548)

Co-authored-by: Joseph Chen <[email protected]>

* update agent image (#2554)

* fix(chart): Switch base64 encoded cniConfig.fileContents to the binaryData (#2552)

* Update the use of privileged flag in aws-vpc-cni manifest (#2555)

* increment default Calico version for helm compatibility (#2560)

* update nginx image (#2561)

* Only metrics (#2557)

Prometheus metrics for capturing ENI IP usage and no available IP address errors

Co-authored-by: Lindsay Hanks <[email protected]>

* CHANGELOG, chart, and manifest updates for VPC CNI v1.15.0 release (#2563)

* remove calico test suite from weekly integration tests (#2559)

* remove addon-tests integration suite as it is no longer needed (#2564)

* Only metrics (#2569)

* rename warm pool metrics

---------

Co-authored-by: Lindsay Hanks <[email protected]>

* Fix unused version variable (#2566)

* Update example table 'Pod per Prefixes' value (#2573)

* Bandwidth plugin with NP is currently unsupported (#2572)

* Bandwidth plugin with NP

* Messaging review

* pass CNINode scheme to client only (#2570)

* reduce api calls (#2575)

* Add region flag to describe-addon command (#2576)

* add ENABLE_V4_EGRESS (#2577)

* Add test registry parameter for ipv6 and CNI full tests (#2585)

* update golang image (#2586)

* increase time for service readiness (#2587)

* do not patch CNINode for custom networking unless podENI is enabled (#2591)

* Remove self-managed node group from custom-networking suite (#2590)

* remove self-managed node group from custom-networking suite

* Select CNI manifest based on regions (#2593)

* Update metrics helper image url based on region (#2604)

* dependabot updates (#2605)

* Graceful termination for service connectivity tests (#2611)

* update CHANGELOG, charts, and manifests in master following v1.15.1 release (#2614)

* go module updates and golang builder image update (#2615)

* update Golang to 1.21.3 (#2616)

* Stricter dependency/security review (#2617)

* Stricter dependency/security review

Signed-off-by: Davanum Srinivas <[email protected]>

* move common things to a separate file

Signed-off-by: Davanum Srinivas <[email protected]>

---------

Signed-off-by: Davanum Srinivas <[email protected]>

* update actions for go 1.21 and fix deps action warnings (#2618)

---------

Signed-off-by: Davanum Srinivas <[email protected]>
Co-authored-by: Jay Deokar <[email protected]>
Co-authored-by: Geoffrey Cline <[email protected]>
Co-authored-by: Joseph Chen <[email protected]>
Co-authored-by: guangwu <[email protected]>
Co-authored-by: Joseph Chen <[email protected]>
Co-authored-by: Valentin Zayash <[email protected]>
Co-authored-by: lnhanks <[email protected]>
Co-authored-by: Lindsay Hanks <[email protected]>
Co-authored-by: 김은빈 <[email protected]>
Co-authored-by: Jayanth Varavani <[email protected]>
Co-authored-by: Davanum Srinivas <[email protected]>
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.

4 participants