-
Notifications
You must be signed in to change notification settings - Fork 447
Description
Description
The scenario refers to the case of having one sentry node and one validator and FQDN are used in persistent peers.
A simple configuration to replicate this scenario looks like the following:
name: gnoland
services:
gno-val-1:
image: "ghcr.io/gnolang/gno/gnoland:0.1.0"
networks:
- chain
command:
- start
- -data-dir
- /gnoland-data
- -genesis
- /gnoland-data/genesis.json
- -log-level
- info
volumes:
- ./gno-val-1:/gnoland-data
gno-sen-1:
image: "ghcr.io/gnolang/gno/gnoland:0.1.0"
networks:
chain:
ipv4_address: 192.199.0.120
command:
- start
- -data-dir
- /gnoland-data
- -genesis
- /gnoland-data/genesis.json
- -log-level
- info
volumes:
- ./gno-sen-1:/gnoland-data
networks:
chain:
ipam:
config:
- subnet: 192.199.0.0/24
gateway: 192.199.0.1It is important to specify that it is used the FQDN in place in the configuration file at the line p2p.persistent_peers to reach the other node i.e. the validator node points to the sentry node using the internal hostname gno-sen-1.
persistent_peers = "g1sthz4jmxyve5wg7rejszu2em9cly027x904xmr@gno-sen-1:26656"
Run this example. Assist with some blocks singing. Afterwards, stop only the sentry container with the command docker compose down gno-sen-1. Change the static IP address from 192.199.0.120 to any other static IP address in the range 192.199.0.0/24 in the docker-compose.yaml i.e. 192.199.0.10. Send again up the sentry node running the command docker compose up -d gno-sen-1. Check in the validator logs that it continues to resolve the old IP address.
This error is only present when FQDN are used.
It is important to notice that due to the nature of Sentry nodes, they can have different IPs that can vary over time. Sentry nodes can be brought up/down easily and continuously to reply to the traffic demand. Further validators commonly communicate to Sentry via internal IP address in a private network and commonly in private networks DHCP is used or IPs tend to vary constantly (see the case of running containers in cloud platform).
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status