{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64888","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64888/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64888/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64888/events","html_url":"https://github.com/kubernetes/kubernetes/pull/64888","id":330404431,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzNDIzNTk5","number":64888,"title":"Add a SleepAction / Handler (for pod lifecycle / preStop)","user":{"login":"rtreffer","id":61306,"node_id":"MDQ6VXNlcjYxMzA2","avatar_url":"https://avatars3.githubusercontent.com/u/61306?v=4","gravatar_id":"","url":"https://api.github.com/users/rtreffer","html_url":"https://github.com/rtreffer","followers_url":"https://api.github.com/users/rtreffer/followers","following_url":"https://api.github.com/users/rtreffer/following{/other_user}","gists_url":"https://api.github.com/users/rtreffer/gists{/gist_id}","starred_url":"https://api.github.com/users/rtreffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtreffer/subscriptions","organizations_url":"https://api.github.com/users/rtreffer/orgs","repos_url":"https://api.github.com/users/rtreffer/repos","events_url":"https://api.github.com/users/rtreffer/events{/privacy}","received_events_url":"https://api.github.com/users/rtreffer/received_events","type":"User","site_admin":false},"labels":[{"id":116719829,"node_id":"MDU6TGFiZWwxMTY3MTk4Mjk=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/kubelet","name":"area/kubelet","color":"0052cc","default":false},{"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":"e11d21","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":404091735,"node_id":"MDU6TGFiZWw0MDQwOTE3MzU=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/apps","name":"sig/apps","color":"d2b48c","default":false},{"id":636152047,"node_id":"MDU6TGFiZWw2MzYxNTIwNDc=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/architecture","name":"sig/architecture","color":"d2b48c","default":false},{"id":116712108,"node_id":"MDU6TGFiZWwxMTY3MTIxMDg=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/network","name":"sig/network","color":"d2b48c","default":false},{"id":173493665,"node_id":"MDU6TGFiZWwxNzM0OTM2NjU=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/node","name":"sig/node","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":{"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},"assignees":[{"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},{"login":"derekwaynecarr","id":6233452,"node_id":"MDQ6VXNlcjYyMzM0NTI=","avatar_url":"https://avatars3.githubusercontent.com/u/6233452?v=4","gravatar_id":"","url":"https://api.github.com/users/derekwaynecarr","html_url":"https://github.com/derekwaynecarr","followers_url":"https://api.github.com/users/derekwaynecarr/followers","following_url":"https://api.github.com/users/derekwaynecarr/following{/other_user}","gists_url":"https://api.github.com/users/derekwaynecarr/gists{/gist_id}","starred_url":"https://api.github.com/users/derekwaynecarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derekwaynecarr/subscriptions","organizations_url":"https://api.github.com/users/derekwaynecarr/orgs","repos_url":"https://api.github.com/users/derekwaynecarr/repos","events_url":"https://api.github.com/users/derekwaynecarr/events{/privacy}","received_events_url":"https://api.github.com/users/derekwaynecarr/received_events","type":"User","site_admin":false},{"login":"yujuhong","id":10524058,"node_id":"MDQ6VXNlcjEwNTI0MDU4","avatar_url":"https://avatars1.githubusercontent.com/u/10524058?v=4","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false}],"milestone":null,"comments":12,"created_at":"2018-06-07T19:26:34Z","updated_at":"2018-09-11T15:29:10Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/64888","html_url":"https://github.com/kubernetes/kubernetes/pull/64888","diff_url":"https://github.com/kubernetes/kubernetes/pull/64888.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/64888.patch"},"body":"A sleep action is mainly useful during shutdown to delay the delivery of the TERM/KILL signal.\r\n\r\n**What this PR does / why we need it**:\r\n\r\nDelaying the SIGTERM by a few seconds helps to drain pods. Other methods (tcp, http, exec) are tied to the pod or software and are thus not applicable in all situations.\r\n\r\nI've added a longer description (including alternatives) to #64510 - this PR is one possible solution.\r\n\r\nUsage:\r\n```\r\n        lifecycle:\r\n          preStop:\r\n            sleep:\r\n              seconds: 15\r\n```\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 #64510\r\n\r\n**Special notes for your reviewer**:\r\n\r\nI've tested this with a local testcluster and it worked as intended.\r\n\r\nThe [implementation](https://github.com/kubernetes/kubernetes/compare/master...soundcloud:sleep-handler?expand=1#diff-9a9f71a82ddbbcd0627de3aea90c6649R73) is a three-liner, everything else is an extension to the configuration format and autogenerated code (deepcopy/protobuf/...)\r\n\r\nI am happy to throw this away and take a different route if needed. Or to fix whatever issues come up. Or to discuss other alternative.\r\n\r\n**Release note**:\r\n```release-note\r\nA sleep handler was added as an option for lifecycle hooks. The handler can be used to delay the SIGTERM send to the container.\r\n```\r\n\r\n/sig node"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/420315341","html_url":"https://github.com/kubernetes/kubernetes/pull/64888#issuecomment-420315341","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64888","id":420315341,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMDMxNTM0MQ==","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-09-11T15:29:10Z","updated_at":"2018-09-11T15:29:10Z","author_association":"CONTRIBUTOR","body":"@rtreffer: The following test **failed**, say `/retest` to rerun them all:\n\nTest name | Commit | Details | Rerun command\n--- | --- | --- | ---\npull-kubernetes-e2e-kops-aws | 90c68e7111b1ccfc88b8bb36c6d7d5b0b8a51d46 | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/64888/pull-kubernetes-e2e-kops-aws/105813/) | `/test pull-kubernetes-e2e-kops-aws`\n\n[Full PR test history](https://k8s-gubernator.appspot.com/pr/64888). [Your PR dashboard](https://k8s-gubernator.appspot.com/pr/rtreffer). 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"}}