Merge pull request #673 from gravitl/bugfix_v0.10.0_update_keys

Bugfix v0.10.0 update keys
This commit is contained in:
dcarns 2022-02-04 14:03:34 -05:00 committed by GitHub
commit 3248717585
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 0 deletions

View file

@ -3,6 +3,7 @@ package controller
import (
"encoding/json"
"errors"
"fmt"
"net/http"
"strings"
@ -11,6 +12,7 @@ import (
"github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/logic"
"github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/mq"
"github.com/gravitl/netmaker/servercfg"
)
@ -98,6 +100,23 @@ func keyUpdate(w http.ResponseWriter, r *http.Request) {
logger.Log(2, r.Header.Get("user"), "updated key on network", netname)
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(network)
nodes, err := logic.GetNetworkNodes(netname)
if err != nil {
logger.Log(2, "failed to retrieve network nodes for network", netname, err.Error())
return
}
for _, node := range nodes {
fmt.Println("updating node ", node.Name, " for a key update")
if err := mq.NodeUpdate(&node); err != nil {
logger.Log(2, "failed key update ", node.Name)
}
}
node, err := logic.GetNetworkServerLeader(netname)
if err != nil {
logger.Log(2, "failed to get server node")
return
}
runUpdates(&node, false)
}
// Update a network

View file

@ -2,6 +2,7 @@ package controller
import (
"encoding/json"
"errors"
"fmt"
"net/http"
"strings"
@ -608,6 +609,10 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
}
func runUpdates(node *models.Node, nodeUpdate bool) error {
//don't publish to server node
if node.IsServer == "yes" {
return errors.New("attempt to publish to server node")
}
if nodeUpdate {
if err := mq.NodeUpdate(node); err != nil {
logger.Log(1, "error publishing node update", err.Error())