Describe the bug
Trident logs http: Server closed as a fatal error when it shutdowns.
time="2021-07-01T01:47:30Z" level=fatal msg="http: Server closed"
Tident components call func (*Server) Shutdown, so ErrServerClosed(http: Server closed) is returned in normal cases.
Environment
silenceAutosupport: true (Trident Operator)To Reproduce
kubectl logs -n trident --since 10s -f trident-csi-xxxxkubectl delete pod -n trident trident-csi-xxxxExpected behavior
ErrServerClosed(http: Server closed) should be ignored like below. (ListenAndServe always returns a non-nil error.)
diff --git a/frontend/metrics/plugin.go b/frontend/metrics/plugin.go
index fd1562f..0c2a109 100644
--- a/frontend/metrics/plugin.go
+++ b/frontend/metrics/plugin.go
@@ -38,7 +38,7 @@ func (s *Server) Activate() error {
go func() {
log.WithField("address", s.server.Addr).Info("Activating metrics frontend.")
http.Handle("/metrics", s.server.Handler)
- if err := s.server.ListenAndServe(); err != nil {
+ if err := s.server.ListenAndServe(); err != http.ErrServerClosed {
log.Fatal(err)
}
}()
This is fixed with commit ddddc0b and will be included in the Trident v21.10 release.
Most helpful comment
This is fixed with commit ddddc0b and will be included in the Trident v21.10 release.