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

[release-4.6] Bug 1937090: Configure CoreDNS to shut down gracefully #248

Commits on Mar 10, 2021

  1. test/e2e: Re-enable TestCoreDNSImageUprade

    test/e2e/operator_test.go: Re-enable TestCoreDNSImageUpgrade by adding a
    cluster version override for the DNS operator deployment. This override
    allows TestCoreDNSImageUpgrade to safely modify the DNS deployment
    (specifically the operator's container image field) without contention
    from the CVO. The cluster version override is removed at the end of the
    test via a `defer` block.
    sgreene570 authored and Miciah committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    78f90cb View commit details
    Browse the repository at this point in the history
  2. test/e2e: Block on TestCoreDNSImageUpgrade image revert

    TestCoreDNSImageUpgrade: Ensure that the CoreDNS image change
    for default DNS is completely reverted before moving onto the next test.
    
    TestDNSForwarding: Ensure that DNS pods are all available
    before verifying Corefile contents from each DNS pod. Also,
    log pod status if a given pod's Corefile doesn't meet the test's
    expectations.
    
    This commit enhances the DNS operator tests to resolve
    BZ#1908891, in which TestDNSForwarding is noted as
    very flakey due to TestDNSForwarding's image revert rollout
    not blocking the premature execution of TestDNSFowarding.
    sgreene570 authored and Miciah committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    2902390 View commit details
    Browse the repository at this point in the history
  3. Configure CoreDNS to shut down gracefully

    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.
    Miciah committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    c259782 View commit details
    Browse the repository at this point in the history
  4. Delete TestCoreDNSImageUpgrade

    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.
    Miciah committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    48c40ee View commit details
    Browse the repository at this point in the history
  5. Add TestCoreDNSDaemonSetReconciliation

    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.
    Miciah committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    2d17b72 View commit details
    Browse the repository at this point in the history