mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 16:57:51 +08:00
added egress as pull change
This commit is contained in:
@@ -558,7 +558,7 @@ func CreateEgressGateway(gateway models.EgressGatewayRequest) (models.Node, erro
|
|||||||
if err = database.Insert(key, string(nodeData), database.NODES_TABLE_NAME); err != nil {
|
if err = database.Insert(key, string(nodeData), database.NODES_TABLE_NAME); err != nil {
|
||||||
return models.Node{}, err
|
return models.Node{}, err
|
||||||
}
|
}
|
||||||
if err = functions.NetworkNodesUpdateAction(node.Network, models.NODE_EGRESS_CHANGE); err != nil {
|
if err = functions.NetworkNodesUpdatePullChanges(node.Network); err != nil {
|
||||||
return models.Node{}, err
|
return models.Node{}, err
|
||||||
}
|
}
|
||||||
return node, nil
|
return node, nil
|
||||||
@@ -617,7 +617,7 @@ func DeleteEgressGateway(network, macaddress string) (models.Node, error) {
|
|||||||
if err = database.Insert(key, string(data), database.NODES_TABLE_NAME); err != nil {
|
if err = database.Insert(key, string(data), database.NODES_TABLE_NAME); err != nil {
|
||||||
return models.Node{}, err
|
return models.Node{}, err
|
||||||
}
|
}
|
||||||
if err = functions.NetworkNodesUpdateAction(network, models.NODE_EGRESS_CHANGE); err != nil {
|
if err = functions.NetworkNodesUpdatePullChanges(network); err != nil {
|
||||||
return models.Node{}, err
|
return models.Node{}, err
|
||||||
}
|
}
|
||||||
return node, nil
|
return node, nil
|
||||||
|
@@ -266,6 +266,37 @@ func NetworkNodesUpdateAction(networkName string, action string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NetworkNodesUpdatePullChanges(networkName string) error {
|
||||||
|
|
||||||
|
collections, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
||||||
|
if err != nil {
|
||||||
|
if database.IsEmptyRecord(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, value := range collections {
|
||||||
|
var node models.Node
|
||||||
|
err := json.Unmarshal([]byte(value), &node)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error in node address assignment!")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if node.Network == networkName {
|
||||||
|
node.PullChanges = "yes"
|
||||||
|
data, err := json.Marshal(&node)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
node.SetID()
|
||||||
|
database.Insert(node.ID, string(data), database.NODES_TABLE_NAME)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func UpdateNetworkLocalAddresses(networkName string) error {
|
func UpdateNetworkLocalAddresses(networkName string) error {
|
||||||
|
|
||||||
collection, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
collection, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
||||||
|
@@ -20,7 +20,6 @@ const TEN_YEARS_IN_SECONDS = 300000000
|
|||||||
const NODE_UPDATE_KEY = "updatekey"
|
const NODE_UPDATE_KEY = "updatekey"
|
||||||
const NODE_DELETE = "delete"
|
const NODE_DELETE = "delete"
|
||||||
const NODE_IS_PENDING = "pending"
|
const NODE_IS_PENDING = "pending"
|
||||||
const NODE_EGRESS_CHANGE = "egresschange"
|
|
||||||
const NODE_NOOP = "noop"
|
const NODE_NOOP = "noop"
|
||||||
|
|
||||||
var seededRand *rand.Rand = rand.New(
|
var seededRand *rand.Rand = rand.New(
|
||||||
|
@@ -99,7 +99,6 @@ func checkNodeActions(node *models.Node, network string, servercfg config.Server
|
|||||||
log.Println("Unable to process reset keys request:", err)
|
log.Println("Unable to process reset keys request:", err)
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
return ""
|
|
||||||
}
|
}
|
||||||
if node.Action == models.NODE_DELETE || localNode.Action == models.NODE_DELETE {
|
if node.Action == models.NODE_DELETE || localNode.Action == models.NODE_DELETE {
|
||||||
err := LeaveNetwork(network)
|
err := LeaveNetwork(network)
|
||||||
|
Reference in New Issue
Block a user