From 2f39721f2a56a90666e18af3430c0a7061005fd4 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Wed, 25 Aug 2010 05:51:02 +0100 Subject: preemptively detect common cause of failed startup 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 --- src/rabbit_multi.erl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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), -- cgit v1.2.1