Browse Source

Merge pull request #1966 from gravitl/gra-disable-controllers-for-egress

return 'currently unimplemented' on egress endpoints
dcarns 2 years ago
parent
commit
030d1c4ae3
2 changed files with 49 additions and 45 deletions
  1. 47 45
      controllers/node.go
  2. 2 0
      logic/hosts.go

+ 47 - 45
controllers/node.go

@@ -678,32 +678,33 @@ func createNode(w http.ResponseWriter, r *http.Request) {
 //			Responses:
 //				200: nodeResponse
 func createEgressGateway(w http.ResponseWriter, r *http.Request) {
-	var gateway models.EgressGatewayRequest
-	var params = mux.Vars(r)
-	w.Header().Set("Content-Type", "application/json")
-	err := json.NewDecoder(r.Body).Decode(&gateway)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
-		return
-	}
-	gateway.NetID = params["network"]
-	gateway.NodeID = params["nodeid"]
-	node, err := logic.CreateEgressGateway(gateway)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"),
-			fmt.Sprintf("failed to create egress gateway on node [%s] on network [%s]: %v",
-				gateway.NodeID, gateway.NetID, err))
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
-		return
-	}
-
-	apiNode := node.ConvertToAPINode()
-	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(apiNode)
-
-	runUpdates(&node, true)
+	logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("currently unimplemented"), "internal"))
+	// var gateway models.EgressGatewayRequest
+	// var params = mux.Vars(r)
+	// w.Header().Set("Content-Type", "application/json")
+	// err := json.NewDecoder(r.Body).Decode(&gateway)
+	//	if err != nil {
+	//		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
+	//		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+	//		return
+	//	}
+	// gateway.NetID = params["network"]
+	// gateway.NodeID = params["nodeid"]
+	// node, err := logic.CreateEgressGateway(gateway)
+	//	if err != nil {
+	//		logger.Log(0, r.Header.Get("user"),
+	//			fmt.Sprintf("failed to create egress gateway on node [%s] on network [%s]: %v",
+	//				gateway.NodeID, gateway.NetID, err))
+	//		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
+	//		return
+	//	}
+	//
+	// apiNode := node.ConvertToAPINode()
+	// 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(apiNode)
+	//
+	// runUpdates(&node, true)
 }
 
 // swagger:route DELETE /api/nodes/{network}/{nodeid}/deletegateway nodes deleteEgressGateway
@@ -718,25 +719,26 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
 //			Responses:
 //				200: nodeResponse
 func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "application/json")
-	var params = mux.Vars(r)
-	nodeid := params["nodeid"]
-	netid := params["network"]
-	node, err := logic.DeleteEgressGateway(netid, nodeid)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"),
-			fmt.Sprintf("failed to delete egress gateway on node [%s] on network [%s]: %v",
-				nodeid, netid, err))
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
-		return
-	}
-
-	apiNode := node.ConvertToAPINode()
-	logger.Log(1, r.Header.Get("user"), "deleted egress gateway on node", nodeid, "on network", netid)
-	w.WriteHeader(http.StatusOK)
-	json.NewEncoder(w).Encode(apiNode)
-
-	runUpdates(&node, true)
+	logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("currently unimplemented"), "internal"))
+	//w.Header().Set("Content-Type", "application/json")
+	// var params = mux.Vars(r)
+	// nodeid := params["nodeid"]
+	// netid := params["network"]
+	// node, err := logic.DeleteEgressGateway(netid, nodeid)
+	//	if err != nil {
+	//		logger.Log(0, r.Header.Get("user"),
+	//			fmt.Sprintf("failed to delete egress gateway on node [%s] on network [%s]: %v",
+	//				nodeid, netid, err))
+	//		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
+	//		return
+	//	}
+	//
+	// apiNode := node.ConvertToAPINode()
+	// logger.Log(1, r.Header.Get("user"), "deleted egress gateway on node", nodeid, "on network", netid)
+	// w.WriteHeader(http.StatusOK)
+	// json.NewEncoder(w).Encode(apiNode)
+	//
+	// runUpdates(&node, true)
 }
 
 // == INGRESS ==

+ 2 - 0
logic/hosts.go

@@ -354,6 +354,8 @@ func CheckHostPorts(h *models.Host) {
 	for i := 0; portsInUse[h.ListenPort] && i < maxPort-minPort+1; i++ {
 		updatePort(&h.ListenPort)
 	}
+	// allocate h.ListenPort so it is unavailable to h.ProxyListenPort
+	portsInUse[h.ListenPort] = true
 	for i := 0; portsInUse[h.ProxyListenPort] && i < maxPort-minPort+1; i++ {
 		updatePort(&h.ProxyListenPort)
 	}