DataDog / extendeddaemonset

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

add node taint check for canary nodes, add missing test case for validation #142

Closed celenechang closed 2 years ago

celenechang commented 2 years ago

What does this PR do?

During QA it was noticed that node taints are not handled properly when scheduling canary pods. This fixes the issue.

In addition, a test case is added that was missing for a recently added canary parameter (autoFail.canaryTimeout).

Motivation

Fix

Additional Notes

Anything else we should know when reviewing?

Describe your test plan

Start a kind cluster with a tainted node (master nodes are tainted by default) Deploy the EDS controller with make deploy Deploy an example EDS that doesn't have any tolerations (edit examples/foo-eds_v1.yaml and then run k apply -f examples/foo-eds_v1.yaml) Deploy another EDS to kick off the canary, also without any tolerations examples/foo-eds_v2.yaml Make sure that the canary pod(s) gets scheduled

codecov-commenter commented 2 years ago

Codecov Report

Merging #142 (ff72e7c) into main (9b4556d) will increase coverage by 0.19%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #142      +/-   ##
==========================================
+ Coverage   62.38%   62.57%   +0.19%     
==========================================
  Files          41       41              
  Lines        2193     2194       +1     
==========================================
+ Hits         1368     1373       +5     
+ Misses        717      715       -2     
+ Partials      108      106       -2     
Flag Coverage Δ
unittests 62.57% <100.00%> (+0.19%) :arrow_up:

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

Impacted Files Coverage Δ
controllers/extendeddaemonset/controller.go 75.78% <100.00%> (+0.08%) :arrow_up:
...trollers/extendeddaemonsetreplicaset/controller.go 56.43% <0.00%> (+0.82%) :arrow_up:
api/v1alpha1/extendeddaemonset_validate.go 100.00% <0.00%> (+18.18%) :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 9b4556d...ff72e7c. Read the comment docs.