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(ipv6): add support for IPv6 env #1455

Closed
wants to merge 1 commit into from

Conversation

simonwu-sn
Copy link

@simonwu-sn simonwu-sn commented Sep 27, 2023

Test with kind-ipv6 cluster. Ref: https://kind.sigs.k8s.io/docs/user/configuration/

The solution is also tested in AWS EKS. The solution follows discussion in rabbitmq/rabbitmq-server#6820 (comment)

@Zerpet Zerpet self-assigned this Sep 27, 2023
@simonwu-sn
Copy link
Author

Any update on this PR review?

Copy link
Collaborator

@Zerpet Zerpet 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 your contributions. I agree the Operator can ease the configuration of IPv6 only environments, however, I don't agree with the approach of this PR. One key point is that this PR comes with 0 new tests and no explanation of why tests were not included.

Our philosophy regarding adding fields to the custom resource is to make commonly used features easy to configure. I don't think IPv6-only configuration is common.

This particular implementation is quite britle, because it does hard equal validation between two strings. In other words, the feature only activates if IPFamily is exactly IPv6, and it doesn't activate if IPFamily is ipv6. There's no validation of the input string, I could insert "abcd" string and the Operator will silently ignore it and succeed the reconcile. That's not good, because there's no feedback to the user that they made a mistake.

The approach I would/will take to ease the configurability of IPv6 only environments would/will be:

  • Provide an input to configure erl_inetrc file, and mount/inject that file into the container
  • Append the necessary configuration to make rabbit use the relevant env variables (instead of hard setting)
  • Write an example to document how to set IPv6-only

You've done a lot by reporting the issue and suggesting a solution, therefore I won't ask you to take on this suggestion, and understand if you simply close this PR.

@simonwu-sn
Copy link
Author

Solid comment. Yeah, I agree a more general way will be better. Thanks for taking care of the review.

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.

2 participants