Use hostname in cluster configuration

Hello.
Is it possible to use hostnames instead of ips in cluster configuration? The problem is that if you start the cluster in docker swarm the services ip changes on restarts, but in manticore.json the IPs are written, even if you use the hostname when creating the cluster.

what version do you use?
I was sure that issue with host name force resolving was fixed some times ago

the latest 6.3.0

could you provide your config, create and join statements along with resulting manticore.json file?

Create cluster commands.

create cluster test;
join cluster test at 'manticore175:9312';

manticore.json

{
"clusters":{"test":{
"nodes":["10.0.5.33:9312","10.0.5.29:9312"]
}},
"indexes":{"migrations":{
"type":"rt",
"path":"migrations"
},"post":{
"type":"rt",
"path":"post"
},"related_tag":{
"type":"rt",
"path":"related_tag"
},"tag":{
"type":"rt",
"path":"tag"
}}

I use default config and configure some values with env vars.

Related manticore services in docker-compose.yml.

  manticore46:
    image: manticoresearch/manticore:6.3.0
    volumes:
      - manticore_data:/var/lib/manticore
    deploy:
      placement: *default-placement
    environment:
      - EXTRA=1
      - LOG_LEVEL=debug
      - searchd_access_plain_attrs=mlock
      - searchd_access_blob_attrs=mlock
      - searchd_access_doclists=mlock
      - searchd_access_hitlists=mlock
      - searchd_max_threads_per_query=16
      - searchd_net_workers=2
      - searchd_pseudo_sharding=0
      - searchd_telemetry=0
      - searchd_threads=24
      - telemetry=0
      - searchd_query_log=/var/log/manticore/query.log
      - searchd_query_log_min_msec=300
    ulimits:
      nproc: 65535
      nofile:
         soft: 65535
         hard: 65535
      memlock:
        soft: -1
        hard: -1
    cap_add:
      - IPC_LOCK

  manticore175:
    image: manticoresearch/manticore:6.3.0
    volumes:
      - manticore_data:/var/lib/manticore
    deploy:
      placement: *default-placement1
    environment:
      - EXTRA=1
      - LOG_LEVEL=debug
      - searchd_access_plain_attrs=mlock
      - searchd_access_blob_attrs=mlock
      - searchd_access_doclists=mlock
      - searchd_access_hitlists=mlock
      - searchd_max_threads_per_query=40
      - searchd_net_workers=2
      - searchd_pseudo_sharding=1
      - searchd_telemetry=0
      - searchd_threads=64
      - telemetry=0
      - searchd_query_log=/var/log/manticore/query.log
      - searchd_query_log_min_msec=300
    ulimits:
      nproc: 65535
      nofile:
         soft: 65535
         hard: 65535
      memlock:
        soft: -1
        hard: -1
    cap_add:
      - IPC_LOCK

if I use this compose file

services:
  web1:
    image: manticoresearch/manticore:6.3.0
    container_name: "web1"
    ports:
      - "17105-17130:9305-9330"
    environment:
      - EXTRA=1
      - searchd_node_address=web1      

  web2:
    image: manticoresearch/manticore:6.3.0
    container_name: "web2"
    ports:
      - "17205-17230:9305-9330"
    environment:
      - EXTRA=1      
      - searchd_node_address=web2

  web3:
    image: manticoresearch/manticore:6.3.0
    container_name: "web3"
    ports:
      - "17305-17330:9305-9330"
    environment:
      - EXTRA=1      
      - searchd_node_address=web3

and issue create cluster test; then join cluster test at 'web1:9312'; I see the nodes names in manticore.json

{
"clusters":{"test":{
"nodes":["web1:9312","web3:9312","web2:9312"]
}},
"indexes":{}
}

Thanks! That’s the required option searchd_node_address I missed in my config.