From e77ab0714194f7d8ac49895c1dc70e17a310423d Mon Sep 17 00:00:00 2001 From: Abhishek Kondur Date: Tue, 17 Jan 2023 17:26:49 +0530 Subject: [PATCH 1/2] error check for host update --- controllers/hosts.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/controllers/hosts.go b/controllers/hosts.go index 4b678b54..eea6a543 100644 --- a/controllers/hosts.go +++ b/controllers/hosts.go @@ -109,10 +109,12 @@ func updateHost(w http.ResponseWriter, r *http.Request) { } } // publish host update through MQ - mq.HostUpdate(&models.HostUpdate{ + if mq.HostUpdate(&models.HostUpdate{ Action: models.UpdateHost, Host: *newHost, - }) + }); err != nil { + logger.Log(0, r.Header.Get("user"), "failed to send host update: ", currHost.ID.String(), err.Error()) + } go func() { if err := mq.PublishPeerUpdate(); err != nil { logger.Log(0, "fail to publish peer update: ", err.Error()) From 55731ae547596ffd98b8b190d2af03a65dbb7b3f Mon Sep 17 00:00:00 2001 From: Abhishek Kondur Date: Tue, 17 Jan 2023 18:36:03 +0530 Subject: [PATCH 2/2] change topic for server host update --- mq/dynsec_helper.go | 4 ++-- mq/handlers.go | 2 +- mq/mq.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mq/dynsec_helper.go b/mq/dynsec_helper.go index 22627cde..f854dc90 100644 --- a/mq/dynsec_helper.go +++ b/mq/dynsec_helper.go @@ -186,7 +186,7 @@ func fetchHostAcls(hostID string) []Acl { }, { AclType: "publishClientSend", - Topic: fmt.Sprintf("host/update/%s", hostID), + Topic: fmt.Sprintf("host/serverupdate/%s", hostID), Priority: -1, Allow: true, }, @@ -373,7 +373,7 @@ func fetchServerAcls() []Acl { }, { AclType: "publishClientReceive", - Topic: "host/update/#", + Topic: "host/serverupdate/#", Priority: -1, Allow: true, }, diff --git a/mq/handlers.go b/mq/handlers.go index d6aebdf3..34490b79 100644 --- a/mq/handlers.go +++ b/mq/handlers.go @@ -141,7 +141,7 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) { logger.Log(1, "error unmarshaling payload ", err.Error()) return } - logger.Log(0, fmt.Sprintf("recieved host update: %+v\n", hostUpdate)) + logger.Log(0, "recieved host update for host: ", id) switch hostUpdate.Action { case models.UpdateHost: // TODO: logic to update host recieved from client diff --git a/mq/mq.go b/mq/mq.go index a3c32ae4..d0ccc420 100644 --- a/mq/mq.go +++ b/mq/mq.go @@ -83,7 +83,7 @@ func SetupMQTT() { client.Disconnect(240) logger.Log(0, "node update subscription failed") } - if token := client.Subscribe("host/update/#", 0, mqtt.MessageHandler(UpdateHost)); token.WaitTimeout(MQ_TIMEOUT*time.Second) && token.Error() != nil { + if token := client.Subscribe("host/serverupdate/#", 0, mqtt.MessageHandler(UpdateHost)); token.WaitTimeout(MQ_TIMEOUT*time.Second) && token.Error() != nil { client.Disconnect(240) logger.Log(0, "host update subscription failed") }