{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66733","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66733/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66733/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66733/events","html_url":"https://github.com/kubernetes/kubernetes/pull/66733","id":345409757,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA0NTcxNDE4","number":66733,"title":"Add a feature to the scheduler to score fewer than all nodes in every scheduling cycle","user":{"login":"bsalamat","id":14308438,"node_id":"MDQ6VXNlcjE0MzA4NDM4","avatar_url":"https://avatars3.githubusercontent.com/u/14308438?v=4","gravatar_id":"","url":"https://api.github.com/users/bsalamat","html_url":"https://github.com/bsalamat","followers_url":"https://api.github.com/users/bsalamat/followers","following_url":"https://api.github.com/users/bsalamat/following{/other_user}","gists_url":"https://api.github.com/users/bsalamat/gists{/gist_id}","starred_url":"https://api.github.com/users/bsalamat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsalamat/subscriptions","organizations_url":"https://api.github.com/users/bsalamat/orgs","repos_url":"https://api.github.com/users/bsalamat/repos","events_url":"https://api.github.com/users/bsalamat/events{/privacy}","received_events_url":"https://api.github.com/users/bsalamat/received_events","type":"User","site_admin":false},"labels":[{"id":477397086,"node_id":"MDU6TGFiZWw0NzczOTcwODY=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":261005360,"node_id":"MDU6TGFiZWwyNjEwMDUzNjA=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/api-change","name":"kind/api-change","color":"c7def8","default":false},{"id":267761362,"node_id":"MDU6TGFiZWwyNjc3NjEzNjI=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":114528223,"node_id":"MDU6TGFiZWwxMTQ1MjgyMjM=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/important-soon","name":"priority/important-soon","color":"eb6420","default":false},{"id":200149833,"node_id":"MDU6TGFiZWwyMDAxNDk4MzM=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":125550211,"node_id":"MDU6TGFiZWwxMjU1NTAyMTE=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/scheduling","name":"sig/scheduling","color":"d2b48c","default":false},{"id":253451057,"node_id":"MDU6TGFiZWwyNTM0NTEwNTc=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500","default":false},{"id":611767149,"node_id":"MDU6TGFiZWw2MTE3NjcxNDk=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/status/approved-for-milestone","name":"status/approved-for-milestone","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/39","html_url":"https://github.com/kubernetes/kubernetes/milestone/39","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/39/labels","id":2913712,"node_id":"MDk6TWlsZXN0b25lMjkxMzcxMg==","number":39,"title":"v1.12","description":"","creator":{"login":"thockin","id":5595220,"node_id":"MDQ6VXNlcjU1OTUyMjA=","avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"open_issues":37,"closed_issues":25,"state":"open","created_at":"2017-11-15T06:32:51Z","updated_at":"2018-07-28T02:25:36Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2018-07-28T02:24:51Z","updated_at":"2018-07-28T02:35:20Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66733","html_url":"https://github.com/kubernetes/kubernetes/pull/66733","diff_url":"https://github.com/kubernetes/kubernetes/pull/66733.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/66733.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/guide#your-first-contribution 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/guide/pull-requests.md#best-practices-for-faster-reviews\r\n3. Follow the instructions for writing a release note: https://git.k8s.io/community/contributors/guide/release-notes.md\r\n4. If the PR is unfinished, see how to mark it: https://git.k8s.io/community/contributors/guide/pull-requests.md#marking-unfinished-pull-requests\r\n-->\r\n\r\n**What this PR does / why we need it**:\r\nToday, the scheduler scores all the nodes in the cluster in every scheduling cycle (every time a posd is attempted). This feature implements a mechanism in the scheduler that allows scoring fewer than all nodes in the cluster. The scheduler stops searching for more nodes once the configured number of feasible nodes are found. This can help improve the scheduler's performance in large clusters (several hundred nodes and larger).\r\nThis PR also adds a new structure to the scheduler's cache, called NodeTree, that allows scheduler to iterate over various nodes in different zones in a cluster. This is needed to avoid scoring the same set of nodes in every scheduling cycle.\r\n\r\n**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:\r\nFixes #66627 \r\n\r\n**Special notes for your reviewer**:\r\nThis is a large PR, but broken into a few logical commits. Reviewing would be easier if you review by commits.\r\n\r\n**Release note**:\r\n<!--  Write your release note:\r\n1. Enter your extended release note in the below block. If the PR requires additional action from users switching to the new release, include the string \"action required\".\r\n2. If no release note is required, just write \"NONE\".\r\n-->\r\n```release-note\r\nAdd a feature to the scheduler to score fewer than all nodes in every scheduling cycle. This can improve performance of the scheduler in large clusters.\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/408576888","html_url":"https://github.com/kubernetes/kubernetes/pull/66733#issuecomment-408576888","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66733","id":408576888,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODU3Njg4OA==","user":{"login":"k8s-ci-robot","id":20407524,"node_id":"MDQ6VXNlcjIwNDA3NTI0","avatar_url":"https://avatars0.githubusercontent.com/u/20407524?v=4","gravatar_id":"","url":"https://api.github.com/users/k8s-ci-robot","html_url":"https://github.com/k8s-ci-robot","followers_url":"https://api.github.com/users/k8s-ci-robot/followers","following_url":"https://api.github.com/users/k8s-ci-robot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-ci-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-ci-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-ci-robot/subscriptions","organizations_url":"https://api.github.com/users/k8s-ci-robot/orgs","repos_url":"https://api.github.com/users/k8s-ci-robot/repos","events_url":"https://api.github.com/users/k8s-ci-robot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-ci-robot/received_events","type":"User","site_admin":false},"created_at":"2018-07-28T02:35:20Z","updated_at":"2018-07-28T02:35:20Z","author_association":"COLLABORATOR","body":"@bsalamat: The following tests **failed**, say `/retest` to rerun them all:\n\nTest name | Commit | Details | Rerun command\n--- | --- | --- | ---\npull-kubernetes-e2e-gce-100-performance | d75dc2159113c828c2b45bcaa6957861593409b2 | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-e2e-gce-100-performance/14239/) | `/test pull-kubernetes-e2e-gce-100-performance`\npull-kubernetes-e2e-gce-device-plugin-gpu | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-e2e-gce-device-plugin-gpu/41336/) | `/test pull-kubernetes-e2e-gce-device-plugin-gpu`\npull-kubernetes-bazel-build | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-bazel-build/51608/) | `/test pull-kubernetes-bazel-build`\npull-kubernetes-bazel-test | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-bazel-test/54119/) | `/test pull-kubernetes-bazel-test`\npull-kubernetes-e2e-gce | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-e2e-gce/45934/) | `/test pull-kubernetes-e2e-gce`\npull-kubernetes-e2e-kops-aws | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-e2e-kops-aws/98863/) | `/test pull-kubernetes-e2e-kops-aws`\npull-kubernetes-typecheck | 2565a7b4067ca36d149d10d8a4c6ba2898c9a80a | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66733/pull-kubernetes-typecheck/18540/) | `/test pull-kubernetes-typecheck`\n\n[Full PR test history](https://k8s-gubernator.appspot.com/pr/66733). [Your PR dashboard](https://k8s-gubernator.appspot.com/pr/bsalamat). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes/kubernetes/issues?q=is:issue+is:open) when you hit one in your PR.\n\n<details>\n\nInstructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).\n</details>\n<!-- test report -->"}}
{"actor":{"display_login":"k8s-ci-robot"}}