{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47250","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47250/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47250/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47250/events","html_url":"https://github.com/kubernetes/kubernetes/pull/47250","id":234866733,"number":47250,"title":"Populate endpoints for headless service with no ports","user":{"login":"xiangpengzhao","id":15881573,"avatar_url":"https://avatars3.githubusercontent.com/u/15881573?v=3","gravatar_id":"","url":"https://api.github.com/users/xiangpengzhao","html_url":"https://github.com/xiangpengzhao","followers_url":"https://api.github.com/users/xiangpengzhao/followers","following_url":"https://api.github.com/users/xiangpengzhao/following{/other_user}","gists_url":"https://api.github.com/users/xiangpengzhao/gists{/gist_id}","starred_url":"https://api.github.com/users/xiangpengzhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiangpengzhao/subscriptions","organizations_url":"https://api.github.com/users/xiangpengzhao/orgs","repos_url":"https://api.github.com/users/xiangpengzhao/repos","events_url":"https://api.github.com/users/xiangpengzhao/events{/privacy}","received_events_url":"https://api.github.com/users/xiangpengzhao/received_events","type":"User","site_admin":false},"labels":[{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":349530249,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6","default":false},{"id":253450978,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900","default":false}],"state":"open","locked":false,"assignee":{"login":"bowei","id":837034,"avatar_url":"https://avatars2.githubusercontent.com/u/837034?v=3","gravatar_id":"","url":"https://api.github.com/users/bowei","html_url":"https://github.com/bowei","followers_url":"https://api.github.com/users/bowei/followers","following_url":"https://api.github.com/users/bowei/following{/other_user}","gists_url":"https://api.github.com/users/bowei/gists{/gist_id}","starred_url":"https://api.github.com/users/bowei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bowei/subscriptions","organizations_url":"https://api.github.com/users/bowei/orgs","repos_url":"https://api.github.com/users/bowei/repos","events_url":"https://api.github.com/users/bowei/events{/privacy}","received_events_url":"https://api.github.com/users/bowei/received_events","type":"User","site_admin":false},"assignees":[{"login":"bowei","id":837034,"avatar_url":"https://avatars2.githubusercontent.com/u/837034?v=3","gravatar_id":"","url":"https://api.github.com/users/bowei","html_url":"https://github.com/bowei","followers_url":"https://api.github.com/users/bowei/followers","following_url":"https://api.github.com/users/bowei/following{/other_user}","gists_url":"https://api.github.com/users/bowei/gists{/gist_id}","starred_url":"https://api.github.com/users/bowei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bowei/subscriptions","organizations_url":"https://api.github.com/users/bowei/orgs","repos_url":"https://api.github.com/users/bowei/repos","events_url":"https://api.github.com/users/bowei/events{/privacy}","received_events_url":"https://api.github.com/users/bowei/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2017-06-09T15:44:23Z","updated_at":"2017-06-12T11:32:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/47250","html_url":"https://github.com/kubernetes/kubernetes/pull/47250","diff_url":"https://github.com/kubernetes/kubernetes/pull/47250.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/47250.patch"},"body":"<!--  Thanks for sending a pull request!  Here are some tips for you:\r\n1. If this is your first time, read our contributor guidelines https://git.k8s.io/community/contributors/devel/pull-requests.md#the-pr-submit-process and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide\r\n2. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/devel/pull-requests.md#best-practices-for-faster-reviews\r\n3. Follow the instructions for writing a release note: https://git.k8s.io/community/contributors/devel/pull-requests.md#write-release-notes-if-needed\r\n-->\r\n\r\n**What this PR does / why we need it**:\r\n- populate endpoints with headless service (thanks @fraenkel for the original PR!)\r\n- allow ports with headless service\r\n- nits\r\n\r\n**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #32796 https://github.com/kubernetes/kubernetes/issues/32796#issuecomment-270462724\r\n\r\n**Special notes for your reviewer**:\r\n/cc @thockin @fraenkel \r\n**Release note**:\r\n<!--  Steps to write your release note:\r\n1. Use the release-note-* labels to set the release note state (if you have access)\r\n2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`.\r\n-->\r\n```release-note\r\nNONE\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/307763740","html_url":"https://github.com/kubernetes/kubernetes/pull/47250#issuecomment-307763740","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47250","id":307763740,"user":{"login":"xiangpengzhao","id":15881573,"avatar_url":"https://avatars3.githubusercontent.com/u/15881573?v=3","gravatar_id":"","url":"https://api.github.com/users/xiangpengzhao","html_url":"https://github.com/xiangpengzhao","followers_url":"https://api.github.com/users/xiangpengzhao/followers","following_url":"https://api.github.com/users/xiangpengzhao/following{/other_user}","gists_url":"https://api.github.com/users/xiangpengzhao/gists{/gist_id}","starred_url":"https://api.github.com/users/xiangpengzhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiangpengzhao/subscriptions","organizations_url":"https://api.github.com/users/xiangpengzhao/orgs","repos_url":"https://api.github.com/users/xiangpengzhao/repos","events_url":"https://api.github.com/users/xiangpengzhao/events{/privacy}","received_events_url":"https://api.github.com/users/xiangpengzhao/received_events","type":"User","site_admin":false},"created_at":"2017-06-12T11:32:07Z","updated_at":"2017-06-12T11:32:07Z","body":"updated. PTAL. @thockin @bowei \r\n\r\nIn this update, inline comments are addressed.  Unrelated fixes are also removed to avoid noise in the PR. \r\n\r\nI also audit the list of places which might be affected.\r\n- [x] kubectl\r\n* modify validation and test of flag `--tcp` (file service_basic.go/service_basic_test.go in this PR)\r\n* add test case for ServiceGeneratorV2 (file service_test.go)\r\n* related func [generate](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/service.go#L131-L140): already respected headless service.\r\n* related func [RunExpose](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/expose.go#L188-L191): already respected headless service.\r\n\r\n- [x] API validation\r\n* modify validation and test of Ports of EndpointSubsets (file pkg/api/validation/validation.go and validation_test.go). also add a helper in `staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go`\r\n\r\n- [x] API defaulting\r\n* related func [SetDefaults_Endpoints](https://github.com/kubernetes/kubernetes/blob/master/pkg/api/v1/defaults.go#L257): don't need to modify.\r\n\r\n- [x] endpoints controller\r\n* respect len(service.Spec.Ports)==0 (file endpoints_controller.go/endpoints_controller_test.go)\r\n\r\n- [x] subset repacking \r\n* this is okay after endpoints controller respects len(service.Spec.Ports)==0.\r\n\r\n- [ ] kube-proxy\r\n* modify test case in proxier_test.go\r\n* I might miss something here...\r\n\r\n- [ ] DNS server (and \"DNS could use a specific unit test\"): \r\n* don't know where to check... need help here"}}
{"actor":{"display_login":"xiangpengzhao"}}