Don't log 'apiserver disabled' error sent by etcd-only nodes

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
This commit is contained in:
Brad Davidson 2024-04-08 21:58:40 +00:00 committed by Brad Davidson
parent 7d9abc9f07
commit 08f1022663
2 changed files with 6 additions and 5 deletions

View File

@ -104,14 +104,14 @@ func apiserver(runtime *config.ControlRuntime) http.Handler {
if runtime != nil && runtime.APIServer != nil {
runtime.APIServer.ServeHTTP(resp, req)
} else {
util.SendError(util.ErrNotReady, resp, req, http.StatusServiceUnavailable)
util.SendError(util.ErrAPINotReady, resp, req, http.StatusServiceUnavailable)
}
})
}
func apiserverDisabled() http.Handler {
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
util.SendError(errors.New("apiserver disabled"), resp, req, http.StatusServiceUnavailable)
util.SendError(util.ErrAPIDisabled, resp, req, http.StatusServiceUnavailable)
})
}

View File

@ -15,7 +15,8 @@ import (
"k8s.io/apiserver/pkg/endpoints/handlers/responsewriters"
)
var ErrNotReady = errors.New("apiserver not ready")
var ErrAPINotReady = errors.New("apiserver not ready")
var ErrAPIDisabled = errors.New("apiserver disabled")
// SendErrorWithID sends and logs a random error ID so that logs can be correlated
// between the REST API (which does not provide any detailed error output, to avoid
@ -36,8 +37,8 @@ func SendError(err error, resp http.ResponseWriter, req *http.Request, status ..
code = http.StatusInternalServerError
}
// Don't log "apiserver not ready" errors, they are frequent during startup
if !errors.Is(err, ErrNotReady) {
// Don't log "apiserver not ready" or "apiserver disabled" errors, they are frequent during startup
if !errors.Is(err, ErrAPINotReady) && !errors.Is(err, ErrAPIDisabled) {
logrus.Errorf("Sending HTTP %d response to %s: %v", code, req.RemoteAddr, err)
}