Skip to content

Commit 12ab14a

Browse files
author
Matthias Radestock
committed
allow nodes to be started with no listeners
1 parent 614ccfc commit 12ab14a

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/rabbit_multi.erl

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,7 @@ action(rotate_logs, [Suffix], RpcTimeout) ->
161161
%% Running is a boolean exhibiting success at some moment
162162
start_nodes(0, _, PNodePid, Running, _, _, _) -> {PNodePid, Running};
163163

164-
start_nodes(N, Total, PNodePid, Running,
165-
NodeNameBase, {NodeIpAddress, NodePortBase}, RpcTimeout) ->
164+
start_nodes(N, Total, PNodePid, Running, NodeNameBase, Listener, RpcTimeout) ->
166165
{NodePre, NodeSuff} = NodeNameBase,
167166
NodeNumber = Total - N,
168167
NodePre1 = case NodeNumber of
@@ -171,14 +170,18 @@ start_nodes(N, Total, PNodePid, Running,
171170
_ -> NodePre ++ "_" ++ integer_to_list(NodeNumber)
172171
end,
173172
Node = rabbit_misc:makenode({NodePre1, NodeSuff}),
174-
NodePort = NodePortBase + NodeNumber,
175173
os:putenv("RABBITMQ_NODENAME", atom_to_list(Node)),
176-
os:putenv("RABBITMQ_NODE_PORT", integer_to_list(NodePort)),
177-
os:putenv("RABBITMQ_NODE_IP_ADDRESS", NodeIpAddress),
174+
case Listener of
175+
{NodeIpAddress, NodePortBase} ->
176+
NodePort = NodePortBase + NodeNumber,
177+
os:putenv("RABBITMQ_NODE_PORT", integer_to_list(NodePort)),
178+
os:putenv("RABBITMQ_NODE_IP_ADDRESS", NodeIpAddress);
179+
undefined ->
180+
ok
181+
end,
178182
{NodePid, Started} = start_node(Node, RpcTimeout),
179183
start_nodes(N - 1, Total, [NodePid | PNodePid],
180-
Started and Running, NodeNameBase,
181-
{NodeIpAddress, NodePortBase}, RpcTimeout).
184+
Started and Running, NodeNameBase, Listener, RpcTimeout).
182185

183186
start_node(Node, RpcTimeout) ->
184187
io:format("Starting node ~s...~n", [Node]),
@@ -333,6 +336,8 @@ get_node_tcp_listener() ->
333336
case application:get_env(rabbit, tcp_listeners) of
334337
{ok, [{_IpAddy, _Port} = Listener]} ->
335338
Listener;
339+
{ok, []} ->
340+
undefined;
336341
{ok, Other} ->
337342
throw({cannot_start_multiple_nodes, multiple_tcp_listeners,
338343
Other});

0 commit comments

Comments
 (0)