pcm-coordinator/adaptor/pcm_slurm/service/common/node.go

54 lines
1.7 KiB
Go

package slurmer
import "C"
import (
pbslurm "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/gen/idl"
"code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/service/tianhe"
"context"
"strings"
)
func (slurmStruct SlurmStruct) ListNodes(ctx context.Context, req *pbslurm.ListNodesReq) (*pbslurm.ListNodesResp, error) {
nodeList := tianhe.Get_all_nodes()
var resp = pbslurm.ListNodesResp{}
for _, node := range nodeList.NodeInfoList {
nodeInfoResult := pbslurm.NodeInfo{}
nodeInfoResult.Cpus = uint32(node.Cpus)
nodeInfoResult.Boards = uint32(node.Boards)
nodeInfoResult.RealMemory = node.RealMemory
nodeInfoResult.Sockets = uint32(node.Sockets)
nodeInfoResult.Threads = uint32(node.Threads)
resp.NodeInfos = append(resp.NodeInfos, &nodeInfoResult)
}
return &resp, nil
}
func (slurmStruct SlurmStruct) GetNode(ctx context.Context, req *pbslurm.GetNodeReq) (*pbslurm.GetNodeResp, error) {
NodeList := tianhe.GetNodeInfo()
resp := pbslurm.GetNodeResp{}
for _, node := range NodeList.NodeInfoList {
nodeInfoResult := node
if strings.Contains(node.Name, req.NodeName) {
resp.NodeInfos = append(resp.NodeInfos, &nodeInfoResult)
}
}
return &resp, nil
}
/*func (slurmStruct SlurmStruct) GetNodeByName(ctx context.Context, req *pbnode.NodeInfoMsgReq) (*pbnode.NodeInfoMsgResp, error) {
node := Get_node_info(req.NodeName)
var resp = pbnode.NodeInfoMsgResp{}
for _, node := range node.Node_list {
nodeInfoResult := pbnode.Node_Info{}
nodeInfoResult.Cpus = uint32(node.Cpus)
nodeInfoResult.Boards = uint32(node.Boards)
nodeInfoResult.RealMemory = node.RealMemory
nodeInfoResult.Sockets = uint32(node.Sockets)
nodeInfoResult.Threads = uint32(node.Threads)
resp.NodeList = append(resp.NodeList, &nodeInfoResult)
}
return &resp, nil
}*/