[集群]增加TOA相关设置

This commit is contained in:
刘祥超
2020-12-02 14:26:03 +08:00
parent 118624b776
commit 622f5db0b5
7 changed files with 135 additions and 32 deletions

View File

@@ -466,6 +466,16 @@ func (this *NodeService) FindCurrentNodeConfig(ctx context.Context, req *pb.Find
if err != nil {
return nil, err
}
// 检查版本号
currentVersion, err := models.SharedNodeDAO.FindNodeVersion(nodeId)
if err != nil {
return nil, err
}
if currentVersion == req.Version {
return &pb.FindCurrentNodeConfigResponse{IsChanged: false}, nil
}
nodeConfig, err := models.SharedNodeDAO.ComposeNodeConfig(nodeId)
if err != nil {
return nil, err
@@ -476,7 +486,7 @@ func (this *NodeService) FindCurrentNodeConfig(ctx context.Context, req *pb.Find
return nil, err
}
return &pb.FindCurrentNodeConfigResponse{NodeJSON: data}, nil
return &pb.FindCurrentNodeConfigResponse{IsChanged: true, NodeJSON: data}, nil
}
// 更新节点状态

View File

@@ -267,7 +267,7 @@ func (this *NodeClusterService) FindNodeClusterHealthCheckConfig(ctx context.Con
if err != nil {
return nil, err
}
return &pb.FindNodeClusterHealthCheckConfigResponse{HealthCheckConfig: configJSON}, nil
return &pb.FindNodeClusterHealthCheckConfigResponse{HealthCheckJSON: configJSON}, nil
}
// 修改集群健康检查设置
@@ -529,3 +529,46 @@ func (this *NodeClusterService) CheckNodeClusterDNSChanges(ctx context.Context,
return &pb.CheckNodeClusterDNSChangesResponse{IsChanged: len(changes) > 0}, nil
}
// 查找集群的TOA配置
func (this *NodeClusterService) FindEnabledNodeClusterTOA(ctx context.Context, req *pb.FindEnabledNodeClusterTOARequest) (*pb.FindEnabledNodeClusterTOAResponse, error) {
_, err := this.ValidateAdmin(ctx, 0)
if err != nil {
return nil, err
}
// TODO 检查权限
config, err := models.SharedNodeClusterDAO.FindClusterTOAConfig(req.NodeClusterId)
if err != nil {
return nil, err
}
configJSON, err := json.Marshal(config)
if err != nil {
return nil, err
}
return &pb.FindEnabledNodeClusterTOAResponse{ToaJSON: configJSON}, nil
}
// 修改集群的TOA设置
func (this *NodeClusterService) UpdateNodeClusterTOA(ctx context.Context, req *pb.UpdateNodeClusterTOARequest) (*pb.RPCSuccess, error) {
_, err := this.ValidateAdmin(ctx, 0)
if err != nil {
return nil, err
}
// TODO 检查权限
err = models.SharedNodeClusterDAO.UpdateClusterTOA(req.NodeClusterId, req.ToaJSON)
if err != nil {
return nil, err
}
// 更新节点版本
err = models.SharedNodeDAO.UpdateAllNodesLatestVersionMatch(req.NodeClusterId)
if err != nil {
return nil, err
}
return this.Success()
}