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 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) 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")) returnErrorResponse(w, r, formatError(err, "internal"))
return 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) logger.Log(1, "internal error when approving node:", nodeid)
} }
go func() { go func() {
@@ -458,7 +458,7 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return 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) logger.Log(1, "internal error when setting peers after creating egress on node:", gateway.NodeID)
} }
go func() { go func() {
@@ -484,7 +484,7 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return 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) logger.Log(1, "internal error when setting peers after removing egress on node:", nodeid)
} }
go func() { go func() {
@@ -642,7 +642,7 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
return return
} }
err = runServerPeerUpdate(node.Network, true) err = runServerPeerUpdate(node.Network, isServer(&node))
if err != nil { if err != nil {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return return

View File

@@ -5,7 +5,6 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"strings" "strings"
"time"
nodepb "github.com/gravitl/netmaker/grpc" nodepb "github.com/gravitl/netmaker/grpc"
"github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logger"
@@ -98,12 +97,7 @@ func (s *NodeServiceServer) CreateNode(ctx context.Context, req *nodepb.Object)
if err != nil { if err != nil {
return nil, err return nil, err
} }
network.NodesLastModified = time.Now().Unix() err = runServerPeerUpdate(node.Network, isServer(&node))
network.DefaultServerAddrs = serverAddrs
if err := logic.SaveNetwork(&network); err != nil {
return nil, err
}
err = runServerPeerUpdate(node.Network, true)
if err != nil { if err != nil {
logger.Log(1, "internal error when setting peers after node,", node.ID, "was created (gRPC)") 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 { if err != nil {
return nil, err return nil, err
} }
err = runServerPeerUpdate(node.Network, true) err = runServerPeerUpdate(node.Network, false)
if err != nil { if err != nil {
logger.Log(1, "internal error when setting peers after deleting node:", node.ID, "over gRPC") 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 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")) returnErrorResponse(w, r, formatError(err, "internal"))
return 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) logger.Log(1, "internal error when creating relay on node:", relay.NodeID)
} }
go func() { go func() {
@@ -53,7 +53,7 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return 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) logger.Log(1, "internal error when deleting relay on node:", nodeid)
} }
go func() { 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 // PublishPeerUpdate --- deterines and publishes a peer update to all the peers of a node
func PublishPeerUpdate(newNode *models.Node) error { 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) networkNodes, err := logic.GetNetworkNodes(newNode.Network)
if err != nil { if err != nil {
logger.Log(1, "err getting Network Nodes", err.Error()) logger.Log(1, "err getting Network Nodes", err.Error())