mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 17:29:15 +08:00
switched ingress stuff
This commit is contained in:
@@ -393,6 +393,25 @@ func DeleteExtClient(network string, clientid string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes ext clients based on gateway (mac) of ingress node and network
|
||||
*/
|
||||
func DeleteGatewayExtClients(gatewayID string, networkName string) error {
|
||||
currentExtClients, err := GetNetworkExtClients(networkName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, extClient := range currentExtClients {
|
||||
if extClient.IngressGatewayID == gatewayID {
|
||||
if err = DeleteExtClient(networkName, extClient.ClientID); err != nil {
|
||||
functions.PrintUserLog("netmaker", "failed to remove ext client "+extClient.ClientID, 2)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//Delete a extclient
|
||||
//Pretty straightforward
|
||||
func deleteExtClient(w http.ResponseWriter, r *http.Request) {
|
||||
|
@@ -669,6 +669,7 @@ func CreateIngressGateway(netid string, macaddress string) (models.Node, error)
|
||||
node.PostUp = postUpCmd
|
||||
node.PostDown = postDownCmd
|
||||
node.PullChanges = "yes"
|
||||
node.UDPHolePunch = "no"
|
||||
key, err := functions.GetRecordKey(node.MacAddress, node.Network)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
@@ -699,16 +700,27 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
json.NewEncoder(w).Encode(node)
|
||||
}
|
||||
|
||||
func DeleteIngressGateway(network, macaddress string) (models.Node, error) {
|
||||
func DeleteIngressGateway(networkName string, macaddress string) (models.Node, error) {
|
||||
|
||||
node, err := functions.GetNodeByMacAddress(network, macaddress)
|
||||
node, err := functions.GetNodeByMacAddress(networkName, macaddress)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
network, err := functions.GetParentNetwork(networkName)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
// delete ext clients belonging to ingress gateway
|
||||
if err = DeleteGatewayExtClients(macaddress, networkName); err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
|
||||
node.UDPHolePunch = network.DefaultUDPHolePunch
|
||||
node.LastModified = time.Now().Unix()
|
||||
node.IsIngressGateway = "no"
|
||||
node.IngressGatewayRange = ""
|
||||
node.PullChanges = "yes"
|
||||
|
||||
key, err := functions.GetRecordKey(node.MacAddress, node.Network)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
@@ -721,7 +733,7 @@ func DeleteIngressGateway(network, macaddress string) (models.Node, error) {
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
err = SetNetworkNodesLastModified(network)
|
||||
err = SetNetworkNodesLastModified(networkName)
|
||||
return node, err
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user