增加节点同步状态提示和任务列表

This commit is contained in:
GoEdgeLab
2021-01-17 16:48:05 +08:00
parent facd88e8fd
commit a1f4743e92
11 changed files with 2943 additions and 1415 deletions

View File

@@ -10,9 +10,8 @@ const (
MessageCodePurgeCache MessageCode = "purgeCache" // 删除缓存
MessageCodeCleanCache MessageCode = "cleanCache" // 清理缓存
MessageCodePreheatCache MessageCode = "preheatCache" // 预热缓存
MessageCodeConfigChanged MessageCode = "configChanged" // 配置已改变
MessageCodeIPListChanged MessageCode = "ipListChanged" // IP列表变化
MessageCodeCheckSystemdService MessageCode = "checkSystemdService" // 检查Systemd服务
MessageCodeNewNodeTask MessageCode = "NewNodeTask" // 有新的节点任务产生
)
// 连接API节点成功
@@ -65,14 +64,10 @@ type PreheatCacheMessage struct {
Keys []string `json:"keys"`
}
// 配置已改变
type ConfigChangedMessage struct {
}
// IPList变化
type IPListChangedMessage struct {
}
// Systemd服务
type CheckSystemdServiceMessage struct {
}
// 有新的节点任务
type NewNodeTaskMessage struct {
}

View File

@@ -45,6 +45,7 @@ type Node struct {
IsOn bool `protobuf:"varint,13,opt,name=isOn,proto3" json:"isOn,omitempty"`
IsUp bool `protobuf:"varint,14,opt,name=isUp,proto3" json:"isUp,omitempty"`
DnsRoutes []*DNSRoute `protobuf:"bytes,15,rep,name=dnsRoutes,proto3" json:"dnsRoutes,omitempty"`
IsActive bool `protobuf:"varint,16,opt,name=isActive,proto3" json:"isActive,omitempty"`
NodeCluster *NodeCluster `protobuf:"bytes,32,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
Login *NodeLogin `protobuf:"bytes,33,opt,name=login,proto3" json:"login,omitempty"`
InstallStatus *NodeInstallStatus `protobuf:"bytes,34,opt,name=installStatus,proto3" json:"installStatus,omitempty"`
@@ -190,6 +191,13 @@ func (x *Node) GetDnsRoutes() []*DNSRoute {
return nil
}
func (x *Node) GetIsActive() bool {
if x != nil {
return x.IsActive
}
return false
}
func (x *Node) GetNodeCluster() *NodeCluster {
if x != nil {
return x.NodeCluster
@@ -247,7 +255,7 @@ var file_model_node_proto_rawDesc = []byte{
0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64,
0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9,
0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5,
0x05, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
@@ -275,25 +283,27 @@ var file_model_node_proto_rawDesc = []byte{
0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x12, 0x2a, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x52, 0x6f,
0x75, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e,
0x44, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x52, 0x6f, 0x75,
0x74, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18,
0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c,
0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x0d, 0x69,
0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x22, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x69, 0x70, 0x41, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x52, 0x0b, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18,
0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12,
0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x20,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0b, 0x69, 0x70,
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x26,
0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -0,0 +1,224 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: model_node_task.proto
package pb
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 节点相关同步任务
type NodeTask struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
IsDone bool `protobuf:"varint,3,opt,name=isDone,proto3" json:"isDone,omitempty"`
IsOk bool `protobuf:"varint,4,opt,name=isOk,proto3" json:"isOk,omitempty"`
Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
UpdatedAt int64 `protobuf:"varint,6,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
Node *Node `protobuf:"bytes,30,opt,name=node,proto3" json:"node,omitempty"`
NodeCluster *NodeCluster `protobuf:"bytes,31,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
}
func (x *NodeTask) Reset() {
*x = NodeTask{}
if protoimpl.UnsafeEnabled {
mi := &file_model_node_task_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NodeTask) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeTask) ProtoMessage() {}
func (x *NodeTask) ProtoReflect() protoreflect.Message {
mi := &file_model_node_task_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeTask.ProtoReflect.Descriptor instead.
func (*NodeTask) Descriptor() ([]byte, []int) {
return file_model_node_task_proto_rawDescGZIP(), []int{0}
}
func (x *NodeTask) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *NodeTask) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *NodeTask) GetIsDone() bool {
if x != nil {
return x.IsDone
}
return false
}
func (x *NodeTask) GetIsOk() bool {
if x != nil {
return x.IsOk
}
return false
}
func (x *NodeTask) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *NodeTask) GetUpdatedAt() int64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *NodeTask) GetNode() *Node {
if x != nil {
return x.Node
}
return nil
}
func (x *NodeTask) GetNodeCluster() *NodeCluster {
if x != nil {
return x.NodeCluster
}
return nil
}
var File_model_node_task_proto protoreflect.FileDescriptor
var file_model_node_task_proto_rawDesc = []byte{
0x0a, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x73,
0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x10, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x44, 0x6f,
0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_model_node_task_proto_rawDescOnce sync.Once
file_model_node_task_proto_rawDescData = file_model_node_task_proto_rawDesc
)
func file_model_node_task_proto_rawDescGZIP() []byte {
file_model_node_task_proto_rawDescOnce.Do(func() {
file_model_node_task_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_node_task_proto_rawDescData)
})
return file_model_node_task_proto_rawDescData
}
var file_model_node_task_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_model_node_task_proto_goTypes = []interface{}{
(*NodeTask)(nil), // 0: pb.NodeTask
(*Node)(nil), // 1: pb.Node
(*NodeCluster)(nil), // 2: pb.NodeCluster
}
var file_model_node_task_proto_depIdxs = []int32{
1, // 0: pb.NodeTask.node:type_name -> pb.Node
2, // 1: pb.NodeTask.nodeCluster:type_name -> pb.NodeCluster
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_model_node_task_proto_init() }
func file_model_node_task_proto_init() {
if File_model_node_task_proto != nil {
return
}
file_model_node_proto_init()
file_model_node_cluster_proto_init()
if !protoimpl.UnsafeEnabled {
file_model_node_task_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NodeTask); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_model_node_task_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_model_node_task_proto_goTypes,
DependencyIndexes: file_model_node_task_proto_depIdxs,
MessageInfos: file_model_node_task_proto_msgTypes,
}.Build()
File_model_node_task_proto = out.File
file_model_node_task_proto_rawDesc = nil
file_model_node_task_proto_goTypes = nil
file_model_node_task_proto_depIdxs = nil
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,7 @@ message Node {
bool isOn = 13;
bool isUp = 14;
repeated DNSRoute dnsRoutes = 15;
bool isActive = 16;
NodeCluster nodeCluster = 32;
NodeLogin login = 33;

View File

@@ -0,0 +1,20 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "model_node.proto";
import "model_node_cluster.proto";
// 节点相关同步任务
message NodeTask {
int64 id = 1;
string type = 2;
bool isDone = 3;
bool isOk = 4;
string error = 5;
int64 updatedAt = 6;
Node node = 30;
NodeCluster nodeCluster = 31;
}

View File

@@ -49,9 +49,6 @@ service NodeService {
// 更新节点状态
rpc updateNodeStatus (UpdateNodeStatusRequest) returns (RPCSuccess);
// 同步集群中的节点版本
rpc syncNodesVersionWithCluster (SyncNodesVersionWithClusterRequest) returns (SyncNodesVersionWithClusterResponse);
// 修改节点安装状态
rpc updateNodeIsInstalled (UpdateNodeIsInstalledRequest) returns (RPCSuccess);
@@ -105,6 +102,9 @@ service NodeService {
// 计算某个区域下的节点数量
rpc countAllEnabledNodesWithNodeRegionId (CountAllEnabledNodesWithNodeRegionIdRequest) returns (RPCCountResponse);
// 根据一组ID获取节点信息
rpc findEnabledNodesWithIds (FindEnabledNodesWithIdsRequest) returns (FindEnabledNodesWithIdsResponse);
}
// 创建节点
@@ -219,14 +219,6 @@ message UpdateNodeStatusRequest {
bytes statusJSON = 2;
}
// 同步集群中的节点版本
message SyncNodesVersionWithClusterRequest {
int64 nodeClusterId = 1;
}
message SyncNodesVersionWithClusterResponse {
}
// 计算匹配的节点数量
message CountAllEnabledNodesMatchRequest {
int64 nodeClusterId = 1;
@@ -390,4 +382,13 @@ message UpdateNodeDNSRequest {
// 计算某个区域下的节点数量
message CountAllEnabledNodesWithNodeRegionIdRequest {
int64 nodeRegionId = 1;
}
// 根据一组ID获取节点信息
message FindEnabledNodesWithIdsRequest {
repeated int64 nodeIds = 1;
}
message FindEnabledNodesWithIdsResponse {
repeated Node nodes = 1;
}

View File

@@ -29,9 +29,6 @@ service NodeClusterService {
// 获取所有可用集群
rpc findAllEnabledNodeClusters (FindAllEnabledNodeClustersRequest) returns (FindAllEnabledNodeClustersResponse);
// 获取变更的集群
rpc findAllChangedNodeClusters (FindAllChangedNodeClustersRequest) returns (FindAllChangedNodeClustersResponse);
// 计算所有集群数量
rpc countAllEnabledNodeClusters (CountAllEnabledNodeClustersRequest) returns (RPCCountResponse);
@@ -117,15 +114,6 @@ message FindAllEnabledNodeClustersResponse {
repeated NodeCluster nodeClusters = 1;
}
// 获取变更的集群
message FindAllChangedNodeClustersRequest {
}
message FindAllChangedNodeClustersResponse {
repeated NodeCluster nodeClusters = 1;
}
// 创建集群
message CreateNodeClusterRequest {
string name = 1;

View File

@@ -0,0 +1,99 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "rpc_messages.proto";
import "model_node_task.proto";
// 节点同步任务相关服务
service NodeTaskService {
// 获取单节点同步任务
rpc findNodeTasks (FindNodeTasksRequest) returns (FindNodeTasksResponse);
// 报告同步任务结果
rpc reportNodeTaskDone (ReportNodeTaskDoneRequest) returns (RPCSuccess);
// 获取所有正在同步的集群信息
rpc findNodeClusterTasks (FindNodeClusterTasksRequest) returns (FindNodeClusterTasksResponse);
// 检查是否有正在执行的任务
rpc existsNodeTasks (ExistsNodeTasksRequest) returns (ExistsNodeTasksResponse);
// 删除任务
rpc deleteNodeTask (DeleteNodeTaskRequest) returns (RPCSuccess);
// 计算正在执行的任务数量
rpc countDoingNodeTasks (CountDoingNodeTasksRequest) returns (RPCCountResponse);
// 查找需要通知的任务
rpc findNotifyingNodeTasks (FindNotifyingNodeTasksRequest) returns (FindNotifyingNodeTasksResponse);
// 设置任务已通知
rpc updateNodeTasksNotified (UpdateNodeTasksNotifiedRequest) returns (RPCSuccess);
}
// 获取单节点同步任务
message FindNodeTasksRequest {
}
message FindNodeTasksResponse {
repeated NodeTask nodeTasks = 1;
}
// 报告同步任务结果
message ReportNodeTaskDoneRequest {
int64 nodeTaskId = 1;
bool isOk = 2;
string error = 3;
}
// 获取所有正在同步的集群信息
message FindNodeClusterTasksRequest {
}
message FindNodeClusterTasksResponse {
repeated ClusterTask clusterTasks = 1;
}
message ClusterTask {
int64 clusterId = 1;
string clusterName = 2;
repeated NodeTask nodeTasks = 3;
}
// 检查是否有正在执行的任务
message ExistsNodeTasksRequest {
}
message ExistsNodeTasksResponse {
bool existTasks = 1;
bool existError = 2;
}
// 删除任务
message DeleteNodeTaskRequest {
int64 nodeTaskId = 1;
}
// 计算正在执行的任务数量
message CountDoingNodeTasksRequest {
}
// 查找需要通知的任务
message FindNotifyingNodeTasksRequest {
int64 size = 1;
}
message FindNotifyingNodeTasksResponse {
repeated NodeTask nodeTasks = 1;
}
// 设置任务已通知
message UpdateNodeTasksNotifiedRequest {
repeated int64 nodeTaskIds = 1;
}