Is topologyupdator needed on all the relay nodes
You can also update your topology manually, once in a while.
I had same question recently and I had discussion in github regarding this with @rdlrt . He explained me that this is not a mandatory thing:
What is mandatory is having an incoming peer who is indirectly fetching blocks from another block producer. Until P2P is live, IOG uses the relays specified in stake pool registration to extract and connect to peers (twice per day). topologyUpdater provides a method for community to discover other live peers without a specific preference - you can read more about it here.
It is needed in my opinion. Not strictly required because it can be done manually just like your BP. But for a standard use case I would say it is strongly recommended.
If you are not happy with the shell script variant of topology-updater you can use the python variant:
Using it for quite some time now without any issues. Feel free to ask any questions if you’ve problems with it.
I ended copying the topology.json file from relay1 to relay2,seems to be working fine for now.
Yes it will work fine this way.
But ultimately you would want to have your different relays connected to a different set of other relays.
The essence of having multiple relays is redundancy. Whatever form factor you use to run it (VM, bare-metal, cloud, container) it can fail. So having 2 or more cover for this.
Having them covering a different set of topology connections is covering exactly the same need for redundancy . If all your topology connections fails (remote relay failing, network issue, IP change, dns f#$% up, FW blocking port, etc …it’s endless) then your relay is not connected to the Cardano network anymore. It’s as good as dead, at least temporarily. So if both your relays have a different subset, your are covering for that unexpected event.
As low chance as this can effectively happen, covering for it is so much nothing that you should do it.
Also, add at least 1 of your relay in the toplogy file of each relay. (in case of 2 relays, map each other). That mean the propagation will be faster as soon as one is updated.