How to set a step to obtain only successful metrics independently of the time? #3464
Unanswered
alfredomusumeci
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
The object to which I am applying argo rollout with canary strategy and its related metrics are peculiar. Most of the time at the start of my object's life, my metrics, defined in the ClusterAnalysisTemplate, will return an empty list. My success condition accounts for that and considers len(result) == 0 to be a success condition along with the actual condition, sort of like: len(result) == 0 || actual condition I want; my rollout fails if there is more than one failure.
This was fine until I noticed that sometimes my metrics take a while to appear (this is not a fixed time, thus an initialDelay doesn't always work like I want) and for the whole duration of the canary run I only get empty results (thus considered success cases). This will update my rollout although I haven't actually been able to test my object on the actual metrics.
Is there a way I can say to my rollout: success condition = actual condition; if len(result) == 0 ignore it (not a failure, not a success)?
Or even better, can I say success condition = actual condition and this must hold true for at least 10 measurements? Ideally, I'd like to specify in each step together with the traffic split, also how many successful measurements I'd like for that step, instead of a duration.
To elaborate further, the below example
would stop my rollout and make sure that for those 10 minutes, I only get 1 failure at maximum.
In an ideal world, I'd like to say:
meaning: split the traffic in this way, and stay in this phase until you either get a) two failures and fail the rollout b) 10 successful metrics, no matter if it took 5 or 10 minutes. If any of these readings return len(results) == 0, don't consider them as success nor failure and keep going (or put a limit, eg >3 is considered bad)
Thank you all!
Beta Was this translation helpful? Give feedback.
All reactions