better checks

This commit is contained in:
0xdcarns 2022-01-30 20:50:37 -05:00
parent 4740551473
commit 8da7d96a82
4 changed files with 14 additions and 19 deletions

View file

@ -406,7 +406,7 @@ func createNode(w http.ResponseWriter, r *http.Request) {
return
}
if err = runServerPeerUpdate(node.Network, true); err != nil {
if err = runServerPeerUpdate(node.Network, isServer(&node)); err != nil {
logger.Log(1, "internal error when creating node:", node.ID)
}
@ -426,7 +426,7 @@ func uncordonNode(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if err = runServerPeerUpdate(node.Network, false); err != nil {
if err = runServerPeerUpdate(node.Network, isServer(&node)); err != nil {
logger.Log(1, "internal error when approving node:", nodeid)
}
go func() {
@ -458,7 +458,7 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if err = runServerPeerUpdate(gateway.NetID, true); err != nil {
if err = runServerPeerUpdate(gateway.NetID, isServer(&node)); err != nil {
logger.Log(1, "internal error when setting peers after creating egress on node:", gateway.NodeID)
}
go func() {
@ -484,7 +484,7 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if err = runServerPeerUpdate(netid, true); err != nil {
if err = runServerPeerUpdate(netid, isServer(&node)); err != nil {
logger.Log(1, "internal error when setting peers after removing egress on node:", nodeid)
}
go func() {
@ -642,7 +642,7 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
return
}
err = runServerPeerUpdate(node.Network, true)
err = runServerPeerUpdate(node.Network, isServer(&node))
if err != nil {
returnErrorResponse(w, r, formatError(err, "internal"))
return

View file

@ -5,7 +5,6 @@ import (
"encoding/json"
"errors"
"strings"
"time"
nodepb "github.com/gravitl/netmaker/grpc"
"github.com/gravitl/netmaker/logger"
@ -98,12 +97,7 @@ func (s *NodeServiceServer) CreateNode(ctx context.Context, req *nodepb.Object)
if err != nil {
return nil, err
}
network.NodesLastModified = time.Now().Unix()
network.DefaultServerAddrs = serverAddrs
if err := logic.SaveNetwork(&network); err != nil {
return nil, err
}
err = runServerPeerUpdate(node.Network, true)
err = runServerPeerUpdate(node.Network, isServer(&node))
if err != nil {
logger.Log(1, "internal error when setting peers after node,", node.ID, "was created (gRPC)")
}
@ -184,7 +178,7 @@ func (s *NodeServiceServer) DeleteNode(ctx context.Context, req *nodepb.Object)
if err != nil {
return nil, err
}
err = runServerPeerUpdate(node.Network, true)
err = runServerPeerUpdate(node.Network, false)
if err != nil {
logger.Log(1, "internal error when setting peers after deleting node:", node.ID, "over gRPC")
}
@ -286,3 +280,7 @@ func getNewOrLegacyNode(data string) (models.Node, error) {
}
return node, nil
}
func isServer(node *models.Node) bool {
return node.IsServer == "yes"
}

View file

@ -27,7 +27,7 @@ func createRelay(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if err = runServerPeerUpdate(relay.NetID, true); err != nil {
if err = runServerPeerUpdate(relay.NetID, isServer(&node)); err != nil {
logger.Log(1, "internal error when creating relay on node:", relay.NodeID)
}
go func() {
@ -53,7 +53,7 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if err = runServerPeerUpdate(netid, true); err != nil {
if err = runServerPeerUpdate(netid, isServer(&node)); err != nil {
logger.Log(1, "internal error when deleting relay on node:", nodeid)
}
go func() {

View file

@ -101,10 +101,7 @@ var UpdateNode mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
// PublishPeerUpdate --- deterines and publishes a peer update to all the peers of a node
func PublishPeerUpdate(newNode *models.Node) error {
// shouldn't need this becaus of runServerPeerUpdate, but test to make sure peers are getting updated
// if newNode.IsServer == "yes" {
// logic.SetPeersIfLeader(newNode)
// }
networkNodes, err := logic.GetNetworkNodes(newNode.Network)
if err != nil {
logger.Log(1, "err getting Network Nodes", err.Error())