Browse Source

return 'currently unimplemented' on egress endpoints

updated logic in logic.CheckHostPorts to fix failing test
Matthew R Kasun 2 years ago
parent
commit
cee245856b
4 changed files with 49 additions and 49 deletions
  1. 47 45
      controllers/node.go
  2. 0 1
      go.mod
  3. 0 3
      go.sum
  4. 2 0
      logic/hosts.go

+ 47 - 45
controllers/node.go

@@ -689,32 +689,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
@@ -729,25 +730,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 ==

+ 0 - 1
go.mod

@@ -37,7 +37,6 @@ require (
 	github.com/coreos/go-oidc/v3 v3.5.0
 	github.com/gorilla/websocket v1.5.0
 	github.com/pkg/errors v0.9.1
-	github.com/sirupsen/logrus v1.9.0
 	golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e
 	gortc.io/stun v1.23.0
 )

+ 0 - 3
go.sum

@@ -127,8 +127,6 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
-github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0=
 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
@@ -208,7 +206,6 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220207234003-57398862261d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
 golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

+ 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)
 	}