Skip to content
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

Not able to see rollback button for rollout #44

Open
vijay-dcrust opened this issue Apr 24, 2023 · 5 comments
Open

Not able to see rollback button for rollout #44

vijay-dcrust opened this issue Apr 24, 2023 · 5 comments

Comments

@vijay-dcrust
Copy link

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.

@daehkang
Copy link

daehkang commented Aug 1, 2023

Is there any update or plan for this issue?

@devthejo
Copy link

devthejo commented Nov 14, 2023

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

@skashrafbasha
Copy link

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.

@anosulchik
Copy link

subscribed

@jeanmorais
Copy link

+1 We are looking forward to this feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants