From a8a827a806307a08b85ce6fea4da07cbc4f8a5bd Mon Sep 17 00:00:00 2001 From: Manuel Alejandro de Brito Fontes Date: Sat, 25 Jan 2020 14:52:51 -0300 Subject: [PATCH] Remove prometheus socket before listen (#4961) --- internal/ingress/metric/collectors/socket.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/ingress/metric/collectors/socket.go b/internal/ingress/metric/collectors/socket.go index 7ca8aff39..23d4ab484 100644 --- a/internal/ingress/metric/collectors/socket.go +++ b/internal/ingress/metric/collectors/socket.go @@ -22,6 +22,7 @@ import ( "io/ioutil" "net" "os" + "syscall" jsoniter "github.com/json-iterator/go" "github.com/prometheus/client_golang/prometheus" @@ -97,6 +98,9 @@ var ( // the ingress watch namespace and class used by the controller func NewSocketCollector(pod, namespace, class string, metricsPerHost bool) (*SocketCollector, error) { socket := "/tmp/prometheus-nginx.socket" + // unix sockets must be unlink()ed before being used + syscall.Unlink(socket) + listener, err := net.Listen("unix", socket) if err != nil { return nil, err