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(source): optional expose of nodes internal ipv6 #5192

Merged

Conversation

hjoshi123
Copy link
Contributor

@hjoshi123 hjoshi123 commented Mar 17, 2025

Description

This PR introduces a flag expose-internal-ipv6 according to the proposal IPv6 proposal which states that we are going to implement a flag to allow users to determine if they want to expose their internal IPv6. For the next release, this flag is going to be defaulted as true which means internal IPv6s are exposed (this is how we treat IPv6s currently too). The next minor release will flip the flag and still provide users the option to go back if needed.

Relates #4566
Related pull request #4574
Implement proposal IPv6 proposal

Checklist

  • Unit tests updated
  • End user documentation updated

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Mar 17, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @hjoshi123. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 17, 2025
@hjoshi123
Copy link
Contributor Author

Will update the documentation soon. Raising PR for visibility.

@mloiseleur
Copy link
Collaborator

/ok-to-test
/retitle feat(source): optional expose of nodes internal ipv6

@k8s-ci-robot k8s-ci-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Mar 17, 2025
@k8s-ci-robot k8s-ci-robot changed the title Feat expose internal ipv6 feat(source): optional expose of nodes internal ipv6 Mar 17, 2025
@k8s-ci-robot k8s-ci-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Mar 17, 2025
@mloiseleur
Copy link
Collaborator

Thanks @hjoshi123 !

@ivankatliarchuk
Copy link
Contributor

Could you add a warning message with the tests, to inform users that in follow-up release we are going to flip the flag/behaviour?

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 18, 2025
@ivankatliarchuk
Copy link
Contributor

The Warning message is missing, with description that if users would like to expose private Node IPs, they should configure the flag explicitly. Otherwise with next release, when we flip the flag, external-dns will silently update records for them.

With explicit test, we have a helper for that

func LogsToBuffer(level log.Level, t *testing.T) *bytes.Buffer {

@hjoshi123
Copy link
Contributor Author

/retest

require.NoError(t, err)

if tc.exposeInternalIPv6 {
buf := testutils.LogsToBuffer(log.DebugLevel, t)
Copy link
Contributor

Choose a reason for hiding this comment

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

should be log.WarningLevel https://sematext.com/blog/logging-levels/

WARNING is not required as well, as

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yup will change that

@mloiseleur
Copy link
Collaborator

This PR LGTM.
@ivankatliarchuk Anything left from your PoV ?
@jonasbadstuebner Do you think you can review this PR ?

Copy link
Contributor

@jonasbadstuebner jonasbadstuebner left a comment

Choose a reason for hiding this comment

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

I request to change the behavior back to the original one, when adding the feature flag - I added my suggestion(s).

Sorry for some nits I added. If they are invalid or unnecessary, please let me know.

@k8s-ci-robot
Copy link
Contributor

@jonasbadstuebner: changing LGTM is restricted to collaborators

In response to this:

I request to change the behavior back to the original one, when adding the feature flag - I added my suggestion(s).

Sorry for some nits I added. If they are invalid or unnecessary, please let me know.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jonasbadstuebner
Copy link
Contributor

Thank you @hjoshi123, for taking the time to open this PR, it's greatly appreciated from my side! Even if I added a lot of comments, they are not meant to devalue your work!

@k8s-ci-robot
Copy link
Contributor

@jonasbadstuebner: changing LGTM is restricted to collaborators

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@ivankatliarchuk
Copy link
Contributor

This PR LGTM. @ivankatliarchuk Anything left from your PoV ? @jonasbadstuebner Do you think you can review this PR ?

All good from my side, will approve when other comments resolved

@jonasbadstuebner
Copy link
Contributor

It's good to go from my side 🚀 Thank you again, @hjoshi123!

Copy link
Contributor

@ivankatliarchuk ivankatliarchuk left a comment

Choose a reason for hiding this comment

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

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 26, 2025
@jonasbadstuebner
Copy link
Contributor

/approve
I guess? :D

@jonasbadstuebner
Copy link
Contributor

Ah I misunderstood - I thought I have to approve because there are pending requests by me shown.

@ivankatliarchuk
Copy link
Contributor

Everything ls correct. Thanks for reviewing.

We review & approve.

@mloiseleur
Copy link
Collaborator

@jonasbadstuebner I'm unsure, maybe you will need to approve from Git Hub review tab, in order to remove the requested change.
image

I'll try and we'll see :)

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ivankatliarchuk, jonasbadstuebner, mloiseleur

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 26, 2025
@k8s-ci-robot k8s-ci-robot merged commit a2f0f2e into kubernetes-sigs:master Mar 26, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants