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

Integrate USDE logic into Rollout controllers to support PPND - perform selected strategy for isbsvc fields #248

Open
Tracked by #178
juliev0 opened this issue Sep 11, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@juliev0
Copy link
Collaborator

juliev0 commented Sep 11, 2024

Summary

Integrate the USDE logic to derive an upgrade strategy into the reconciliation process of the ISBServiceRollout for the purpose of selectively handling different strategies for isbsvc field changes.

Relates to this

Similar to PipelineRolloutController, the ISBServiceRolloutController should have an InProgressManager, so that it can maintain the current strategy that's in Progress (Progressive, PPND, or none) such that if 2 subsequent requests come in, or if the user's preferred strategy changes, it will finish what it's in the middle of doing first.


Message from the maintainers:

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@xdevxy
Copy link
Collaborator

xdevxy commented Sep 18, 2024

close this as it should be covered by #181

@xdevxy xdevxy closed this as completed Sep 18, 2024
@juliev0
Copy link
Collaborator Author

juliev0 commented Sep 18, 2024

@xdevxy we are currently not doing any field-specific checks for isbsvc at all, so that's why this issue is here (because of that, I actually updated the wording of #181 to just be for Pipeline fields (sorry for not mentioning))

@juliev0
Copy link
Collaborator Author

juliev0 commented Sep 23, 2024

We want to make the isbservicerollout_controller more similar to pipelinerollout_controller.

The pseudocode should be:

// determine if we're trying to update the ISBService spec, and if so, is it a simple change that would be "direct apply" or is it a non-trivial change that would require PPND or Progressive?
isbServiceNeedsToUpdate, upgradeStrategyType, err := usde.ResourceNeedsUpdating 

Is there currently an in-progress-strategy set for this ISBServiceRollout?
If not, do we need to set it?:
  If the user-prefered strategy is PPND && upgradeStrategyType==PPND: set in-progress-strategy to PPND
  If the user-prefered strategy is Progressive && upgradeStrategyType==Progressive: set in-progress-strategy to Progressive

Now do whatever the in-progress-strategy says to do

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

No branches or pull requests

3 participants