I have an unexpected behaviour with peer and 25.0rc2 here.
Test case: create three nodes a,b and c (short names) and let a ping b and c.
If I do this manually in three shells, it works as expected: each nodes sees the other two.
If I try the same via peer, b and c only see a:
test() ->
{ok, PidA, NodeA} = peer:start_link(#{name => a, connection => standard_io}),
{ok, PidB, NodeB} = peer:start_link(#{name => b, connection => standard_io}),
{ok, PidC, NodeC} = peer:start_link(#{name => c, connection => standard_io}),
pong = peer:call(PidA, net_adm, ping, [NodeB]),
pong = peer:call(PidA, net_adm, ping, [NodeC]),
['b@zed', 'c@zed'] = peer:call(PidA, erlang, nodes, []),
['a@zed'] = peer:call(PidB, erlang, nodes, []),
['a@zed'] = peer:call(PidC, erlang, nodes, []),
peer:stop(PidA),
peer:stop(PidB),
peer:stop(PidC).
From what I can see, the peer nodes are neither -hidden
nor do they have the flag -connect_all
disabled.
Any ideas?