server_util.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package controller
  2. import (
  3. "github.com/gravitl/netmaker/logger"
  4. "github.com/gravitl/netmaker/logic"
  5. )
  6. func runServerPeerUpdate(network string, shouldPeerUpdate bool) error {
  7. var currentServerNodeID, err = logic.GetNetworkServerNodeID(network)
  8. if err != nil {
  9. return err
  10. }
  11. var currentServerNode, currErr = logic.GetNodeByID(currentServerNodeID)
  12. if currErr != nil {
  13. return currErr
  14. }
  15. if err = logic.ServerUpdate(&currentServerNode, shouldPeerUpdate); err != nil {
  16. logger.Log(1, "server node:", currentServerNode.ID, "failed update")
  17. return err
  18. }
  19. return nil
  20. }
  21. // func runServerUpdateIfNeeded(shouldPeersUpdate bool, node models.Node) error {
  22. // // check if a peer/server update is needed
  23. // var serverData = models.ServerUpdateData{
  24. // UpdatePeers: shouldPeersUpdate,
  25. // Node: node,
  26. // }
  27. // serverctl.Push(serverData)
  28. // return handleServerUpdate()
  29. // }
  30. // func handleServerUpdate() error {
  31. // var settings, settingsErr = serverctl.Pop()
  32. // if settingsErr != nil {
  33. // return settingsErr
  34. // }
  35. // var currentServerNodeID, err = logic.GetNetworkServerNodeID(settings.Node.Network)
  36. // if err != nil {
  37. // return err
  38. // }
  39. // // ensure server client is available
  40. // if settings.UpdatePeers || (settings.Node.ID == currentServerNodeID) {
  41. // err = serverctl.SyncServerNetwork(&settings.Node)
  42. // if err != nil {
  43. // logger.Log(1, "failed to sync,", settings.Node.Network, ", error:", err.Error())
  44. // }
  45. // }
  46. // // if peers should update, update peers on network
  47. // if settings.UpdatePeers {
  48. // if err = handlePeerUpdate(&settings.Node); err != nil {
  49. // return err
  50. // }
  51. // logger.Log(1, "updated peers on network:", settings.Node.Network)
  52. // }
  53. // // if the server node had an update, run the update function
  54. // if settings.Node.ID == currentServerNodeID {
  55. // if err = logic.ServerUpdate(&settings.Node); err != nil {
  56. // return err
  57. // }
  58. // logger.Log(1, "server node:", settings.Node.ID, "was updated")
  59. // }
  60. // return nil
  61. // }
  62. // // tells server to update it's peers
  63. // func handlePeerUpdate(node *models.Node) error {
  64. // logger.Log(1, "updating peers on network:", node.Network)
  65. // var currentServerNodeID, err = logic.GetNetworkServerNodeID(node.Network)
  66. // if err != nil {
  67. // return err
  68. // }
  69. // var currentServerNode, currErr = logic.GetNodeByID(currentServerNodeID)
  70. // if currErr != nil {
  71. // return currErr
  72. // }
  73. // if err = logic.ServerUpdate(&currentServerNode); err != nil {
  74. // logger.Log(1, "server node:", currentServerNode.ID, "failed update")
  75. // return err
  76. // }
  77. // logger.Log(1, "finished a peer update for network,", currentServerNode.Network)
  78. // return nil
  79. // }