Weave Net

Adding and Removing Hosts Dynamically

To add a host to an existing Weave network, launch Weave Net on the host, and supply the address of at least one host. Weave Net automatically discovers any other hosts in the network and establishes connections with them if it can (in order to avoid unnecessary multi-hop routing).

In some situations existing Weave Net hosts may be unreachable from the new host due to firewalls, etc. However, it is still possible to add the new host, provided that inverse connections, for example, from existing hosts to the new hosts, are available.

To accomplish this, launch Weave Net onto the new host without supplying any additional addresses and then, from one of the existing hosts run:

host# weave connect $NEW_HOST

Any other existing hosts on the Weave network will attempt to establish connections to the new host as well.

Instructing Peers to Forget a Host

To instruct a peer to forget a particular host specified to it via weave launch or weave connect run:

host# weave forget $DECOMMISSIONED_HOST

This prevents the peer from reconnecting to that host once connectivity to it is lost, and can be used to administratively remove any decommissioned peers from the network.

Bulk Replacing Hosts

Hosts can also be bulk-replaced. All existing hosts will be forgotten, and the new hosts added:

host# weave connect --replace $NEW_HOST1 $NEW_HOST2

Restarting Docker and Weave Net

If Weave Net is restarted by Docker it automatically remembers any previous connect and forget operations, however if you stop it manually and launch it again, it will not remember any prior connects. If you want to launch again and retain the results of those operations use --resume:

host# weave launch --resume

Note: In this case, you cannot specify a list of addresses, since the previous peer list is used exclusively.

For complete control over the peer topology, disable automatic discovery using the --no-discovery option with weave launch.

If discovery if disabled, Weave Net only connects to the addresses specified at launch time and with weave connect.

To return a list of all hosts and their peer connections established with weave launch and weave connect run:

host# weave status targets

See Also