{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17962","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17962/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17962/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17962/events","html_url":"https://github.com/kubernetes/kubernetes/issues/17962","id":119539842,"number":17962,"title":"Check out overlapping subnets and flannel","user":{"login":"bprashanth","id":10927820,"avatar_url":"https://avatars.githubusercontent.com/u/10927820?v=3","gravatar_id":"","url":"https://api.github.com/users/bprashanth","html_url":"https://github.com/bprashanth","followers_url":"https://api.github.com/users/bprashanth/followers","following_url":"https://api.github.com/users/bprashanth/following{/other_user}","gists_url":"https://api.github.com/users/bprashanth/gists{/gist_id}","starred_url":"https://api.github.com/users/bprashanth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bprashanth/subscriptions","organizations_url":"https://api.github.com/users/bprashanth/orgs","repos_url":"https://api.github.com/users/bprashanth/repos","events_url":"https://api.github.com/users/bprashanth/events{/privacy}","received_events_url":"https://api.github.com/users/bprashanth/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/networking","name":"area/networking","color":"006b75"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/P2","name":"priority/P2","color":"fbca04"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/team/cluster","name":"team/cluster","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-11-30T17:27:43Z","updated_at":"2015-12-08T17:33:28Z","closed_at":null,"body":"People have complained about this and now it's easy to test because we've streamlined flannel setup: \r\n\r\n1. Make flannel use a 10. address space by modifying the network config (try a couple that overlap with the master's service-cluster-ip-range, eg: 10.0.0.0/16, 10.15.0.0/12 etc):\r\nhttps://github.com/kubernetes/kubernetes/blob/master/cluster/saltbase/salt/flannel-server/network.json#L2\r\n2. Start a flannel cluster, just set this env var to flannel: https://github.com/kubernetes/kubernetes/blob/master/cluster/gce/config-test.sh#L128 and setup a normal e2e cluster (i.e: go run hack/e2e.go -pushup)\r\n3. Test all the normal things (something like pods can ping across nodes, ping nodes, nslookup Kubernetes.svc, we can hit a service from a node, nodeport works, master proxy works etc -- probably start by running all the Services e2es against the cluster). I feel like one of these will fail.\r\n\r\n@freehan in case you're interested in digging up flannel things"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/162954504","html_url":"https://github.com/kubernetes/kubernetes/issues/17962#issuecomment-162954504","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17962","id":162954504,"user":{"login":"eparis","id":8093535,"avatar_url":"https://avatars.githubusercontent.com/u/8093535?v=3","gravatar_id":"","url":"https://api.github.com/users/eparis","html_url":"https://github.com/eparis","followers_url":"https://api.github.com/users/eparis/followers","following_url":"https://api.github.com/users/eparis/following{/other_user}","gists_url":"https://api.github.com/users/eparis/gists{/gist_id}","starred_url":"https://api.github.com/users/eparis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eparis/subscriptions","organizations_url":"https://api.github.com/users/eparis/orgs","repos_url":"https://api.github.com/users/eparis/repos","events_url":"https://api.github.com/users/eparis/events{/privacy}","received_events_url":"https://api.github.com/users/eparis/received_events","type":"User","site_admin":false},"created_at":"2015-12-08T17:33:28Z","updated_at":"2015-12-08T17:33:28Z","body":"I don't see how two things with the same IP is really ever going to be expected to work. When a packet leaves a pod how is the host supposed to know if it was supposed to go to the service or to the other pod?\r\n\r\nI also don't think it is predictable which will 'win'. If you are using the linux bridge as your backend the iptables rules for services will get processed before the packet is forwarded and will go to the service. If you have an OVS based backend which doesn't hit netfilter unless/until after all interpod connectivity is satisfied the pod will always win.\r\n\r\nI don't think there is any reasonable way to make these things be able to overlap today..."}}