Browse Source

publish node update/peer update on gateway creation/deletion

Matthew R Kasun 3 years ago
parent
commit
7ba07f8217
2 changed files with 43 additions and 0 deletions
  1. 28 0
      controllers/node.go
  2. 15 0
      controllers/relay.go

+ 28 - 0
controllers/node.go

@@ -420,6 +420,13 @@ func uncordonNode(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "uncordoned node", node.Name)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode("SUCCESS")
@@ -441,6 +448,13 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "created egress gateway on node", gateway.NodeID, "on network", gateway.NetID)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(node)
@@ -456,6 +470,13 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "deleted egress gateway", nodeid, "on network", netid)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(node)
@@ -494,6 +515,13 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "deleted ingress gateway", nodeid)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(node)

+ 15 - 0
controllers/relay.go

@@ -8,6 +8,7 @@ import (
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
+	"github.com/gravitl/netmaker/mq"
 )
 
 func createRelay(w http.ResponseWriter, r *http.Request) {
@@ -26,6 +27,13 @@ func createRelay(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "created relay on node", relay.NodeID, "on network", relay.NetID)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(node)
@@ -41,6 +49,13 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "internal"))
 		return
 	}
+	if err := mq.NodeUpdate(&node); err != nil {
+		logger.Log(1, "error publishing node update"+err.Error())
+	}
+	if err := mq.UpdatePeers(&node); err != nil {
+		logger.Log(1, "error publishing peer update "+err.Error())
+		return
+	}
 	logger.Log(1, r.Header.Get("user"), "deleted egress gateway", nodeid, "on network", netid)
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(node)