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 | d985943a2dddbdd66488c4a8e99cd22c10325b4b (patch) | |
| tree | 52fdac6f2c857d9cf35b57f85040843b18576231 /src | |
| parent | 31acae72aa8ecca63fecb8cf1ac28c8f516b33cc (diff) | |
| download | rabbitmq-server-git-d985943a2dddbdd66488c4a8e99cd22c10325b4b.tar.gz | |
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
Diffstat (limited to 'src')
| -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 3facef17f7..c7a5a60027 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), |
