anchor.diff:  unregister() ->
       try
           ProviderId = get_provider_id(),
  -        ok = onepanel_utils_adapter:apply_on_worker(gr_channel, disconnect, []),
           ok = gr_providers:unregister(provider),
  +        ok = onepanel_utils_adapter:apply_on_worker(gen_server, call, [{global, central_cluster_manager}, {set_provider_id, undefined}]),
  +        Nodes = onepanel_utils_adapter:apply_on_worker(gen_server, call, [request_dispatcher, {get_workers, gr_channel}]),
  +        {DisconnectAnswers, []} = rpc:multicall(Nodes, gr_channel, disconnect, []),
  +        lists:all(fun(DisconnectAnswer) -> DisconnectAnswer =:= ok end, DisconnectAnswers),
           ok = dao:delete_record(?PROVIDER_TABLE, ProviderId)
       catch
           _:Reason ->
  
positive.code:         ok = file:write_file(CertFile, Cert),
          ok = onepanel_utils:save_file_on_hosts(Path, CertName, Cert),
          ok = dao:save_record(?PROVIDER_TABLE, #?PROVIDER_RECORD{id = ProviderId, name = ClientName, urls = URLs, redirection_point = RedirectionPoint}),
          ok = onepanel_utils_adapter:apply_on_worker(gr_channel, connect, []),
  
          {ok, ProviderId}
      catch
  
negative.code: 
          %% Register in Global Registry
          {ok, CSR} = file:read_file(CsrPath),
          {ok, #?GLOBAL_CONFIG_RECORD{workers = Workers}} = dao:get_record(?GLOBAL_CONFIG_TABLE, ?CONFIG_ID),
          URLs = lists:map(fun(Host) ->
              {ok, #?LOCAL_CONFIG_RECORD{ip_address = URL}} = dao:get_record(?LOCAL_CONFIG_TABLE, Host),
              URL
  