{"action":"created","issue":{"url":"https://api.github.com/repos/coreos/rkt/issues/842","labels_url":"https://api.github.com/repos/coreos/rkt/issues/842/labels{/name}","comments_url":"https://api.github.com/repos/coreos/rkt/issues/842/comments","events_url":"https://api.github.com/repos/coreos/rkt/issues/842/events","html_url":"https://github.com/coreos/rkt/pull/842","id":71928097,"number":842,"title":"Drop waiter in favor of RemainAfterExit.","user":{"login":"xnox","id":19779,"avatar_url":"https://avatars.githubusercontent.com/u/19779?v=3","gravatar_id":"","url":"https://api.github.com/users/xnox","html_url":"https://github.com/xnox","followers_url":"https://api.github.com/users/xnox/followers","following_url":"https://api.github.com/users/xnox/following{/other_user}","gists_url":"https://api.github.com/users/xnox/gists{/gist_id}","starred_url":"https://api.github.com/users/xnox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xnox/subscriptions","organizations_url":"https://api.github.com/users/xnox/orgs","repos_url":"https://api.github.com/users/xnox/repos","events_url":"https://api.github.com/users/xnox/events{/privacy}","received_events_url":"https://api.github.com/users/xnox/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/coreos/rkt/labels/stage1","name":"stage1","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-04-29T16:47:36Z","updated_at":"2015-04-30T11:11:35Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/coreos/rkt/pulls/842","html_url":"https://github.com/coreos/rkt/pull/842","diff_url":"https://github.com/coreos/rkt/pull/842.diff","patch_url":"https://github.com/coreos/rkt/pull/842.patch"},"body":"Or am I missing anything special about the for-loop consuming signals in the waiter binary? (i.e. ignores all signals and remains active).\r\n\r\nI've run the test-suite but I'm not sure if the waiter is properly exercised there."},"comment":{"url":"https://api.github.com/repos/coreos/rkt/issues/comments/97741713","html_url":"https://github.com/coreos/rkt/pull/842#issuecomment-97741713","issue_url":"https://api.github.com/repos/coreos/rkt/issues/842","id":97741713,"user":{"login":"xnox","id":19779,"avatar_url":"https://avatars.githubusercontent.com/u/19779?v=3","gravatar_id":"","url":"https://api.github.com/users/xnox","html_url":"https://github.com/xnox","followers_url":"https://api.github.com/users/xnox/followers","following_url":"https://api.github.com/users/xnox/following{/other_user}","gists_url":"https://api.github.com/users/xnox/gists{/gist_id}","starred_url":"https://api.github.com/users/xnox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xnox/subscriptions","organizations_url":"https://api.github.com/users/xnox/orgs","repos_url":"https://api.github.com/users/xnox/repos","events_url":"https://api.github.com/users/xnox/events{/privacy}","received_events_url":"https://api.github.com/users/xnox/received_events","type":"User","site_admin":false},"created_at":"2015-04-30T11:11:35Z","updated_at":"2015-04-30T11:11:35Z","body":"Note the change from PostExecStop to ExecStop  in the waiter the below interractive example with the units. Note that the sample exit-waiter is started when the pod.service is started, and stopped when no longer needed with the ExecStop action getting executed. Thus I'd want to use this instead, without any ExecStart binaries executed in the waiter.\r\n\r\n    root@clr ~ # systemctl cat exit-watcher.service\r\n    # /etc/systemd/system/exit-watcher.service\r\n    [Unit]\r\n    Description=Graceful exit watcher\r\n    StopWhenUnneeded=true\r\n    DefaultDependencies=false\r\n    \r\n    [Service]\r\n    RemainAfterExit=yes\r\n    ExecStop=/usr/bin/echo finished\r\n    root@clr ~ # systemctl cat pod.service\r\n    # /etc/systemd/system/pod.service\r\n    [Unit]\r\n    DefaultDependencies=false\r\n    Wants=exit-watcher.service\r\n    \r\n    [Service]\r\n    Restart=no\r\n    ExecStart=/usr/bin/sleep 10\r\n    root@clr ~ # systemctl start pod.service; systemctl status pod.service; systemctl status exit-watcher.service; sleep 15; systemctl status pod.service; systemctl status exit-watcher.service\r\n    ● pod.service\r\n       Loaded: loaded (/etc/systemd/system/pod.service; static; vendor preset: disabled)\r\n       Active: active (running) since Thu 2015-04-30 11:07:47 UTC; 7ms ago\r\n     Main PID: 13721 (sleep)\r\n       CGroup: /system.slice/pod.service\r\n               └─13721 /usr/bin/sleep 10\r\n    \r\n    Apr 30 11:07:47 clr systemd[1]: Started pod.service.\r\n    Apr 30 11:07:47 clr systemd[1]: Starting pod.service...\r\n    ● exit-watcher.service - Graceful exit watcher\r\n       Loaded: loaded (/etc/systemd/system/exit-watcher.service; static; vendor preset: disabled)\r\n       Active: active (exited) since Thu 2015-04-30 11:07:47 UTC; 10ms ago\r\n    \r\n    Apr 30 11:07:47 clr systemd[1]: Started Graceful exit watcher.\r\n    Apr 30 11:07:47 clr systemd[1]: Starting Graceful exit watcher...\r\n    ● pod.service\r\n       Loaded: loaded (/etc/systemd/system/pod.service; static; vendor preset: disabled)\r\n       Active: inactive (dead)\r\n    \r\n    Apr 30 11:07:47 clr systemd[1]: Started pod.service.\r\n    Apr 30 11:07:47 clr systemd[1]: Starting pod.service...\r\n    ● exit-watcher.service - Graceful exit watcher\r\n       Loaded: loaded (/etc/systemd/system/exit-watcher.service; static; vendor preset: disabled)\r\n       Active: inactive (dead)\r\n    \r\n    Apr 30 11:07:47 clr systemd[1]: Started Graceful exit watcher.\r\n    Apr 30 11:07:47 clr systemd[1]: Starting Graceful exit watcher...\r\n    Apr 30 11:07:57 clr systemd[1]: Unit exit-watcher.service is not needed anymore. Stopping.\r\n    Apr 30 11:07:57 clr systemd[1]: Stopping Graceful exit watcher...\r\n    Apr 30 11:07:57 clr echo[13726]: finished\r\n    Apr 30 11:07:57 clr systemd[1]: Stopped Graceful exit watcher.\r\n"}}