-
Notifications
You must be signed in to change notification settings - Fork 40.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider moving rollback out of the Deployment controller #46934
Comments
/cc |
how would automatic rollback work in either of these options ? |
@krmayankk automatic rollback is a different issue and shouldn't be affected by this one. |
Worth noting user confusion: #47238 (comment) |
Server side rollback isn't implement yet in StatefulSet and DaemonSet. The design of deployment rollback will eventually be consistent with other controllers. We should have a decision before GA. |
/cc |
Current plan for 1.8:
|
/cc @kubernetes/huawei |
I am in favor of moving rollback out of the Deployment controller and out of the DeploymentSpec. I'm not in favor of moving it to the apiserver. It can be done in an external controller. I just approved #49340. |
Automatic merge from submit-queue Deprecate Deployment .spec.rollbackTo field ~Depends on #48746~ (merged) xref: #46934, #49135 1. Deprecate Deployment field `.spec.rollbackTo` in `extensions/v1beta1` and `apps/v1beta1`, and remove the same field and `/rollback` endpoint from `apps/v1beta2` Deployment. 1. Add an annotation `deprecated.deployment.rollback.to` in `apps/v1beta2` for conversion to/from other versions. Note: `apps/v1beta2` is new in 1.8 (and WIP), so it is okay to make breaking changes to it. ```release-note Deprecate Deployment .spec.rollbackTo field ```
@janetkuo I guess this falls through to 1.9? |
Rollback is deprecated in 1.8. It will eventually be removed along with extensions/v1beta1 Deployment. |
[MILESTONENOTIFIER] Milestone Issue Needs Approval @janetkuo @Kargakis @kubernetes/sig-apps-bugs Action required: This issue must have the Issue Labels
|
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
@janetkou do we want to keep this open until deprecation is complete? |
/close |
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 thedeployments/{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.
The text was updated successfully, but these errors were encountered: