Skip to content

Commit 7eae39f

Browse files
committed
修改节点停用时发送命令的提示
1 parent e59b65a commit 7eae39f

File tree

8 files changed

+41
-13
lines changed

8 files changed

+41
-13
lines changed

internal/web/actions/default/clusters/cluster/settings/ddos-protection/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (this *StatusAction) RunPost(params struct {
3434
}) {
3535
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckLocalFirewall, &messageconfigs.CheckLocalFirewallMessage{
3636
Name: "nftables",
37-
}, 10)
37+
}, 10, false)
3838
if err != nil {
3939
this.ErrorPage(err)
4040
return

internal/web/actions/default/clusters/cluster/settings/services/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func (this *StatusAction) RunPost(params struct {
2626

2727
Must *actions.Must
2828
}) {
29-
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckSystemdService, &messageconfigs.CheckSystemdServiceMessage{}, 10)
29+
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckSystemdService, &messageconfigs.CheckSystemdServiceMessage{}, 10, false)
3030
if err != nil {
3131
this.ErrorPage(err)
3232
return

internal/web/actions/default/nodes/nodeutils/utils.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type MessageResult struct {
2020
}
2121

2222
// SendMessageToCluster 向集群发送命令消息
23-
func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg interface{}, timeoutSeconds int32) (results []*MessageResult, err error) {
23+
func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg any, timeoutSeconds int32, availableNodesOnly bool) (results []*MessageResult, err error) {
2424
results = []*MessageResult{}
2525

2626
msgJSON, err := json.Marshal(msg)
@@ -41,11 +41,22 @@ func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg
4141
if err != nil {
4242
return results, err
4343
}
44-
nodes := nodesResp.Nodes
44+
var nodes = nodesResp.Nodes
4545
if len(nodes) == 0 {
4646
return results, nil
4747
}
4848

49+
if availableNodesOnly {
50+
var newNodes []*pb.Node
51+
for _, node := range nodes {
52+
if !node.IsOn {
53+
continue
54+
}
55+
newNodes = append(newNodes, node)
56+
}
57+
nodes = newNodes
58+
}
59+
4960
var rpcMap = map[int64]*rpc.RPCClient{} // apiNodeId => RPCClient
5061
var locker = &sync.Mutex{}
5162

@@ -55,6 +66,19 @@ func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg
5566
for _, node := range nodes {
5667
// TODO 检查是否在线
5768

69+
if !node.IsOn {
70+
locker.Lock()
71+
results = append(results, &MessageResult{
72+
NodeId: node.Id,
73+
NodeName: node.Name,
74+
IsOK: false,
75+
Message: "节点尚未启用",
76+
})
77+
locker.Unlock()
78+
wg.Done()
79+
continue
80+
}
81+
5882
if len(node.ConnectedAPINodeIds) == 0 {
5983
locker.Lock()
6084
results = append(results, &MessageResult{

internal/web/actions/default/nodes/nodeutils/utils_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestSendMessageToCluster(t *testing.T) {
1414
}
1515
ctx := rpcClient.Context(1)
1616

17-
results, err := SendMessageToCluster(ctx, 1, "test", nil, 30)
17+
results, err := SendMessageToCluster(ctx, 1, "test", nil, 30, false)
1818
if err != nil {
1919
t.Fatal(err)
2020
}

internal/web/actions/default/servers/components/cache/clean.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cache
22

3-
import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
3+
import (
4+
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
45
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/nodeutils"
56
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
67
"github.com/TeaOSLab/EdgeCommon/pkg/messageconfigs"
@@ -73,7 +74,7 @@ func (this *CleanAction) RunPost(params struct {
7374
msg := &messageconfigs.CleanCacheMessage{
7475
CachePolicyJSON: cachePolicyJSON,
7576
}
76-
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCleanCache, msg, 60)
77+
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCleanCache, msg, 60, false)
7778
if err != nil {
7879
this.ErrorPage(err)
7980
return

internal/web/actions/default/servers/components/cache/stat.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cache
22

3-
import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
3+
import (
4+
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
45
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/nodeutils"
56
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
67
"github.com/TeaOSLab/EdgeCommon/pkg/messageconfigs"
@@ -73,7 +74,7 @@ func (this *StatAction) RunPost(params struct {
7374
msg := &messageconfigs.StatCacheMessage{
7475
CachePolicyJSON: cachePolicyJSON,
7576
}
76-
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeStatCache, msg, 10)
77+
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeStatCache, msg, 10, false)
7778
if err != nil {
7879
this.ErrorPage(err)
7980
return

internal/web/actions/default/servers/components/cache/testRead.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cache
22

3-
import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
3+
import (
4+
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
45
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/nodeutils"
56
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
67
"github.com/TeaOSLab/EdgeCommon/pkg/messageconfigs"
@@ -39,7 +40,7 @@ func (this *TestReadAction) RunPost(params struct {
3940
CachePolicyJSON: cachePolicyJSON,
4041
Key: params.Key,
4142
}
42-
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeReadCache, msg, 10)
43+
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeReadCache, msg, 10, false)
4344
if err != nil {
4445
this.ErrorPage(err)
4546
return

internal/web/actions/default/servers/components/cache/testWrite.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cache
22

3-
import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
3+
import (
4+
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
45
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/nodeutils"
56
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
67
"github.com/TeaOSLab/EdgeCommon/pkg/messageconfigs"
@@ -42,7 +43,7 @@ func (this *TestWriteAction) RunPost(params struct {
4243
Value: []byte(params.Value),
4344
LifeSeconds: 3600,
4445
}
45-
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeWriteCache, msg, 10)
46+
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeWriteCache, msg, 10, false)
4647
if err != nil {
4748
this.ErrorPage(err)
4849
return

0 commit comments

Comments
 (0)