anchor.diff:              ok
       end.
   
  +
   safe_split(N, L) ->
       try
           lists:split(N, L)
  
positive.code:     %% get full node list.  Write this to a nodes to migrate file
      NodeList = chef_otto:fetch_nodes_with_ids(S, OrgId),
      log(info, OrgName, "found ~B nodes", [length(NodeList)]),
      NodesToMigrate = << <<Name/binary, "\n">> || {Name, _} <- NodeList >>,
      file:write_file(<<LogDir/binary, "/nodes_to_migrate.txt">>, NodesToMigrate),
      
      {next_state, migrate_nodes,
       State#state{node_list = safe_split(BatchSize, NodeList)}, 0}.
      
  migrate_nodes(timeout, #state{node_list = {[], []}}=State) ->
      {next_state, mark_migration_end, State, 0};
  
negative.code: 
  log(Level, OrgName, Fmt, Args) when is_list(Args) ->
      fast_log:Level(mover_worker_log, OrgName, Fmt, Args).
  
  log_node_names(LogDir, NodeList) ->
      NodesToMigrate = << <<Name/binary, "\n">> || {Name, _} <- NodeList >>,
      file:write_file(<<LogDir/binary, "/nodes_to_migrate.txt">>, NodesToMigrate).
  