-
Notifications
You must be signed in to change notification settings - Fork 42
Support rollback for ManifestWorkReplicaSet #164
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
Support rollback for ManifestWorkReplicaSet #164
Conversation
youngbupark
commented
Nov 12, 2025
- Support rollback for ManifestWorkReplicaSet
|
|
||
| ## Design Details | ||
|
|
||
| The `abort` operation cancels the progressing rollout and rolls it back to the stable revision automatically without updating `.spec.manifestWorkTemplate`, whereas `rollback` requires explicit manual action by updating `.spec.manifestWorkTemplate`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am following the same concept of abort and rollback of argo rollout. See this - https://argo-rollouts.readthedocs.io/en/stable/getting-started/#4-aborting-a-rollout
|
|
||
| ### ManifestWorkReplicaSet API Object | ||
|
|
||
| To support abort and rollback feature, we will have the following API changes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if I need to split the enhancement for rollback and abort features.
|
|
||
| ## Summary | ||
|
|
||
| This enhancement proposes adding rollback capabilities to ManifestWorkReplicaSet (MWRS) to enable safe recovery from failed multi-cluster deployments. The solution leverages Kubernetes ControllerRevision resources to maintain a historical record of MWRS template changes, similar to how StatefulSet and DaemonSet controllers track revision history. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will update the plugin enhancment proposal after this proposal is approved - #160 I would rename rollback to abort in plugin hook name.
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
qiujian16
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, I'd like to have two examples on how mwrs status looks like during rollback:
- upgrade and abort, how will the status changes (conditions/reasons/summary etc) among each state. And how user can know whether a rollback is done in which revision?
- manual rollback, how user set rollback and check if rollback is finished.
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
enhancements/sig-architecture/229-manifestworkreplicaset-rollback/README.md
Outdated
Show resolved
Hide resolved
|
I do not see any outstanding issue, I think it is fine to be merged with this #164 (comment) updated. /approve leave to @haoqing0110 for final tag. |
947ba04 to
bffc10a
Compare
Signed-off-by: Young Bu Park <[email protected]>
fc08f83 to
0591881
Compare
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: qiujian16, youngbupark The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
2ece292
into
open-cluster-management-io:main