anchor.diff:          {error, subdomain_reserved} ->
               ?throw_error(?ERR_SUBDOMAIN_NOT_AVAILABLE);
           {ProviderId, Macaroon} ->
  -            OpwNodes = onepanel_cluster:hosts_to_nodes(service_op_worker:name(), Hosts),
  -            rpc:call(hd(OpwNodes), provider_auth, save, [ProviderId, Macaroon]),
  +            rpc:call(OpwNode, provider_auth, save, [ProviderId, Macaroon]),
               % Force connection healthcheck
               % (reconnect attempt is performed automatically if there is no connection)
  -            rpc:multicall(OpwNodes, oneprovider, is_connected_to_oz, []),
  +            ok = rpc:call(OpwNode, oneprovider, start_connection_to_oz, []),
   
               service:update(name(), fun(#service{ctx = C} = S) ->
                   S#service{ctx = C#{registered => true}}
  
positive.code:     support_space/1, revoke_space_support/1, get_spaces/1,
      get_space_details/1, modify_space/1, get_cluster_ips/1,
      get_sync_stats/1, get_autocleaning_reports/1, get_autocleaning_status/1,
      start_cleaning/1, check_oz_connection/1, update_subdomain_delegation_ips/1]).
  -export([restart_listeners/1, restart_provider_listeners/1, async_restart_listeners/1]).
  -export([obtain_webcert/1, set_txt_record/1, remove_txt_record/1,
      mark_letsencrypt_decided/1, clear_pem_cache/1]).
  
negative.code:         #step{hosts = Hosts, function = check_oz_availability,
              attempts = onepanel_env:get(connect_to_onezone_attempts)},
          #step{hosts = Hosts, function = register, selection = any},
          % explicitely fail on connection problems before executing further steps
          #step{hosts = Hosts, function = check_oz_connection,
              attempts = onepanel_env:get(connect_to_onezone_attempts)},
          #steps{action = set_cluster_ips}
  
      ];
  