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

Produce an AnalysisRun on the first deployment #3984

Open
BWagenerGenerali opened this issue Dec 5, 2024 · 2 comments
Open

Produce an AnalysisRun on the first deployment #3984

BWagenerGenerali opened this issue Dec 5, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@BWagenerGenerali
Copy link

Summary

We would like to ask for an optional feature to have Rollouts produce an AnalysisRun on the first deployment (link to original discussion).

Use Cases

The idea is to use AnalysisRuns as a definitive resource to determine the deployment result of a Rollout. Regardless of rollback behavior or whether it is a first or n-th deployment.

Speaking for the setup I'm working with specifically, this is especially relevant during blue-green cluster upgrades. The idea is to have a fully declaratively defined cluster including the workload that should be deployed to it. Cluster upgrades become very simple using this setup as we do not rely on in-place upgrades.

A very similar setup to ours is outlined in this article in the section "Solution overview":
R53_weighted_blue_green

After creating a new cluster and before routing production traffic to it, our devops teams can confirm everything is working as expected and then route traffic to it. This confirmation step is what's stumping our developers, as they are surprised they are unable to use the same mechanism (AnalysisRuns) for smoke-tests after a blue-green cluster upgrade as they do during regular blue-green application updates.

Considerations

Something to be addressed as pointed out by @kostis-codefresh here:

[...] if the analysis fails what do you expect to happen? There is no previous version to rollback to. Or you expect Rollouts to keep the new version running anyway? Or maybe to shut it down completely?

Personally, I think a safe default would be to maintain the current behavior. Which means the first deployment would remain even in case of a failed AnalysisRun. But it would be nice if this is configurable as this probably differs case-by-case.


Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

@BWagenerGenerali BWagenerGenerali added the enhancement New feature or request label Dec 5, 2024
@mclarke47
Copy link
Contributor

Not a maintainer but as an alternative you could create a standalone AnalysisRun object on the cluster to check that things are operating as expected.

@BWagenerGenerali
Copy link
Author

Thank you! I haven't considered this approach - I will give it a try.

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

2 participants