-
Notifications
You must be signed in to change notification settings - Fork 41.4k
Description
Currently, in order for a Deployment to rollback:
i. a user needs to set d.spec.rollbackTo.revision
ii. the controller notices the populated rollback spec and it updates the pod template of the deployment plus it cleans up the rollbackTo
field.
Step ii. is breaking the declarative model for the Deployment API. We should consider dropping rollbackTo
from the spec and instead either 1. make the deployments/{name}/rollback
endpoint perform the rollback or 2. have the rollback endpoint simply return a dry-run of the rolled back Deployment which then clients can PUT.
If we do 1. we need an option for dry-run, 2. is what we do in OpenShift.
@kubernetes/sig-apps-api-reviews
ps. sparked by the decision to have rollback client-side initially for DaemonSets and StatefulSets.