DataDog / extendeddaemonset

Kubernetes Extended Daemonset controller
Apache License 2.0
98 stars 13 forks source link

add generic canaryTimeout for autofailure #139

Closed celenechang closed 2 years ago

celenechang commented 2 years ago

What does this PR do?

Adds canary.autoFail.canaryTimeout so that a canary that is paused due to something other than restarts can eventually be automatically failed and the active ERS will be reset to the current one.

This value must be greater than the canary duration to work.

Motivation

Better experience with automated canary features. In addition, ease of testing the autoFail path.

Additional Notes

Anything else we should know when reviewing?

Describe your test plan

Update the example EDS to include:

      autoFail:
        enabled: true
        canaryTimeout: 8m

and an error condition, such as a bad image name.

After the canaryTimeout fo the canary has passed, check that the canary is over and the active ERS has stayed the same.

Also, make sure that if canary.autoFail.canaryTimeout < canary.duration then there is a validation error.

codecov-commenter commented 2 years ago

Codecov Report

Merging #139 (873944d) into main (acd4a49) will increase coverage by 0.20%. The diff coverage is 92.30%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #139      +/-   ##
==========================================
+ Coverage   62.17%   62.38%   +0.20%     
==========================================
  Files          41       41              
  Lines        2176     2193      +17     
==========================================
+ Hits         1353     1368      +15     
- Misses        716      717       +1     
- Partials      107      108       +1     
Flag Coverage Δ
unittests 62.38% <92.30%> (+0.20%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
api/v1alpha1/extendeddaemonset_types.go 100.00% <ø> (ø)
api/v1alpha1/extendeddaemonset_validate.go 81.81% <0.00%> (-18.19%) :arrow_down:
...ers/extendeddaemonsetreplicaset/strategy/canary.go 93.75% <100.00%> (+0.48%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update acd4a49...873944d. Read the comment docs.