From c53773c2dba62d64d6f88c37a85cb7d73fe9e789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 3 Apr 2023 16:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=8F=AA=E6=9B=B4=E6=96=B0UA?= =?UTF-8?q?M=E7=AD=96=E7=95=A5=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/node.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/internal/nodes/node.go b/internal/nodes/node.go index 0483e5c..abb4de6 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -464,6 +464,30 @@ func (this *Node) execTask(rpcClient *rpc.RPCClient, task *pb.NodeTask) error { } } } + case "uamPolicyChanged": + remotelogs.Println("NODE", "updating uam policies ...") + resp, err := rpcClient.NodeRPC.FindNodeUAMPolicies(rpcClient.Context(), &pb.FindNodeUAMPoliciesRequest{}) + if err != nil { + return err + } + var uamPolicyMap = map[int64]*nodeconfigs.UAMPolicy{} + for _, policy := range resp.UamPolicies { + if len(policy.UamPolicyJSON) > 0 { + var uamPolicy = &nodeconfigs.UAMPolicy{} + err = json.Unmarshal(policy.UamPolicyJSON, uamPolicy) + if err != nil { + remotelogs.Error("NODE", "decode uam policy failed: "+err.Error()) + continue + } + err = uamPolicy.Init() + if err != nil { + remotelogs.Error("NODE", "initialize uam policy failed: "+err.Error()) + continue + } + uamPolicyMap[policy.NodeClusterId] = uamPolicy + } + } + sharedNodeConfig.UpdateUAMPolicies(uamPolicyMap) case "plusChanged": err := this.notifyPlusChange() if err != nil { @@ -629,6 +653,9 @@ func (this *Node) syncConfig(taskVersion int64) error { this.isLoaded = true + // 整体更新不需要再更新单个服务 + this.updatingServerMap = map[int64]*serverconfigs.ServerConfig{} + return nil }