spinnaker / governance

Community documentation for Spinnaker
47 stars 96 forks source link

RFC: Re-order executions in waiting queue #324

Open rjalander opened 1 year ago

rjalander commented 1 year ago

RFC proposal for implementing Re-order executions in waiting queue, https://github.com/spinnaker/spinnaker/issues/6735

xibz commented 1 year ago

I want to make sure I am understanding this right, @rjalander. So please fill me in any missed details.

So reading https://github.com/spinnaker/spinnaker/issues/6735, you have n parent pipelines that funnel into this single pipeline, but need to be re-prioritized. To do this today, you'd need to either cancel all other executions or pause all other running executions. Wouldn't it make more sense to have the priority be sent from the parent pipeline as the caller? My concern with a UI up and down arrow approach is mostly around multiple users potentially clicking. WIth this approach a parent pipeline can send a priority which then can move the execution up or down the queue, eg a max/min-heap instead of a fifo queue. Only concern here is starvation, but we can take a look at that more deeply once we way the options and this is even considered

rjalander commented 1 year ago

Yes as per https://github.com/spinnaker/spinnaker/issues/6735, we have "n" parent pipelines that are configured as Automated triggers in another Pipeline to run when each parent pipeline is successful.

And this Pipeline with triggers is currently running with FIFO and all other executions are waiting in queue. At this stage user wants to re-order the waiting executions as per needs, but not sure If Parent pipeline can decide on which priority the waiting execution should run at this stage. Please correct me If I am wrong.

rjalander commented 1 year ago

@jasonmcintosh @xibz wanted to bring this discussion up, can we have a look at this feature again and bring RFC to the next stage.

jimmycasey commented 6 months ago

Yes as per spinnaker/spinnaker#6735, we have "n" parent pipelines that are configured as Automated triggers in another Pipeline to run when each parent pipeline is successful.

And this Pipeline with triggers is currently running with FIFO and all other executions are waiting in queue. At this stage user wants to re-order the waiting executions as per needs, but not sure If Parent pipeline can decide on which priority the waiting execution should run at this stage. Please correct me If I am wrong.

This WoW make sense for us also where we know priority of item from the start and when this high priority item arrives, we want it to be executed next (put to top of queue).