-
Notifications
You must be signed in to change notification settings - Fork 672
Administrative function to remove peer #486
Comments
Invite @fermayo |
The original motivation for this feature was to be used on one peer to forget about one address previously specified to that peer. But what if it's inconvenient to remember which peer was told about which other peer? Maybe 'forget' should work from any peer in the network. This would require a way to uniquely identify a peer; IP addresses do not do this in the presence of NAT. Perhaps nicknames could be used? A 'distributed forget' as I have described might have complex semantics under network partition. |
I think in the long term that could be useful - perhaps we could split it off as a separate ticket? I'm keen to get an MVP of this out in the next stable release if possible... |
'connect' adds to the "list of IP addresses this peer should always attempt to connect to". It makes sense to have an inverse operation for that. Let's not boil the ocean here. |
How is this feature supposed to work? Suppose if I have 10 nodes in my weave network and I want to remove one from the network, do I need to run 'weave forget ' from each of the other 9 nodes? Following is the experiment I did. Note: Auto discovery is ON (default) In the second run, I 'weave reset' on m2 and 'weave forget m2' on both m1 and m3 and then I ran 'weave launch' on m2. This time m2 did not join the network. I got what I desired. But this is too tedious if have more peers. In the first case I am wondering if what I think below is happening. |
This still appears to be the case. If I have 10 nodes, this becomes nearly impossible without doing full restarts. |
It doesn't require full restarts. You remove a node with |
It's not currently possible to instruct weave to forget about a peer that was specified via
weave launch
orweave connect
. This causes problems for users with dynamic environments where peers can go away forever; their only recourse currently is to restart the weave network leaving out the decommissioned peer.Add a script command that instructs the router to forget a specified peer:
weave forget <CIDR>
'Forget' is suggested for the command name as 'disconnect' implies simply closing a connection; forget removes the peer from weave's internal list of known seeds. Any advance on a better name @rade?
The text was updated successfully, but these errors were encountered: