Bug 1884053: Configure CoreDNS to shut down gracefully#237
Conversation
|
@Miciah: This pull request references Bugzilla bug 1884053, which is invalid:
Comment DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@Miciah: This pull request references Bugzilla bug 1884053, which is invalid:
Comment DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Timed out on |
|
Seeing the same familiar flakes, and no evidence of DNS problems. |
|
/bugzilla refresh |
|
@candita: This pull request references Bugzilla bug 1884053, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest |
|
/test e2e-aws-operator |
|
/cherry-pick release-4.7 |
|
@Miciah: once the present PR merges, I will cherry-pick it on top of release-4.7 in a new PR and assign it to you. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/cherry-pick release-4.6 |
|
@Miciah: once the present PR merges, I will cherry-pick it on top of release-4.6 in a new PR and assign it to you. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/lgtm |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
3 similar comments
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
Timed out on |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
|
/retest Please review the full test history for this PR and help us cut down flakes. |
52559fe to
2d15224
Compare
|
/lgtm |
2d15224 to
3751a67
Compare
|
/lgtm |
|
/test e2e-aws |
This commit is the same as commit f094ddf, which was reverted with commit a96c45e, except that this commit does not change DNS pods' termination grace period. This commit is related to bug 1884053. https://bugzilla.redhat.com/show_bug.cgi?id=1884053 * assets/dns/daemonset.yaml: Change the readiness probe to use :8181/ready. * pkg/manifests/bindata.go: Regenerate. * pkg/operator/controller/controller_dns_configmap.go (corefileTemplate): Configure CoreDNS's health plugin to sleep 20 seconds when CoreDNS is shut down. Enable CoreDNS's ready plugin in order to provide a readiness endpoint on :8181/ready, which doesn't report ready until all plugins are initialized and stops reporting ready when CoreDNS is shutting down. * pkg/operator/controller/controller_dns_configmap_test.go (TestDesiredDNSConfigmap): Adjust for changes to corefileTemplate.
Delete the TestCoreDNSImageUpgrade CI test. This test is unreliable, and we can achieve sufficient test coverage without it. * test/e2e/operator_test.go (TestCoreDNSImageUpgrade, setVersion, setImage, checkCurrentDNSImage): Delete functions.
Add an end-to-end test that verifies that the operator reconciles changes to the dns-default daemonset. This new test adds a node selector to the daemonset and verifies that the operator reverts the change. The operator already has unit tests to verify that the daemonset update logic handles changes to image pullspecs and other important fields. Together, the new end-to-end test and the existing unit tests should provide sufficient test coverage for reconciliation of daemonsets. * test/e2e/operator_test.go (TestCoreDNSDaemonSetReconciliation): New test. Verify that the operator reconciles the dns-default daemonset.
3751a67 to
709ad5f
Compare
|
Rebased. |
|
/test e2e-upgrade |
|
e2e operator is passing and this PR has been properly rebased. Looks good! |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Miciah, sgreene570 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
5 similar comments
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
@Miciah: All pull requests linked via external trackers have merged: Bugzilla bug 1884053 has been moved to the MODIFIED state. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@Miciah: #237 failed to apply on top of branch "release-4.7": DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Configure CoreDNS to shut down gracefully
This PR is the same as #205, which was reverted with #213, except that this PR does not change DNS pods' termination grace period.
Note that this change does not by itself solve BZ#1884053. We still need the graceful node shutdown feature referenced in the BZ to get correct draining behavior on shutdown. However, this change should reduce glitches when the pod comes back up after a node reboot.
assets/dns/daemonset.yaml: Change the readiness probe to use:8181/ready.pkg/manifests/bindata.go: Regenerate.pkg/operator/controller/controller_dns_configmap.go(corefileTemplate): Configure CoreDNS's health plugin to sleep 20 seconds when CoreDNS is shut down. Enable CoreDNS's ready plugin in order to provide a readiness endpoint on:8181/ready, which doesn't report ready until all plugins are initialized and stops reporting ready when CoreDNS is shutting down.pkg/operator/controller/controller_dns_configmap_test.go(TestDesiredDNSConfigmap): Adjust for changes tocorefileTemplate.Delete
TestCoreDNSImageUpgradeDelete the
TestCoreDNSImageUpgradeCI test. This test is unreliable, and we can achieve sufficient test coverage without it.test/e2e/operator_test.go(TestCoreDNSImageUpgrade,setVersion,setImage,checkCurrentDNSImage): Delete functions.Add
TestCoreDNSDaemonSetReconciliationAdd an end-to-end test that verifies that the operator reconciles changes to the dns-default daemonset. This new test adds a node selector to the daemonset and verifies that the operator reverts the change.
The operator already has unit tests to verify that the daemonset update logic handles changes to image pullspecs and other important fields. Together, the new end-to-end test and the existing unit tests should provide sufficient test coverage for reconciliation of daemonsets.
test/e2e/operator_test.go(TestCoreDNSDaemonSetReconciliation): New test. Verify that the operator reconciles the dns-default daemonset.