diff --git a/common/utils.go b/common/utils.go index 51129500..281699a6 100644 --- a/common/utils.go +++ b/common/utils.go @@ -130,10 +130,15 @@ func GetNetDevsWithPredicate(processID int, predicate func(link netlink.Link) bo if err != nil { return nil, fmt.Errorf("unable to open root namespace: %s", err) } + defer nsToplevel.Close() nsContainr, err := netns.GetFromPid(processID) if err != nil { + if os.IsNotExist(err) { + return nil, nil + } return nil, fmt.Errorf("unable to open process %d namespace: %s", processID, err) } + defer nsContainr.Close() if nsToplevel.Equal(nsContainr) { return nil, nil } diff --git a/site/operational-guide/uniform-dynamic-cluster.md b/site/operational-guide/uniform-dynamic-cluster.md index 8a73022f..df5f6742 100644 --- a/site/operational-guide/uniform-dynamic-cluster.md +++ b/site/operational-guide/uniform-dynamic-cluster.md @@ -46,14 +46,14 @@ Where On each new peer, at boot, via [systemd](/site/installing-weave/systemd.md): - hostN$ weave launch --no-restart --name ::N --ipam-seed $SEED $PEERS + hostN$ weave launch --no-restart --name ::N --ipalloc-init seed=$SEED $PEERS Where, * `--no-restart` disables the Docker restart policy, since this will be handled by systemd. * `--name` specifies a unique name for this new peer. -* `--ipam-seed` specifies the names of only those peers that were +* `--ipalloc-init seed` specifies the names of only those peers that were involved in the initial cluster bootstrap - even if they have been subsequently removed from the cluster. You can view this as a kind of 'cluster identity',where peers may only interoperate in the same