anchor.diff:  %% @end
   %%--------------------------------------------------------------------
   -spec configure(Ctx :: service:ctx()) -> ok | no_return().
  -configure(#{name := Name, main_cm_host := MainCmHost, cm_hosts := CmHosts,
  +configure(#{name := ServiceName, main_cm_host := MainCmHost, cm_hosts := CmHosts,
       db_hosts := DbHosts, app_config := AppConfig, initialize_ip := InitIp,
       vm_args_file := VmArgsFile} = Ctx) ->
   
       Host = hosts:self(),
  -    Node = nodes:local(Name),
  +    Node = nodes:local(ServiceName),
       CmNodes = nodes:service_to_nodes(
           ?SERVICE_CM,
           [MainCmHost | lists:delete(MainCmHost, CmHosts)]
  
positive.code:     Hosts = hosts:all(ServiceName),
      get_steps(set_cluster_ips, Ctx#{hosts => Hosts});
  
  get_steps(get_nagios_response, #{name := Name}) ->
      [#step{
          function = get_nagios_response,
          hosts = hosts:all(Name),
          selection = any
      }];
  
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  -spec wait_for_init(Ctx :: service:ctx()) -> ok | no_return().
  wait_for_init(#{name := ServiceName, wait_for_init_attempts := Attempts,
      wait_for_init_delay := Delay} = Ctx) ->
      Module = service:get_module(ServiceName),
      onepanel_utils:wait_until(Module, health, [Ctx], {equal, healthy},
          Attempts, Delay),
      service:update_status(ServiceName, healthy),
      ok.
  
  
  