From cb162ffe6f593ac89193d6724c559af01ab84cf3 Mon Sep 17 00:00:00 2001 From: akutz Date: Fri, 21 Jul 2017 13:41:55 -0500 Subject: [PATCH] Endpoint/Service Init Order Fix This patch fixes an issue where service init failures would cause libStorage endpoints that use UNIX sock files to leave those sock files in place instead of removing them on error. This fix causes the service init routine to now occur *before* the endpoint init routine, thereby causing any service failure to occur before an endpoint's sock file is even created. --- api/server/server.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server/server.go b/api/server/server.go index 24eae910..6286817e 100644 --- a/api/server/server.go +++ b/api/server/server.go @@ -164,15 +164,15 @@ func newServer(goCtx gocontext.Context, config gofig.Config) (*server, error) { s.ctx.Info("initializing server") - if err := s.initEndpoints(s.ctx); err != nil { + if err := services.Init(s.ctx, s.config); err != nil { return nil, err } - s.ctx.Info("initialized endpoints") + s.ctx.Info("initialized services") - if err := services.Init(s.ctx, s.config); err != nil { + if err := s.initEndpoints(s.ctx); err != nil { return nil, err } - s.ctx.Info("initialized services") + s.ctx.Info("initialized endpoints") if logConfig.HTTPRequests || logConfig.HTTPResponses { s.logHTTPEnabled = true