rollout-extension icon indicating copy to clipboard operation
rollout-extension copied to clipboard

Not able to see rollback button for rollout

Open vijay-dcrust opened this issue 1 year ago • 4 comments

Hi, I am using argo rollout extension 0.3.0 with rollout 1.2. I am not able to see rollback on "more" tab while all other options are available. Could you please guide on this.

vijay-dcrust avatar Apr 24 '23 04:04 vijay-dcrust

Is there any update or plan for this issue?

daehkang avatar Aug 01 '23 07:08 daehkang

I'm using the version 0.3.3 and I have the same bug

ArgoCD version: v2.9.0+9cf0c69 Build Date 2023-11-06T04:43:50Z

devthejo avatar Nov 14 '23 23:11 devthejo

Here is my understanding on implementing the rollback button functionality for a rollout resource.

  1. argo-rollouts: Add rollout rollback support from ArgoCD
    • Set a flag in Argo rollout resource status.
                  status:
                     undo:
    	           revision: 1
    
    • The argo rollouts controller understands when this status.undo.revision is set, and rollbacks to the given revision number.
    • For example, the promote full functionality was implemented in this PR
    • Enhancement Proposal is here
  2. argo-cd: Add undo action for the argo rollouts custom resource actions
    • There is no built-in action to undo a particular revision and needs to be added as per the resource_actions documentation here
    • A new undo action is required, which modifies the rollout resource with status.undo.revision with the rollback revision number.
    • Upon setting the rollout status.undo.revision, the rollout controller reconciliation will act as per the undo action and remove the status.undo.revision.
    • This is dependent on the solution implemented for this proposal in argo-rollouts
    • Enhancement proposal is here
  3. argo-rollouts: Split the interactive object dependency for Containers and Revision Widgets here
    • The same interactive object is tightly coupled with both RevisionWidget and ContainersWidget (to render Containers and initContainers).
    • If we pass an interactive object for undo functionality, it will also enable changing the images in the ContainersWidget.
    • Split with additional flags in the interactive object for both Revision and Containers widgets and make it backward compatible by making those flags to default true.
    • Enhancement Proposal is here
  4. rollout-extension: Add support to enable rollback button
    • The rollback button will be displayed if we pass the rollback function to RevisionWidget here
    • Need to pass the interactive api with the implementation of rolloutServiceUndoRollout() callback function so that the RevisionWidget uses this here
    • This rolloutServiceUndoRollout() function should do a POST operation to argo-cd applications resource action endpoint here
    • This task is dependent on all the above 1st, 2nd and 3rd points.

Not sure if there are any other alternatives to achieve the rollback functionality from ArgoCD for Argo Rollout resource. If it looks okay, I can contribute for the 3rd and 4th points hoping that I can get help with 1st and 2nd points.

skashrafbasha avatar Jul 10 '24 15:07 skashrafbasha

subscribed

anosulchik avatar Aug 28 '24 19:08 anosulchik

+1 We are looking forward to this feature

jeanmorais avatar Oct 03 '24 21:10 jeanmorais