diff options
author | 2018-10-22 09:30:08 -0400 | |
---|---|---|
committer | 2018-10-22 09:30:08 -0400 | |
commit | 6539a10a62d9f6fa9119335928cf205aba93ec5d (patch) | |
tree | 02d8bd9080595387c03e4145a472f9fea9bc562f /plugin/kubernetes/handler.go | |
parent | fdb31a27f3129fc806763f6367f46c5e990a0cde (diff) | |
download | coredns-6539a10a62d9f6fa9119335928cf205aba93ec5d.tar.gz coredns-6539a10a62d9f6fa9119335928cf205aba93ec5d.tar.zst coredns-6539a10a62d9f6fa9119335928cf205aba93ec5d.zip |
Unblock startup if kubernetes API is unavailable (#2126)
Diffstat (limited to 'plugin/kubernetes/handler.go')
-rw-r--r-- | plugin/kubernetes/handler.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/plugin/kubernetes/handler.go b/plugin/kubernetes/handler.go index bf69c7521..aa0c1d5db 100644 --- a/plugin/kubernetes/handler.go +++ b/plugin/kubernetes/handler.go @@ -65,6 +65,10 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M if k.Fall.Through(state.Name()) { return plugin.NextOrFailure(k.Name(), k.Next, ctx, w, r) } + if !k.APIConn.HasSynced() { + // If we haven't synchronized with the kubernetes cluster, return server failure + return plugin.BackendError(&k, zone, dns.RcodeServerFailure, state, nil /* err */, opt) + } return plugin.BackendError(&k, zone, dns.RcodeNameError, state, nil /* err */, opt) } if err != nil { |