weaveworks / weave

Simple, resilient multi-host containers networking and more.
https://www.weave.works
Apache License 2.0
6.62k stars 671 forks source link

Duplicate IP resulting from incorrect PID namespace #4005

Open BRONSOLO opened 7 months ago

BRONSOLO commented 7 months ago

What you expected to happen?

weaver detects/claims pre-existing IPs attached to the weave bridge on node via https://github.com/weaveworks/weave/blob/8c8476381d48820891356497bfcee6337e99a401/prog/weaver/reclaim.go#L26

What happened?

weaver stopped using the host process namespace (via hotsPID) as of https://github.com/weaveworks/weave/pull/3876, which was needed for detecting devices via the peer ids / process ids here: https://github.com/weaveworks/weave/blob/8c8476381d48820891356497bfcee6337e99a401/prog/weaver/reclaim.go#L84.

Specifically, given the change of #3876, the following command only detects processes within the PID namespace of the weave-net pod: https://github.com/weaveworks/weave/blob/8c8476381d48820891356497bfcee6337e99a401/prog/weaver/reclaim.go#L79

How to reproduce it?

Anything else we need to know?

This is specifically for weave running on k8s.

Versions:

weave version 2.8.1