anchor.diff:  		lager:error("Healthcheck on node ~p failed, callbacks/state number of ccm doesn't match values from node_manager and dispatcher",[Node]),
   		lager:error("ccm_state_num: ~p, ccm_callback_num: ~p,disp_state_num: ~p, disp_callback_num: ~p,manager_state_num: ~p, manager_callback_num: ~p",
   			[CcmStateNum,CcmCStateNum,DispStateNum,DispCStateNum,ManagerStateNum,ManagerCStateNum]),
  -		{veil_cluster_node,[{name,atom_to_list(Node)},{status,"error"}],[]}
  +		case WorkersOk of
  +			true -> {veil_cluster_node,[{name,atom_to_list(Node)},{status,"initializing"}],[]};
  +			false -> {veil_cluster_node,[{name,atom_to_list(Node)},{status,"error"}],[]}
  +		end
   	end.
   
  -%% worker_status/1
  +%% worker_status/2
   %% ====================================================================
   %% @doc Calls healthcheck method on selected worker and returns xmerl
   %% simple_xml output describing worker health status
  
positive.code: 	{Workers, StateNum} = gen_server:call({global, ?CCM}, get_workers, Timeout),
  	{_, CStateNum} = gen_server:call({global, ?CCM}, get_callbacks, Timeout),
  
  	%check nodes
  	NodesStatus = pmap(fun(Node) -> node_status(Node,StateNum,CStateNum,Timeout) end, Nodes),
  
  	%check workers
  	WorkersStatus = pmap(fun(Worker) -> worker_status(Worker,Timeout) end,Workers),
  
  	%check if errors occured
  	{HealthStatus, HttpStatusCode} = case contains_errors(NodesStatus) and contains_errors(WorkersStatus) of
  		true -> {"ok",200};
  		false -> {"error",500}
  	end,
  
  	%prepare current date
  
negative.code: 	Result :: true | false.
  %% ====================================================================
  contains_errors(StatusList) ->
  	Errors = [Status || {_Tag,Attrs,_Content} <- StatusList, {status,Status} <-Attrs, Status /= "ok", Status /= "initializing"],
  	Errors /= [].
  
  
  %% ====================================================================
  