-
Notifications
You must be signed in to change notification settings - Fork 13
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
Allow configuration of host_name when starting cnode #91
Comments
One thought that I had was to have a global configuration to override specific parts of Bundlex. For example: config :bundlex, :host_name, "127.0.0.1" |
I think we can add such a config, but it seems not to be a problem with Bundlex, but with ei_connect in the first place. I see no reason why it couldn't support IPv6, and using epmdless here is rather a workaround. Would you mind opening a similar issue in the OTP repo too? |
I agree that the better fix is in OTP, and I have filed erlang/otp#5068 to see if that can be solved upstream. In the short term, I'll issue a pull request for this configuration change. |
The code to update Bundlex to accept a host_name config is simple, but I'm running into compatibility issues with Unifex. It looks like the master branch of Bundlex has changed to pass the erlang cookie via I do not see any open branches on Unifex supporting the cookie env change... is there somewhere else I should be looking? |
Good point, I've updated Bundlex in Unifex v0.5.0 |
Here's a (hopefully) brief description of the problem.
We're trying to start an application that only has IPv6 addresses on its local network. When starting the application with
export ELIXIR_ERL_OPTIONS="-proto_dist inet6_tcp"
, the application can not connect to any CNodes that are started by Bundlex.We've tracked down the fact that Erlang CNodes do not support IPv6 as referenced in the following paragraph from the Erlang docs (emphasis added):
I fought with this for a while, and so far the only thing that seems to work is to start the parent application epmdless using the
ERL_DIST_PORT
variable. This allows me to set theRELEASE_NODE
variable to a string including the IPv6 address, which will allow application nodes to connect to each other.The problem is that Bundlex starts the CNode with the same IPv6 address as the
host_name
part of the node's name. If we hard-code Bundlex to start the CNode with the host name127.0.0.1
, then the parent application starts epmdless, but uses epmd on localhost to connect to the CNodes (and succeeds).The text was updated successfully, but these errors were encountered: