forked from JointCloud/pcm-coordinator
54 lines
1.7 KiB
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
|
|
}*/
|