From 6557ef1ebe87ec7c74e9038a99185616a2b87e89 Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Tue, 9 Apr 2024 11:27:15 +0530 Subject: [PATCH] update extclient acls async --- controllers/ext_client.go | 11 +++++------ logic/errors.go | 4 ++-- pro/controllers/failover.go | 7 ++++++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/controllers/ext_client.go b/controllers/ext_client.go index 0f1f3db3..c92e7eff 100644 --- a/controllers/ext_client.go +++ b/controllers/ext_client.go @@ -436,15 +436,14 @@ func createExtClient(w http.ResponseWriter, r *http.Request) { return } - if err := logic.SetClientDefaultACLs(&extclient); err != nil { - slog.Error("failed to set default acls for extclient", "user", r.Header.Get("user"), "network", node.Network, "error", err) - logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal")) - return - } - slog.Info("created extclient", "user", r.Header.Get("user"), "network", node.Network, "clientid", extclient.ClientID) w.WriteHeader(http.StatusOK) go func() { + if err := logic.SetClientDefaultACLs(&extclient); err != nil { + slog.Error("failed to set default acls for extclient", "user", r.Header.Get("user"), "network", node.Network, "error", err) + logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal")) + return + } if err := mq.PublishPeerUpdate(false); err != nil { logger.Log(1, "error setting ext peers on "+nodeid+": "+err.Error()) } diff --git a/logic/errors.go b/logic/errors.go index edf2360a..1f46e578 100644 --- a/logic/errors.go +++ b/logic/errors.go @@ -4,8 +4,8 @@ import ( "encoding/json" "net/http" - "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/models" + "golang.org/x/exp/slog" ) // FormatError - takes ErrorResponse and uses correct code @@ -62,7 +62,7 @@ func ReturnErrorResponse(response http.ResponseWriter, request *http.Request, er if err != nil { panic(err) } - logger.Log(1, "processed request error:", errorMessage.Message) + slog.Debug("processed request error", "err", errorMessage.Message) response.Header().Set("Content-Type", "application/json") response.WriteHeader(errorMessage.Code) response.Write(jsonResponse) diff --git a/pro/controllers/failover.go b/pro/controllers/failover.go index 8a199c3b..37eaa179 100644 --- a/pro/controllers/failover.go +++ b/pro/controllers/failover.go @@ -134,10 +134,15 @@ func failOverME(w http.ResponseWriter, r *http.Request) { logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) return } + host, err := logic.GetHost(node.HostID.String()) + if err != nil { + logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) + return + } failOverNode, exists := proLogic.FailOverExists(node.Network) if !exists { - logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("failover node doesn't exist in the network"), "badrequest")) + logic.ReturnErrorResponse(w, r, logic.FormatError(fmt.Errorf("req-from: %s, failover node doesn't exist in the network", host.Name), "badrequest")) return } var failOverReq models.FailOverMeReq