anchor.diff:    ok;
   join_cluster(Nodes) ->
     info("Joining existing cluster: ~p", [Nodes]),
  +  Node = lists:nth(random:uniform(length(Nodes)), Nodes),
  +  info("Chosen node to join to: ~p", [Node]),
     application:stop(rabbit),
     mnesia:stop(),
     rabbit_mnesia:reset(),
  -  robust_join_cluster(lists:nth(1, Nodes), 10),
  +  rabbit_mnesia:join_cluster(Node, disc),
     mnesia:start(),
     rabbit:start(),
     info("Cluster joined"),
  
positive.code:     {error, Error} ->
        throw({error_fetch_consul, Error})
    end.
  cluster_nodes(0) ->
    cluster_nodes();
  cluster_nodes(Count) ->
    try
      cluster_nodes()
    catch throw:{error_fetch_consul, Error} ->
      warning("Error fetching nodes from consul (~p retries left): ~p~n", [Count, Error]),
      timer:sleep(5000),
      cluster_nodes(Count - 1)
    end.
  
  %% @private
  %% @spec agent_services() -> list()
  
negative.code: %% @end
  %%
  init() ->
    random:seed(now()),
    application:ensure_started(inets),
    case maybe_register() of
      ok ->
  