mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-27 01:23:00 +08:00
Merge pull request #673 from gravitl/bugfix_v0.10.0_update_keys
Bugfix v0.10.0 update keys
This commit is contained in:
commit
3248717585
2 changed files with 24 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in a new issue