anchor.diff:  ->
       NewConfig = init_per_testcase(default, Config),
       [Node1 | _] = Nodes = ?config(onepanel_nodes, NewConfig),
  -    [Host1 | _] = Hosts = hosts:from_nodes(Nodes),
  -
  -    [Node1, Node2 | _] = ?config(onepanel_nodes, NewConfig),
  +    [Host1 | _] = hosts:from_nodes(Nodes),
  +
  +    [Node1, _Node2 | _] = ?config(onepanel_nodes, NewConfig),
       ?assertEqual(ok, test_utils:mock_new(Nodes,
           [service_op_worker, letsencrypt_api], [passthrough])),
       test_utils:mock_expect(Nodes, service_op_worker, supports_letsencrypt_challenge,
  
positive.code:     Nodes = [Node1, Node2],
      [Host1, Host2] = Hosts = hosts:from_nodes(Nodes),
  
      Ctx = #{cookie => ?COOKIE},
      onepanel_test_utils:service_action(Node1,
          ?SERVICE_PANEL, deploy, Ctx#{hosts => [Host1]}
      ),
      onepanel_test_utils:service_action(Node1,
          ?SERVICE_PANEL, extend_cluster, Ctx#{hostname => Host2}
      ),
  
      ?assertEqual(Hosts, lists:sort(rpc:call(Node1, service_onepanel, get_hosts, []))),
  
negative.code:     Cluster1 = ?config(cluster1, Config),
      Cluster1Hosts = hosts:from_nodes(Cluster1),
      [Node1 | _] = Nodes = ?config(onepanel_nodes, Config),
      [_Host1, _Host2, Host3 | _] = hosts:from_nodes(Nodes),
  
      onepanel_test_utils:service_action(Node1, ?SERVICE_PANEL, extend_cluster,
          #{address => Host3}),
  