Selaa lähdekoodia

add additional checks to avoid failovers

abhishek9686 1 vuosi sitten
vanhempi
commit
ecc2c205f0
1 muutettua tiedostoa jossa 12 lisäystä ja 0 poistoa
  1. 12 0
      pro/controllers/failover.go

+ 12 - 0
pro/controllers/failover.go

@@ -167,6 +167,18 @@ func failOverME(w http.ResponseWriter, r *http.Request) {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("peer node is relayed or acting as failover"), "badrequest"))
 		return
 	}
+	if node.IsRelay {
+		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node acting as relay cannot be failedOver"), "badrequest"))
+		return
+	}
+	if node.IsInternetGateway {
+		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node acting as internet gw cannot be failedOver"), "badrequest"))
+		return
+	}
+	if node.InternetGwID != "" {
+		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node using a internet gw cannot be failedOver"), "badrequest"))
+		return
+	}
 
 	err = proLogic.SetFailOverCtx(failOverNode, node, peerNode)
 	if err != nil {