anchor.diff:                               end),
       % Start with startup config sync.
       ?log_debug("init pulling", []),
  -    do_pull(),
  +    pull_random_node(),
       ?log_debug("init pushing", []),
       do_push(),
       % Have ns_config reannounce its config for any synchronization that
  
positive.code:                       end,
                        OtherNodes, 2000).
  
  do_pull()  -> do_pull(5).
  do_pull(N) -> do_pull(misc:shuffle(ns_node_disco:nodes_actual_other()), N).
  
  do_pull([], _N)    -> ok;
  do_pull(_Nodes, 0) -> error;
  do_pull([Node | Rest], N) ->
      ?log_info("Pulling config from: ~p", [Node]),
      case (catch get_remote(Node, ?PULL_TIMEOUT)) of
          {'EXIT', _, _} -> do_pull(Rest, N - 1);
          {'EXIT', _}    -> do_pull(Rest, N - 1);
          RemoteKVList   -> merge_one_remote_config(RemoteKVList),
                            ok
      end.
  
negative.code: handle_info({pull_and_push, Nodes}, State) ->
      ?log_info("Replicating config to/from:~n~p", [Nodes]),
      FinalNodes = accumulate_pull_and_push(Nodes),
      pull_one_node(FinalNodes, length(FinalNodes)),
      RawKVList = ns_config:get_kv_list(?SELF_PULL_TIMEOUT),
      do_push(RawKVList, FinalNodes),
      ?log_debug("config pull_and_push done.", []),
  