mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-02 18:04:23 +08:00
added egress as pull change
This commit is contained in:
parent
94cf8bfbc6
commit
095ff2fbfc
4 changed files with 33 additions and 4 deletions
|
@ -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 {
|
||||
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 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 {
|
||||
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 node, nil
|
||||
|
|
|
@ -266,6 +266,37 @@ func NetworkNodesUpdateAction(networkName string, action string) error {
|
|||
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 {
|
||||
|
||||
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_DELETE = "delete"
|
||||
const NODE_IS_PENDING = "pending"
|
||||
const NODE_EGRESS_CHANGE = "egresschange"
|
||||
const NODE_NOOP = "noop"
|
||||
|
||||
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)
|
||||
return ""
|
||||
}
|
||||
return ""
|
||||
}
|
||||
if node.Action == models.NODE_DELETE || localNode.Action == models.NODE_DELETE {
|
||||
err := LeaveNetwork(network)
|
||||
|
|
Loading…
Add table
Reference in a new issue