Browse Source

NET-751: Send deleted node peer update on uninstall (#2665)

* send deleted node peer update, when deleted host from client

* remove duplicate peer update
Abhishek K 1 year ago
parent
commit
83e83f8392
1 changed files with 16 additions and 0 deletions
  1. 16 0
      mq/handlers.go

+ 16 - 0
mq/handlers.go

@@ -159,6 +159,22 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) {
 				return
 				return
 			}
 			}
 		}
 		}
+
+		// notify of deleted peer change
+		go func(host models.Host) {
+			for _, nodeID := range host.Nodes {
+				node, err := logic.GetNodeByID(nodeID)
+				if err == nil {
+					var gwClients []models.ExtClient
+					if node.IsIngressGateway {
+						gwClients = logic.GetGwExtclients(node.ID.String(), node.Network)
+					}
+					go PublishMqUpdatesForDeletedNode(node, false, gwClients)
+				}
+
+			}
+		}(*currentHost)
+
 		if err := logic.DisassociateAllNodesFromHost(currentHost.ID.String()); err != nil {
 		if err := logic.DisassociateAllNodesFromHost(currentHost.ID.String()); err != nil {
 			slog.Error("failed to delete all nodes of host", "id", currentHost.ID, "error", err)
 			slog.Error("failed to delete all nodes of host", "id", currentHost.ID, "error", err)
 			return
 			return