{"action":"closed","issue":{"url":"https://api.github.com/repos/weaveworks/weave/issues/2147","repository_url":"https://api.github.com/repos/weaveworks/weave","labels_url":"https://api.github.com/repos/weaveworks/weave/issues/2147/labels{/name}","comments_url":"https://api.github.com/repos/weaveworks/weave/issues/2147/comments","events_url":"https://api.github.com/repos/weaveworks/weave/issues/2147/events","html_url":"https://github.com/weaveworks/weave/issues/2147","id":146944773,"number":2147,"title":"Multicast source address affected by `weave expose`","user":{"login":"bboreham","id":8125524,"avatar_url":"https://avatars.githubusercontent.com/u/8125524?v=3","gravatar_id":"","url":"https://api.github.com/users/bboreham","html_url":"https://github.com/bboreham","followers_url":"https://api.github.com/users/bboreham/followers","following_url":"https://api.github.com/users/bboreham/following{/other_user}","gists_url":"https://api.github.com/users/bboreham/gists{/gist_id}","starred_url":"https://api.github.com/users/bboreham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bboreham/subscriptions","organizations_url":"https://api.github.com/users/bboreham/orgs","repos_url":"https://api.github.com/users/bboreham/repos","events_url":"https://api.github.com/users/bboreham/events{/privacy}","received_events_url":"https://api.github.com/users/bboreham/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/weaveworks/weave/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/weaveworks/weave/milestones/32","html_url":"https://github.com/weaveworks/weave/milestones/1.4.7","labels_url":"https://api.github.com/repos/weaveworks/weave/milestones/32/labels","id":1662440,"number":32,"title":"1.4.7","description":"","creator":{"login":"awh","id":1504438,"avatar_url":"https://avatars.githubusercontent.com/u/1504438?v=3","gravatar_id":"","url":"https://api.github.com/users/awh","html_url":"https://github.com/awh","followers_url":"https://api.github.com/users/awh/followers","following_url":"https://api.github.com/users/awh/following{/other_user}","gists_url":"https://api.github.com/users/awh/gists{/gist_id}","starred_url":"https://api.github.com/users/awh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awh/subscriptions","organizations_url":"https://api.github.com/users/awh/orgs","repos_url":"https://api.github.com/users/awh/repos","events_url":"https://api.github.com/users/awh/events{/privacy}","received_events_url":"https://api.github.com/users/awh/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":18,"state":"open","created_at":"2016-03-23T18:02:16Z","updated_at":"2016-04-18T16:16:29Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2016-04-08T14:32:58Z","updated_at":"2016-04-18T16:16:29Z","closed_at":"2016-04-18T16:16:29Z","body":"I have a small demo program that prints the hostname and source address of other multicasters.\r\n\r\n````\r\nhost1$ weave launch 192.168.48.12\r\nhost2$ weave launch 192.168.48.11\r\nhost1$ weave run --name=c1 bboreham/mweb\r\nhost2$ weave run --name=c2 bboreham/mweb\r\nhost1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080\r\nc1.weave.local 10.32.0.1:57206\r\nc2.weave.local 10.40.0.0:45872\r\nhost2$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c2`:8080\r\nc1.weave.local 10.32.0.1:57206\r\nc2.weave.local 10.40.0.0:45872\r\n````\r\n\r\nSo far so good.  Run `weave expose`, and nothing changes:\r\n\r\n````\r\nhost1$ weave expose\r\n10.32.0.2\r\nhost1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080\r\nc1.weave.local 10.32.0.1:57206\r\nc2.weave.local 10.40.0.0:45872\r\n````\r\n\r\nBut now run a new container:\r\n\r\n````\r\nhost1$ weave run --name=c3 bboreham/mweb\r\n266568a679e4252f75a9617ea67ecb2fab610f5e6ae139018ec1edf0e273cf2f\r\nhost1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080\r\nc1.weave.local 10.32.0.1:57206\r\nc2.weave.local 10.40.0.0:45872\r\nc3.weave.local 10.32.0.2:53622\r\n````\r\n\r\nso now `c3` is being reported at the `weave expose` address.  Same on the other host:\r\n\r\n````\r\nhost2$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c2`:8080\r\nc2.weave.local 10.40.0.0:45872\r\nc3.weave.local 10.32.0.2:53622\r\nc1.weave.local 10.32.0.1:57206\r\n````\r\n\r\n`weave hide` puts it back to normal again:\r\n\r\n````\r\nhost1$ weave hide\r\n10.32.0.2\r\nhost1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080\r\nc1.weave.local 10.32.0.1:57206\r\nc2.weave.local 10.40.0.0:45872\r\nc3.weave.local 10.32.0.3:53622\r\n````\r\n"}}