-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
rabbit_peer_discovery: Pass inetrc config file to temporary hidden node #10759
Conversation
22c1e5e
to
9b41fa4
Compare
You know, I haven't tested any of this "hidden node" stuff on Windows. I'll make time to do that with this patch and will test TLS-enabled distribution as well. |
That would be great! Thank you very much :-) |
I'm just making a note here that this PR is a follow-up to #10194 |
9b41fa4
to
2433239
Compare
2433239
to
7926a38
Compare
7926a38
to
c3e2031
Compare
c3e2031
to
450f727
Compare
1498e04
to
41d3c68
Compare
Follow-up to #10759 Related to #10194 Related to erlang/otp#8289
41d3c68
to
3fd96a0
Compare
Follow-up to #10759 Related to #10194 Related to erlang/otp#8289
OK, I built a Windows zip with this PR, and the
Cluster formation worked correctly, as well. Here is the https://github.com/lukebakken/windows-rabbitmq-cluster/blob/tls-disterl-utf8/erl_inetrc |
The reporter suggests that a package built off of this branch does work as expected (the way 3.12.x did in the same environment) #10728 (comment). |
[Why] As shown in #10728, in an IPv6-only environment, `kernel` name resolution must be configured through an inetrc file. The temporary hidden node must be configured exactly like the main node (and all nodes in the cluster in fact) to allow communication. Thus we must pass the same inetrc file to that temporary hidden node. This wasn’t the case before this patch. [How] We query the main node’s kernel to see if there is any inetrc file set and we use the same on the temporary hidden node’s command line. While here, extract the handling of the `proto_dist` module from the TLS code. This parameter may be used outside of TLS like this IPv6-only environment. Fixes #10728.
3fd96a0
to
1bcfa47
Compare
The forced push was a rebase. |
rabbit_peer_discovery: Pass inetrc config file to temporary hidden node (backport #10759)
The patch was not ready (hence the draft status) and should not have been merged. I reverted it. |
Why
As shown in #10728, in an IPv6-only environment,
kernel
name resolution must be configured through an inetrc file.The temporary hidden node must be configured exactly like the main node (and all nodes in the cluster in fact) to allow communication. Thus we must pass the same inetrc file to that temporary hidden node. This wasn’t the case before this patch.
How
We query the main node’s kernel to see if there is any inetrc file set and we use the same on the temporary hidden node’s command line.
While here, extract the handling of the
proto_dist
module from the TLS code. This parameter may be used outside of TLS like this IPv6-only environment.Fixes #10728.