{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66391","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66391/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66391/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66391/events","html_url":"https://github.com/kubernetes/kubernetes/pull/66391","id":342825638,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyNjM0NzYz","number":66391,"title":"Support dry run in admission plugins","user":{"login":"jennybuckley","id":31416425,"node_id":"MDQ6VXNlcjMxNDE2NDI1","avatar_url":"https://avatars2.githubusercontent.com/u/31416425?v=4","gravatar_id":"","url":"https://api.github.com/users/jennybuckley","html_url":"https://github.com/jennybuckley","followers_url":"https://api.github.com/users/jennybuckley/followers","following_url":"https://api.github.com/users/jennybuckley/following{/other_user}","gists_url":"https://api.github.com/users/jennybuckley/gists{/gist_id}","starred_url":"https://api.github.com/users/jennybuckley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jennybuckley/subscriptions","organizations_url":"https://api.github.com/users/jennybuckley/orgs","repos_url":"https://api.github.com/users/jennybuckley/repos","events_url":"https://api.github.com/users/jennybuckley/events{/privacy}","received_events_url":"https://api.github.com/users/jennybuckley/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":349530249,"node_id":"MDU6TGFiZWwzNDk1MzAyNDk=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6","default":false},{"id":173493835,"node_id":"MDU6TGFiZWwxNzM0OTM4MzU=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/api-machinery","name":"sig/api-machinery","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}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2018-07-19T17:43:12Z","updated_at":"2018-08-02T21:57:27Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66391","html_url":"https://github.com/kubernetes/kubernetes/pull/66391","diff_url":"https://github.com/kubernetes/kubernetes/pull/66391.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/66391.patch"},"body":"**What this PR does / why we need it**:\r\nAdds support for dry run to admission controllers as outlined by https://github.com/kubernetes/community/pull/2387\r\n\r\n- [x] add IsDryRun() to admission.Attributes interface\r\n- [x] add dry run support to NamespaceAutoProvision\r\n- [x] add dry run support to ResourceQuota\r\n- [x] add dry run support to EventRateLimit\r\n\r\nThe following is being done in a follow up PR:\r\n- [x] add DryRun to ```admission.k8s.io/v1beta1.AdmissionReview```\r\n- [x] add DryRunnable to ```admissionregistration.k8s.io/v1beta1.(Valid|Mut)atingWebhookConfiguration```\r\n- [x] add dry run support to (Valid|Mut)atingAdmissionWebhook\r\n\r\n/sig api-machinery\r\n\r\n**Release note**:\r\n```release-note\r\nNONE\r\n```\r\n\r\nHere is a list of the admission controllers that were considered when making this PR:\r\n- AlwaysAdmit: No side effects\r\n- AlwaysPullImages: No side effects\r\n- LimitPodHardAntiAffinityTopology: No side effects\r\n- DefaultTolerationSeconds: No side effects\r\n- AlwaysDeny: No side effects\r\n- EventRateLimit: Has side possible effect of affecting the rate, skipping this entire plugin in dry-run case since it won't correspond to an actual write to etcd anyway\r\n- DenyEscalatingExec: No side effects\r\n- DenyExecOnPrivileged: Deprecated, and has no side effects\r\n- ExtendedResourceToleration: No side effects\r\n- OwnerReferencesPermissionEnforcement: No side effects\r\n- ImagePolicyWebhook: No side effects* (*this uses a webhook but it is very specialized. It only sees pod container images, for the purpose of accepting or rejecting certain image sources, so it is very unlikely that it would rely on side effects.)\r\n- LimitRanger: No side effects\r\n- NamespaceAutoProvision: Has possible side effect of creating a namespace, skipping the create in the dry-run case\r\n- NamespaceExists: No side effects\r\n- NodeRestriction: No side effects\r\n- PodNodeSelector: No side effects\r\n- PodPreset: No side effects\r\n- PodTolerationRestriction: No side effects\r\n- Priority: No side effects\r\n- ResourceQuota: Has side possible effect of taking up quota, will only check quota but skip changing quota in the dry-run case\r\n- PodSecurityPolicy: No side effects\r\n- SecurityContextDeny: No side effects\r\n- ServiceAccount: No side effects\r\n- PersistentVolumeLabel: No side effects\r\n- PersistentVolumeClaimResize: No side effects\r\n- DefaultStorageClass: No side effects\r\n- StorageObjectInUseProtection: No side effects\r\n- Initializers: No side effects\r\n- NamespaceLifecycle: No side effects\r\n- MutatingAdmissionWebhook: Same as below\r\n- ValidatingAdmissionWebhook: Has possible side effects depending on if webhook authors depend on side effects and a reconciliation mechanism. To fix this we will expose whether or not a request is dry-run to webhooks through AdmissionReview, and require that all called webhooks understand the field by checking if DryRunnable true is specified in the webhook config. This will be done in a separate PR because it requires an api-change"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/410080515","html_url":"https://github.com/kubernetes/kubernetes/pull/66391#issuecomment-410080515","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66391","id":410080515,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDA4MDUxNQ==","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-08-02T21:57:27Z","updated_at":"2018-08-02T21:57:27Z","author_association":"COLLABORATOR","body":"@jennybuckley: The following test **failed**, say `/retest` to rerun them all:\n\nTest name | Commit | Details | Rerun command\n--- | --- | --- | ---\npull-kubernetes-e2e-kops-aws | 1a6d557360c904cf9014174765e39f791f7632e8 | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/66391/pull-kubernetes-e2e-kops-aws/99521/) | `/test pull-kubernetes-e2e-kops-aws`\n\n[Full PR test history](https://k8s-gubernator.appspot.com/pr/66391). [Your PR dashboard](https://k8s-gubernator.appspot.com/pr/jennybuckley). 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"}}