Browse Source

egress model update,remove interface check

Abhishek Kondur 2 years ago
parent
commit
0505629fd1
4 changed files with 8 additions and 6 deletions
  1. 6 2
      controllers/node.go
  2. 0 4
      logic/gateway.go
  3. 1 0
      logic/peers.go
  4. 1 0
      models/mqtt.go

+ 6 - 2
controllers/node.go

@@ -711,7 +711,9 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
 	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)
-
+	go func() {
+		mq.PublishPeerUpdate()
+	}()
 	runUpdates(&node, true)
 }
 
@@ -745,7 +747,9 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
 	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)
-
+	go func() {
+		mq.PublishPeerUpdate()
+	}()
 	runUpdates(&node, true)
 }
 

+ 0 - 4
logic/gateway.go

@@ -123,10 +123,6 @@ func ValidateEgressGateway(gateway models.EgressGatewayRequest) error {
 	if empty {
 		err = errors.New("IP Ranges Cannot Be Empty")
 	}
-	empty = gateway.Interface == ""
-	if empty {
-		err = errors.New("interface cannot be empty")
-	}
 	return err
 }
 

+ 1 - 0
logic/peers.go

@@ -478,6 +478,7 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
 			}
 			hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
 				EgressID: node.ID.String(),
+				Network:  node.Network,
 				EgressGwAddr: net.IPNet{
 					IP:   net.ParseIP(node.PrimaryAddress()),
 					Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),

+ 1 - 0
models/mqtt.go

@@ -38,6 +38,7 @@ type IngressInfo struct {
 
 type EgressInfo struct {
 	EgressID     string                   `json:"egress_id" yaml:"egress_id"`
+	Network      string                   `json:"network" yaml:"network"`
 	EgressGwAddr net.IPNet                `json:"egress_gw_addr" yaml:"egress_gw_addr"`
 	GwPeers      map[string]PeerRouteInfo `json:"gateway_peers" yaml:"gateway_peers"`
 	EgressGWCfg  EgressGatewayRequest     `json:"egress_gateway_cfg" yaml:"egress_gateway_cfg"`