From f6d637f3e5951d1c6e11e9f2e353193a25f16bcb Mon Sep 17 00:00:00 2001 From: Hans Hasselberg <me@hans.io> Date: Thu, 1 Oct 2020 12:39:57 +0200 Subject: [PATCH] return and handle syncNodeInfo error --- agent/local/state.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/agent/local/state.go b/agent/local/state.go index 1126eccf47..6377fb4ebf 100644 --- a/agent/local/state.go +++ b/agent/local/state.go @@ -901,7 +901,9 @@ func (l *State) updateSyncState() error { !reflect.DeepEqual(svcNode.TaggedAddresses, l.config.TaggedAddresses) || !reflect.DeepEqual(svcNode.Meta, l.metadata) { - l.syncNodeInfo() + if err := l.syncNodeInfo(); err != nil { + return err + } } // Check which services need syncing @@ -1302,7 +1304,7 @@ func (l *State) syncCheck(key structs.CheckID) error { } } -func (l *State) syncNodeInfo() { +func (l *State) syncNodeInfo() error { at := l.tokens.AgentToken() req := structs.RegisterRequest{ Datacenter: l.config.Datacenter, @@ -1318,6 +1320,7 @@ func (l *State) syncNodeInfo() { switch { case err == nil: l.logger.Info("Synced node info") + return nil case acl.IsErrPermissionDenied(err), acl.IsErrNotFound(err): // todo(fs): mark the node info to be in sync to prevent excessive retrying before next full sync @@ -1325,9 +1328,11 @@ func (l *State) syncNodeInfo() { accessorID := l.aclAccessorID(at) l.logger.Warn("Node info update blocked by ACLs", "node", l.config.NodeID, "accessorID", accessorID) metrics.IncrCounter([]string{"acl", "blocked", "node", "registration"}, 1) + return nil default: l.logger.Warn("Syncing node info failed.", "error", err) + return err } } -- GitLab