Quellcode durchsuchen

fix stale node issue on multinet when deleting host

Max Ma vor 1 Jahr
Ursprung
Commit
d3bc3bf733
2 geänderte Dateien mit 6 neuen und 6 gelöschten Zeilen
  1. 5 5
      controllers/hosts.go
  2. 1 1
      logic/hosts.go

+ 5 - 5
controllers/hosts.go

@@ -304,17 +304,17 @@ func deleteHost(w http.ResponseWriter, r *http.Request) {
 			slog.Error("failed to remove host credentials from EMQX", "id", currHost.ID, "error", err)
 		}
 	}
-	if err = logic.RemoveHost(currHost, forceDelete); err != nil {
-		logger.Log(0, r.Header.Get("user"), "failed to delete a host:", err.Error())
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
-		return
-	}
 	if err = mq.HostUpdate(&models.HostUpdate{
 		Action: models.DeleteHost,
 		Host:   *currHost,
 	}); err != nil {
 		logger.Log(0, r.Header.Get("user"), "failed to send delete host update: ", currHost.ID.String(), err.Error())
 	}
+	if err = logic.RemoveHost(currHost, forceDelete); err != nil {
+		logger.Log(0, r.Header.Get("user"), "failed to delete a host:", err.Error())
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
+		return
+	}
 
 	apiHostData := currHost.ConvertNMHostToAPI()
 	logger.Log(2, r.Header.Get("user"), "removed host", currHost.Name)

+ 1 - 1
logic/hosts.go

@@ -438,7 +438,7 @@ func DisassociateAllNodesFromHost(hostID string) error {
 			logger.Log(0, "failed to get host node", err.Error())
 			continue
 		}
-		if err := DeleteNode(&node, true); err != nil {
+		if err := DeleteNodeByID(&node); err != nil {
 			logger.Log(0, "failed to delete node", node.ID.String(), err.Error())
 			continue
 		}