{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4619","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4619/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4619/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4619/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/4619","id":58276399,"number":4619,"title":"Remove HostPort conflict checking.","user":{"login":"erictune","id":8105590,"avatar_url":"https://avatars.githubusercontent.com/u/8105590?v=3","gravatar_id":"","url":"https://api.github.com/users/erictune","html_url":"https://github.com/erictune","followers_url":"https://api.github.com/users/erictune/followers","following_url":"https://api.github.com/users/erictune/following{/other_user}","gists_url":"https://api.github.com/users/erictune/gists{/gist_id}","starred_url":"https://api.github.com/users/erictune/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erictune/subscriptions","organizations_url":"https://api.github.com/users/erictune/orgs","repos_url":"https://api.github.com/users/erictune/repos","events_url":"https://api.github.com/users/erictune/events{/privacy}","received_events_url":"https://api.github.com/users/erictune/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-19T21:54:47Z","updated_at":"2015-02-19T21:56:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/4619","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/4619","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/4619.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/4619.patch"},"body":"We decided to get rid of boundPods.   Removing this check is\r\na prerequisite for that.  This check had some value before we had\r\nIP-per-Pod.  However, AIUI, use of HostPort is strongly discouraged\r\nin Kubernetes.  It still exists as part of a Pod spec because\r\nof ContainerVM, where it is used.  But, this change does not affect\r\nContainerVM, where there is no master.\r\n\r\nIf someone did create pods with HostPort using kubernetes, the following\r\nwould happen:\r\n  - The scheduler would try not to put two conflicting pods on the same\r\n    machine (pkg/scheduler/predicates.go : PodFitsPorts() )\r\n  - I'm not sure if it is currently possible for a race to occur where\r\n    the PodFitsPorts check were bypassed.   Maybe it could happen.\r\n  - If the kubelet was sent conflicting pods, it would detect them in\r\n    ( pkg/kubelet/kubelet.go :  filterHostPortConflicts() ).  It would\r\n    arbitrarily pick one pod to run and another to ignore.\r\n  - If all of the above happened and the user filed and issue on github,\r\n    we might figure out that the user used HostPort and tell the user to stop.\r\n\r\nTODO:\r\n - e2e test\r\n - Several of the demos in examples/ use hostPort.  Change them to\r\n   not specify hostPort and have a service instead."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/75146845","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/4619#issuecomment-75146845","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4619","id":75146845,"user":{"login":"roberthbailey","id":7751204,"avatar_url":"https://avatars.githubusercontent.com/u/7751204?v=3","gravatar_id":"","url":"https://api.github.com/users/roberthbailey","html_url":"https://github.com/roberthbailey","followers_url":"https://api.github.com/users/roberthbailey/followers","following_url":"https://api.github.com/users/roberthbailey/following{/other_user}","gists_url":"https://api.github.com/users/roberthbailey/gists{/gist_id}","starred_url":"https://api.github.com/users/roberthbailey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roberthbailey/subscriptions","organizations_url":"https://api.github.com/users/roberthbailey/orgs","repos_url":"https://api.github.com/users/roberthbailey/repos","events_url":"https://api.github.com/users/roberthbailey/events{/privacy}","received_events_url":"https://api.github.com/users/roberthbailey/received_events","type":"User","site_admin":false},"created_at":"2015-02-19T21:56:38Z","updated_at":"2015-02-19T21:56:38Z","body":"FYI, I'm working on taking host ports out of the update-demo example. "}}