{"action":"closed","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/3844","labels_url":"https://api.github.com/repos/openshift/origin/issues/3844/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/3844/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/3844/events","html_url":"https://github.com/openshift/origin/issues/3844","id":96630183,"number":3844,"title":"Rolling updater should be more resilient when maintaining SLA during scaling","user":{"login":"ironcladlou","id":298299,"avatar_url":"https://avatars.githubusercontent.com/u/298299?v=3","gravatar_id":"","url":"https://api.github.com/users/ironcladlou","html_url":"https://github.com/ironcladlou","followers_url":"https://api.github.com/users/ironcladlou/followers","following_url":"https://api.github.com/users/ironcladlou/following{/other_user}","gists_url":"https://api.github.com/users/ironcladlou/gists{/gist_id}","starred_url":"https://api.github.com/users/ironcladlou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ironcladlou/subscriptions","organizations_url":"https://api.github.com/users/ironcladlou/orgs","repos_url":"https://api.github.com/users/ironcladlou/repos","events_url":"https://api.github.com/users/ironcladlou/events{/privacy}","received_events_url":"https://api.github.com/users/ironcladlou/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openshift/origin/labels/component/deployments","name":"component/deployments","color":"0052cc"},{"url":"https://api.github.com/repos/openshift/origin/labels/kind/enhancement","name":"kind/enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/openshift/origin/labels/priority/P2","name":"priority/P2","color":"fbca04"}],"state":"closed","locked":false,"assignee":{"login":"ironcladlou","id":298299,"avatar_url":"https://avatars.githubusercontent.com/u/298299?v=3","gravatar_id":"","url":"https://api.github.com/users/ironcladlou","html_url":"https://github.com/ironcladlou","followers_url":"https://api.github.com/users/ironcladlou/followers","following_url":"https://api.github.com/users/ironcladlou/following{/other_user}","gists_url":"https://api.github.com/users/ironcladlou/gists{/gist_id}","starred_url":"https://api.github.com/users/ironcladlou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ironcladlou/subscriptions","organizations_url":"https://api.github.com/users/ironcladlou/orgs","repos_url":"https://api.github.com/users/ironcladlou/repos","events_url":"https://api.github.com/users/ironcladlou/events{/privacy}","received_events_url":"https://api.github.com/users/ironcladlou/received_events","type":"User","site_admin":false},"milestone":null,"comments":21,"created_at":"2015-07-22T18:07:59Z","updated_at":"2015-08-20T14:27:06Z","closed_at":"2015-08-20T14:27:06Z","body":"The enhancements to rolling updates for #3701 include a change to allow the updater to maintain an SLA represented by a minimum percentage of ready pods to remain ready for the duration of the deployment. However, the mechanism is brittle: during a given scale-up each interval, if any pods in the current chunk don't become ready in time, the updater gives up entirely and immediately.\r\n\r\nThe scaling should be more resiliant by continuing to scale down and up as long as possible subject to timeouts given the total pod readiness count hasn't dipped below the minimum representing the SLA from the configurable update percentage. The scaling increment each interval should be variable, treating the SLA minimum as the basis for a maxium increment per interval.\r\n\r\nThe updater should know what the minimum ready count threshold is, and should do \"as much as possible\" each interval within the bounds of the SLA.\r\n\r\nThis is an extension of https://github.com/GoogleCloudPlatform/kubernetes/pull/10062."}}