Pārlūkot izejas kodu

publish fw update to gateway node when a peer is removed

Abhishek Kondur 2 gadi atpakaļ
vecāks
revīzija
7932fa407b
3 mainītis faili ar 10 papildinājumiem un 10 dzēšanām
  1. 4 4
      controllers/node.go
  2. 1 1
      logic/peers.go
  3. 5 5
      mq/publishers.go

+ 4 - 4
controllers/node.go

@@ -607,11 +607,11 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
 		host, err := logic.GetHost(node.HostID.String())
 		if err == nil {
 			mq.BroadcastDelExtClient(host, &node, removedClients)
+			f, err := logic.GetFwUpdate(host)
+			if err == nil {
+				mq.PublishFwUpdate(host, &f)
+			}
 		}
-		// TODO: FW
-		// mq.PublishFwUpdate(host, &models.FwAction{
-		// 	Action: models.FwIngressDel,
-		// })
 	}
 
 	runUpdates(&node, true)

+ 1 - 1
logic/peers.go

@@ -458,7 +458,7 @@ func GetFwUpdate(host *models.Host) (models.FwAction, error) {
 		for _, peer := range currentPeers {
 			peer := peer
 			if peer.ID.String() == node.ID.String() {
-				logger.Log(2, "peer update, skipping self")
+				logger.Log(2, "fw update, skipping self")
 				//skip yourself
 				continue
 			}

+ 5 - 5
mq/publishers.go

@@ -214,7 +214,10 @@ func BroadcastDelPeer(host *models.Host, network string) error {
 		if err == nil {
 			publish(peerHost, fmt.Sprintf("peer/host/%s/%s", peerHost.ID.String(), servercfg.GetServer()), data)
 			if nodeI.IsIngressGateway {
-				// TODO: FW
+				f, err := logic.GetFwUpdate(peerHost)
+				if err == nil {
+					PublishFwUpdate(peerHost, &f)
+				}
 			}
 		}
 	}
@@ -329,10 +332,7 @@ func BroadcastDelExtClient(ingressHost *models.Host, ingressNode *models.Node, e
 	if err != nil {
 		return err
 	}
-	return PublishFwUpdate(ingressHost, &models.FwAction{
-		Action:  models.FwIngressDelExtClient,
-		PeerKey: extclient.PublicKey,
-	})
+	return nil
 }
 
 // NodeUpdate -- publishes a node update