mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 03:46:02 +08:00
update host name on join
This commit is contained in:
parent
030d1c4ae3
commit
18ddb3d5ca
3 changed files with 47 additions and 34 deletions
|
@ -592,8 +592,15 @@ func createNode(w http.ResponseWriter, r *http.Request) {
|
||||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
logic.UpdateHost(&data.Host, host) // update the in memory struct values
|
logic.UpdateHostFromClient(&data.Host, host) // update the in memory struct values
|
||||||
|
logger.Log(0, fmt.Sprintf("HOST ----------> %+v\n", data.Host))
|
||||||
|
err = logic.UpsertHost(host)
|
||||||
|
if err != nil {
|
||||||
|
logger.Log(0, r.Header.Get("user"),
|
||||||
|
fmt.Sprintf("failed to update host [ %s ]: %v", host.ID.String(), err))
|
||||||
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||||
|
return
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.Log(0, "error creating host", err.Error())
|
logger.Log(0, "error creating host", err.Error())
|
||||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||||
|
|
|
@ -133,6 +133,43 @@ func UpdateHost(newHost, currentHost *models.Host) {
|
||||||
if newHost.ProxyListenPort == 0 {
|
if newHost.ProxyListenPort == 0 {
|
||||||
newHost.ProxyListenPort = currentHost.ProxyListenPort
|
newHost.ProxyListenPort = currentHost.ProxyListenPort
|
||||||
}
|
}
|
||||||
|
if newHost.PublicListenPort == 0 {
|
||||||
|
newHost.PublicListenPort = currentHost.PublicListenPort
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdateHostFromClient - used for updating host on server with update recieved from client
|
||||||
|
func UpdateHostFromClient(newHost, currHost *models.Host) (sendPeerUpdate bool) {
|
||||||
|
|
||||||
|
if newHost.ListenPort != 0 && currHost.ListenPort != newHost.ListenPort {
|
||||||
|
currHost.ListenPort = newHost.ListenPort
|
||||||
|
sendPeerUpdate = true
|
||||||
|
}
|
||||||
|
if newHost.ProxyListenPort != 0 && currHost.ProxyListenPort != newHost.ProxyListenPort {
|
||||||
|
currHost.ProxyListenPort = newHost.ProxyListenPort
|
||||||
|
sendPeerUpdate = true
|
||||||
|
}
|
||||||
|
if newHost.PublicListenPort != 0 && currHost.PublicListenPort != newHost.PublicListenPort {
|
||||||
|
currHost.PublicListenPort = newHost.PublicListenPort
|
||||||
|
sendPeerUpdate = true
|
||||||
|
}
|
||||||
|
if currHost.ProxyEnabled != newHost.ProxyEnabled {
|
||||||
|
currHost.ProxyEnabled = newHost.ProxyEnabled
|
||||||
|
sendPeerUpdate = true
|
||||||
|
}
|
||||||
|
if currHost.EndpointIP.String() != newHost.EndpointIP.String() {
|
||||||
|
currHost.EndpointIP = newHost.EndpointIP
|
||||||
|
sendPeerUpdate = true
|
||||||
|
}
|
||||||
|
currHost.DaemonInstalled = newHost.DaemonInstalled
|
||||||
|
currHost.Debug = newHost.Debug
|
||||||
|
currHost.Verbosity = newHost.Verbosity
|
||||||
|
currHost.Version = newHost.Version
|
||||||
|
if newHost.Name != "" {
|
||||||
|
currHost.Name = newHost.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpsertHost - upserts into DB a given host model, does not check for existence*
|
// UpsertHost - upserts into DB a given host model, does not check for existence*
|
||||||
|
|
|
@ -145,7 +145,7 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) {
|
||||||
var sendPeerUpdate bool
|
var sendPeerUpdate bool
|
||||||
switch hostUpdate.Action {
|
switch hostUpdate.Action {
|
||||||
case models.UpdateHost:
|
case models.UpdateHost:
|
||||||
sendPeerUpdate = updateHostFromClient(&hostUpdate.Host, currentHost)
|
sendPeerUpdate = logic.UpdateHostFromClient(&hostUpdate.Host, currentHost)
|
||||||
err := logic.UpsertHost(currentHost)
|
err := logic.UpsertHost(currentHost)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(0, "failed to update host: ", currentHost.ID.String(), err.Error())
|
logger.Log(0, "failed to update host: ", currentHost.ID.String(), err.Error())
|
||||||
|
@ -183,37 +183,6 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) {
|
||||||
}(msg)
|
}(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// used for updating host on server with update recieved from client
|
|
||||||
func updateHostFromClient(newHost, currHost *models.Host) (sendPeerUpdate bool) {
|
|
||||||
|
|
||||||
if newHost.ListenPort != 0 && currHost.ListenPort != newHost.ListenPort {
|
|
||||||
currHost.ListenPort = newHost.ListenPort
|
|
||||||
sendPeerUpdate = true
|
|
||||||
}
|
|
||||||
if newHost.ProxyListenPort != 0 && currHost.ProxyListenPort != newHost.ProxyListenPort {
|
|
||||||
currHost.ProxyListenPort = newHost.ProxyListenPort
|
|
||||||
sendPeerUpdate = true
|
|
||||||
}
|
|
||||||
if newHost.PublicListenPort != 0 && currHost.PublicListenPort != newHost.PublicListenPort {
|
|
||||||
currHost.PublicListenPort = newHost.PublicListenPort
|
|
||||||
sendPeerUpdate = true
|
|
||||||
}
|
|
||||||
if currHost.ProxyEnabled != newHost.ProxyEnabled {
|
|
||||||
currHost.ProxyEnabled = newHost.ProxyEnabled
|
|
||||||
sendPeerUpdate = true
|
|
||||||
}
|
|
||||||
if currHost.EndpointIP.String() != newHost.EndpointIP.String() {
|
|
||||||
currHost.EndpointIP = newHost.EndpointIP
|
|
||||||
sendPeerUpdate = true
|
|
||||||
}
|
|
||||||
currHost.DaemonInstalled = newHost.DaemonInstalled
|
|
||||||
currHost.Debug = newHost.Debug
|
|
||||||
currHost.Verbosity = newHost.Verbosity
|
|
||||||
currHost.Version = newHost.Version
|
|
||||||
currHost.Name = newHost.Name
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdateMetrics message Handler -- handles updates from client nodes for metrics
|
// UpdateMetrics message Handler -- handles updates from client nodes for metrics
|
||||||
func UpdateMetrics(client mqtt.Client, msg mqtt.Message) {
|
func UpdateMetrics(client mqtt.Client, msg mqtt.Message) {
|
||||||
if servercfg.Is_EE {
|
if servercfg.Is_EE {
|
||||||
|
|
Loading…
Add table
Reference in a new issue