{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/24943","repository_url":"https://api.github.com/repos/docker/docker","labels_url":"https://api.github.com/repos/docker/docker/issues/24943/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/24943/comments","events_url":"https://api.github.com/repos/docker/docker/issues/24943/events","html_url":"https://github.com/docker/docker/pull/24943","id":167113609,"number":24943,"title":"Add failure action for rolling updates","user":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/priority/P1","name":"priority/P1","color":"eb6420"},{"url":"https://api.github.com/repos/docker/docker/labels/process/cherry-pick","name":"process/cherry-pick","color":"a98bf3"},{"url":"https://api.github.com/repos/docker/docker/labels/status/2-code-review","name":"status/2-code-review","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/docker/docker/milestones/53","html_url":"https://github.com/docker/docker/milestones/1.12.0","labels_url":"https://api.github.com/repos/docker/docker/milestones/53/labels","id":1657301,"number":53,"title":"1.12.0","description":"feature/code freeze: June 14th, 2016","creator":{"login":"thaJeztah","id":1804568,"avatar_url":"https://avatars.githubusercontent.com/u/1804568?v=3","gravatar_id":"","url":"https://api.github.com/users/thaJeztah","html_url":"https://github.com/thaJeztah","followers_url":"https://api.github.com/users/thaJeztah/followers","following_url":"https://api.github.com/users/thaJeztah/following{/other_user}","gists_url":"https://api.github.com/users/thaJeztah/gists{/gist_id}","starred_url":"https://api.github.com/users/thaJeztah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thaJeztah/subscriptions","organizations_url":"https://api.github.com/users/thaJeztah/orgs","repos_url":"https://api.github.com/users/thaJeztah/repos","events_url":"https://api.github.com/users/thaJeztah/events{/privacy}","received_events_url":"https://api.github.com/users/thaJeztah/received_events","type":"User","site_admin":false},"open_issues":136,"closed_issues":756,"state":"open","created_at":"2016-03-21T13:47:53Z","updated_at":"2016-07-25T14:54:57Z","due_on":"2016-07-28T07:00:00Z","closed_at":null},"comments":10,"created_at":"2016-07-22T19:18:41Z","updated_at":"2016-07-25T15:37:47Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/24943","html_url":"https://github.com/docker/docker/pull/24943","diff_url":"https://github.com/docker/docker/pull/24943.diff","patch_url":"https://github.com/docker/docker/pull/24943.patch"},"body":"This changes the default behavior so that rolling updates will not proceed once an updated task fails to start, or stops running during the update. Users can use `docker service inspect --pretty servicename` (btw, why `--pretty`? I think we should change this) to see the update status, and if it pauses due to a failure, it will explain that the update is paused, and show the task ID that caused it to pause. It also shows the time since the update started.\r\n\r\nA new `--update-on-failure=(pause|continue)` flag selects the behavior. Pause means the update stops once a task fails, continue means the old behavior of continuing the update anyway.\r\n\r\nIn the future this will be extended with additional behaviors like automatic rollback, and flags controlling parameters like how many tasks need to fail for the update to stop proceeding. This is a minimal solution for 1.12.\r\n\r\nping @cpuguy83 @aluzzardi @stevvooe @tiborvass @sfsmithcha"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/234990846","html_url":"https://github.com/docker/docker/pull/24943#issuecomment-234990846","issue_url":"https://api.github.com/repos/docker/docker/issues/24943","id":234990846,"user":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T15:37:47Z","updated_at":"2016-07-25T15:37:47Z","body":"Oh, you're right, there's a default case that returns an error.\r\n\r\nI'll change this to handle the missing parameter gracefully.\r\n\r\n```go\r\n +\t\tdefault:\r\n +\t\t\treturn swarmapi.ServiceSpec{}, fmt.Errorf(\"unrecongized update failure action %s\", s.UpdateConfig.FailureAction)\r\n```"}}
{"actor":{"display_login":"aaronlehmann"}}