{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/50344","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/50344/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/50344/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/50344/events","html_url":"https://github.com/kubernetes/kubernetes/pull/50344","id":248878040,"number":50344,"title":"Delegate to Validate() when validating updates of uninitialized objects","user":{"login":"caesarxuchao","id":2823529,"avatar_url":"https://avatars2.githubusercontent.com/u/2823529?v=4","gravatar_id":"","url":"https://api.github.com/users/caesarxuchao","html_url":"https://github.com/caesarxuchao","followers_url":"https://api.github.com/users/caesarxuchao/followers","following_url":"https://api.github.com/users/caesarxuchao/following{/other_user}","gists_url":"https://api.github.com/users/caesarxuchao/gists{/gist_id}","starred_url":"https://api.github.com/users/caesarxuchao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caesarxuchao/subscriptions","organizations_url":"https://api.github.com/users/caesarxuchao/orgs","repos_url":"https://api.github.com/users/caesarxuchao/repos","events_url":"https://api.github.com/users/caesarxuchao/events{/privacy}","received_events_url":"https://api.github.com/users/caesarxuchao/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":173493835,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/api-machinery","name":"sig/api-machinery","color":"d2b48c","default":false},{"id":253451057,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500","default":false}],"state":"open","locked":false,"assignee":{"login":"liggitt","id":980082,"avatar_url":"https://avatars0.githubusercontent.com/u/980082?v=4","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},"assignees":[{"login":"lavalamp","id":647318,"avatar_url":"https://avatars0.githubusercontent.com/u/647318?v=4","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false},{"login":"liggitt","id":980082,"avatar_url":"https://avatars0.githubusercontent.com/u/980082?v=4","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars0.githubusercontent.com/u/1163175?v=4","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2017-08-08T23:44:05Z","updated_at":"2017-08-29T01:49:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/50344","html_url":"https://github.com/kubernetes/kubernetes/pull/50344","diff_url":"https://github.com/kubernetes/kubernetes/pull/50344.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/50344.patch"},"body":"This PR allows initializer controllers to alter almost every fields of an object, except for some metadata fields, because `validateCommonFields` is called in `BeforeUpdate`and will ensure immutability of Name/UID/CreationTimestamp.\r\n\r\nFix #47837\r\n\r\n\r\n*The followings are for my own record:*\r\n\r\nI browsed the `Validate.*Update` functions. I didn't see the necessity to enforce the same rules for uninitialized objects. One thing caught my eye: the comment of [ValidatePersistentVolumeClaimUpdate](https://github.com/kubernetes/kubernetes/blob/v1.8.0-alpha.2/pkg/api/validation/validation.go#L1464) says \"Claims are immutable in order to enforce quota, range limits, etc. without gaming the system.\" I don't think the comment applies to uninitialized pvc. In fact, https://github.com/kubernetes/kubernetes/pull/49268 tries to allow updating (initialized) pvc spec.\r\n\r\nWe need to update some more admission plugins to handle mutating specs: \r\n* PersistentVolumeLabel: no change, it's going to be converted to an initializer in #44680 \r\n* DefaultStorageClass: updated in this PR."},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/325530859","html_url":"https://github.com/kubernetes/kubernetes/pull/50344#issuecomment-325530859","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/50344","id":325530859,"user":{"login":"k8s-ci-robot","id":20407524,"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":"2017-08-29T01:49:33Z","updated_at":"2017-08-29T01:49:33Z","body":"@caesarxuchao: The following tests **failed**, say `/retest` to rerun them all:\n\nTest name | Commit | Details | Rerun command\n--- | --- | --- | ---\npull-kubernetes-verify | dbf98a1a99c4b3f1533f35f968490ac72bfbebce | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-verify/48397/) | `/test pull-kubernetes-verify`\npull-kubernetes-e2e-gce-bazel | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-e2e-gce-bazel/12949/) | `/test pull-kubernetes-e2e-gce-bazel`\npull-kubernetes-bazel-build | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-bazel-build/32/) | `/test pull-kubernetes-bazel-build`\npull-kubernetes-bazel-test | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-bazel-test/32/) | `/test pull-kubernetes-bazel-test`\npull-kubernetes-kubemark-e2e-gce | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-kubemark-e2e-gce/48812/) | `/test pull-kubernetes-kubemark-e2e-gce`\npull-kubernetes-unit | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-unit/50163/) | `/test pull-kubernetes-unit`\npull-kubernetes-node-e2e | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-node-e2e/48238/) | `/test pull-kubernetes-node-e2e`\npull-kubernetes-e2e-kops-aws | 53767c2e808bae877bc47a0682bedbb17d9ae79e | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/50344/pull-kubernetes-e2e-kops-aws/44638/) | `/test pull-kubernetes-e2e-kops-aws`\n\n[Full PR test history](https://k8s-gubernator.appspot.com/pr/50344). [Your PR dashboard](https://k8s-gubernator.appspot.com/pr/caesarxuchao). Please help us cut down on flakes by [linking to](https://github.com/kubernetes/community/blob/master/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://github.com/kubernetes/community/blob/master/contributors/devel/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://github.com/kubernetes/test-infra/blob/master/commands.md).\n</details>\n<!-- test report -->"}}
{"actor":{"display_login":"k8s-ci-robot"}}