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

32 lines
1.1 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) ListPartitions(ctx context.Context, req *pbslurm.ListPartitionsReq) (*pbslurm.ListPartitionsResp, error) {
partitionList := tianhe.Get_partitions()
var resp = pbslurm.ListPartitionsResp{}
for _, partition := range partitionList.PartitionInfoList {
partitionInfoResult := partition
resp.PartitionList = append(resp.PartitionList, &partitionInfoResult)
}
return &resp, nil
}
func (slurmStruct SlurmStruct) GetPartition(ctx context.Context, req *pbslurm.GetPartitionReq) (*pbslurm.GetPartitionResp, error) {
PartitionList := tianhe.GetPartitionsInfo()
resp := pbslurm.GetPartitionResp{}
for _, partition := range PartitionList.PartitionInfoList {
partitionInfoResult := partition
if strings.Contains(partition.Name, req.PartitionName) {
resp.PartitionInfos = append(resp.PartitionInfos, &partitionInfoResult)
}
}
return &resp, nil
}