diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2019-06-17 14:33:57 +0300 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2019-06-17 21:55:39 +0300 |
commit | c540a5a6d661228efde04c40ffa5a8c72e54a512 (patch) | |
tree | 3ba41d803936be62fbdd20f96d9b3184d73d80ed | |
parent | a4a0481e938763304f8e3be58f84093a81c4e8fa (diff) |
Fix socket path not working
The Listen call used a disk path with the prefix `unix:` present. So the
file would be written to a location that would be relative to the
current working directory and had to start with `unix:`. By cleaning the
prefix it would use the user intended path.
Another minor improvement; when the server receives a signal and
succesfully shuts down it no longer exits with a non zero exit code.
-rw-r--r-- | changelogs/unreleased/zj-fix-praefect-socket-config.yml | 5 | ||||
-rw-r--r-- | cmd/praefect/main.go | 17 |
2 files changed, 16 insertions, 6 deletions
diff --git a/changelogs/unreleased/zj-fix-praefect-socket-config.yml b/changelogs/unreleased/zj-fix-praefect-socket-config.yml new file mode 100644 index 000000000..0536c95eb --- /dev/null +++ b/changelogs/unreleased/zj-fix-praefect-socket-config.yml @@ -0,0 +1,5 @@ +--- +title: Fix praefect not listening to the correct socket path +merge_request: 1313 +author: +type: fixed diff --git a/cmd/praefect/main.go b/cmd/praefect/main.go index 60c00c851..00769307e 100644 --- a/cmd/praefect/main.go +++ b/cmd/praefect/main.go @@ -9,6 +9,7 @@ import ( "net/http" "os" "os/signal" + "strings" "syscall" "time" @@ -39,7 +40,9 @@ func main() { logger.Fatalf("%s", err) } - logger.Fatalf("%v", run(listeners, conf)) + if err := run(listeners, conf); err != nil { + logger.Fatalf("%v", err) + } } func configure() (config.Config, error) { @@ -109,7 +112,6 @@ func run(listeners []net.Listener, conf config.Config) error { logger.WithField("gitaly listen addr", gitaly.ListenAddr).Info("registered gitaly node") } - var err error select { case s := <-termCh: logger.WithField("signal", s).Warn("received signal, shutting down gracefully") @@ -118,12 +120,13 @@ func run(listeners []net.Listener, conf config.Config) error { ctx, _ := context.WithTimeout(context.Background(), 10*time.Second) if shutdownErr := srv.Shutdown(ctx); shutdownErr != nil { logger.Warnf("error received during shutting down: %v", shutdownErr) + return shutdownErr } - err = fmt.Errorf("received signal: %v", s) - case err = <-serverErrors: + case err := <-serverErrors: + return err } - return err + return nil } func getListeners(socketPath, listenAddr string) ([]net.Listener, error) { @@ -133,7 +136,9 @@ func getListeners(socketPath, listenAddr string) ([]net.Listener, error) { if err := os.RemoveAll(socketPath); err != nil { return nil, err } - l, err := net.Listen("unix", socketPath) + + cleanPath := strings.TrimPrefix(socketPath, "unix:") + l, err := net.Listen("unix", cleanPath) if err != nil { return nil, err } |