diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2010-08-25 05:51:02 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-08-25 05:51:02 +0100 |
commit | 2f39721f2a56a90666e18af3430c0a7061005fd4 (patch) | |
tree | 52fdac6f2c857d9cf35b57f85040843b18576231 | |
parent | f588b129a945c940a716c803d784bde29b6ff30e (diff) | |
download | rabbitmq-server-bug23141.tar.gz |
preemptively detect common cause of failed startupbug23141
namely when the node does actually start (if it doesn't then the
launcher process terminates, which we detect already) but we cannot
connect to it due to dns/network/epmd issues
-rw-r--r-- | src/rabbit_multi.erl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_multi.erl b/src/rabbit_multi.erl index 3facef17..c7a5a600 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -93,7 +93,14 @@ usage() -> action(start_all, [NodeCount], RpcTimeout) -> io:format("Starting all nodes...~n", []), application:load(rabbit), - NodeName = rabbit_misc:nodeparts(getenv("RABBITMQ_NODENAME")), + {_NodeNamePrefix, NodeHost} = NodeName = rabbit_misc:nodeparts( + getenv("RABBITMQ_NODENAME")), + case net_adm:names(NodeHost) of + {error, EpmdReason} -> + throw({cannot_connect_to_epmd, NodeHost, EpmdReason}); + {ok, _} -> + ok + end, {NodePids, Running} = case list_to_integer(NodeCount) of 1 -> {NodePid, Started} = start_node(rabbit_misc:makenode(NodeName), |