list node

This commit is contained in:
zhouqunjie 2023-10-07 10:18:46 +08:00
parent b0e0b3a31c
commit 6d1687e463
13 changed files with 1235 additions and 1348 deletions

View File

@ -7,4 +7,4 @@ PcmCoreRpcConf:
NonBlock: true
ClusterUrl: localhost
ParticipantId: 0
ParticipantId: 1706858330967773184

9
go.mod
View File

@ -17,11 +17,9 @@ require (
)
require (
github.com/JCCE-nudt/zero-contrib/zrpc/registry/nacos v0.0.0-20230419021610-13bbc83fbc3c // indirect
github.com/BurntSushi/toml v1.1.0 // indirect
github.com/Masterminds/squirrel v1.5.4 // indirect
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1704 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/buger/jsonparser v1.1.1 // indirect
github.com/bwmarrin/snowflake v0.3.0 // indirect
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
@ -40,15 +38,14 @@ require (
github.com/go-resty/resty/v2 v2.7.0 // indirect
github.com/go-sql-driver/mysql v1.7.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/gnostic v0.5.7-v3refs // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.15.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
@ -87,7 +84,6 @@ require (
go.uber.org/zap v1.24.0 // indirect
golang.org/x/net v0.12.0 // indirect
golang.org/x/oauth2 v0.7.0 // indirect
golang.org/x/sync v0.2.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/term v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect
@ -97,7 +93,6 @@ require (
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.66.2 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect

920
go.sum

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
package logic
import (
"context"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurm"
"github.com/zeromicro/go-zero/core/logx"
)
type ListNodeLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewListNodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListNodeLogic {
return &ListNodeLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ListNodeLogic) ListNode(in *slurm.ListNodeReq) (*slurm.ListNodeResp, error) {
var listNodeResp slurm.ListNodeResp
url := "http://127.0.0.1:4523/m1/1136481-0-default/slurm/v0.0.37/nodes"
slurmHttpRequest := tool.GetACHttpRequest()
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).SetResult(&listNodeResp).Get(url)
return &listNodeResp, nil
}

View File

@ -1,6 +1,7 @@
package cron
import (
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/pkg/tracker"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
)
@ -17,6 +18,6 @@ func AddCronGroup(svc *svc.ServiceContext) {
// 推送节点动态信息
svc.Cron.AddFunc("0 0/2 * * * ?", func() {
//tracker.NodesDynamicInfo(svc.Config.PrometheusUrl, svc.ParticipantRpc, svc.ClientSet)
tracker.NodesDynamicInfo(svc)
})
}

View File

@ -4,12 +4,15 @@ import (
"context"
"github.com/zeromicro/go-zero/core/logx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/pcmCore"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/logic"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurm"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurmclient"
"gitlink.org.cn/jcce-pcm/utils/tool"
)
func SyncTask(svc *svc.ServiceContext) {
participantId, err := tool.GetParticipantId("etc/kubernetes.yaml")
participantId, err := tool.GetParticipantId("etc/slurm.yaml")
if err != nil {
return
}
@ -23,11 +26,43 @@ func SyncTask(svc *svc.ServiceContext) {
logx.Error(err)
return
}
// 提交任务
submitJobLogic := logic.NewSubmitJobLogic(context.Background(), svc)
for index, _ := range infoList.CloudInfoList {
subReq := slurmclient.SubmitJobReq{}
infoList.CloudInfoList[index].Status = "Pending"
_, err := submitJobLogic.SubmitJob(&subReq)
if err != nil {
return
}
}
// 查询任务列表
listLogic := logic.NewListJobLogic(context.Background(), svc)
listReq := slurmclient.ListJobReq{}
resp, err := listLogic.ListJob(&listReq)
// 遍历core端任务列表信息
for index, _ := range resp.Jobs {
if infoList.HpcInfoList[index].Status == "Saved" {
submitReq := slurm.SubmitJobReq{
Script: infoList.HpcInfoList[index].CmdScript,
Job: nil,
Jobs: nil,
}
jobResult, _ := submitJobLogic.SubmitJob(&submitReq)
if jobResult.Errors[0].Errno == 0 {
infoList.HpcInfoList[index].Status = "Pending"
infoList.HpcInfoList[index].JobId = string(jobResult.JobId)
} else {
infoList.HpcInfoList[index].Status = "Failed"
infoList.HpcInfoList[index].Result = jobResult.JobSubmitUserMsg
}
}
}
if len(infoList.CloudInfoList) != 0 {
// 同步信息到core端
SyncInfoReq := pcmCore.SyncInfoReq{
Kind: "cloud",
Kind: "hpc",
ParticipantId: participantId,
CloudInfoList: infoList.CloudInfoList,
}

View File

@ -8,9 +8,9 @@ import (
proModel "github.com/prometheus/common/model"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/client/participantservice"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/logic"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
"gitlink.org.cn/jcce-pcm/utils/tool"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"time"
)
@ -46,130 +46,36 @@ func MetricsQuery(statement string) (*proModel.Vector, error) {
return &vector, nil
}
// NodeDiskAvail 查询磁盘可用空间
func NodeDiskAvail(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_DISK_AVAIL)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
nodes[index].DiskAvail = tool.StringToInt64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
// NodeDiskTotal 查询磁盘总空间
func NodeDiskTotal(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_DISK_TOTAL)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
nodes[index].DiskTotal = tool.StringToInt64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
// NodeMemoryTotal 查询内存总大小
func NodeMemoryTotal(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_MEMORY_TOTAL)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
nodes[index].MemTotal = tool.StringToInt64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
// NodeMemoryAvail 查询内存可用大小
func NodeMemoryAvail(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_MEMORY_AVAIL)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
nodes[index].MemAvail = tool.StringToInt64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
// NodeCpuTotalCount 查询cpu总核数
func NodeCpuTotalCount(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_CPU_TOTAL_COUNT)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["node"]) == nodes[index].NodeName {
nodes[index].CpuTotal = tool.StringToInt64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
// NodeCpuUsage 查询cpu使用率
func NodeCpuUsage(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
vectors, err := MetricsQuery(NODE_CPU_USAGE)
if err != nil {
return nil, err
}
for index, _ := range nodes {
for i := 0; i < vectors.Len(); i++ {
if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
nodes[index].CpuUsable = tool.StringToFloat64((*vectors)[index].Value.String())
}
}
}
return nodes, nil
}
func NodesDynamicInfo(metricsUrl string, participantRpc participantservice.ParticipantService, kubeClient *kubernetes.Clientset) ([]*model.ScNodeAvailInfo, error) {
participantId, err := tool.GetParticipantId("etc/kubernetes.yaml")
address = metricsUrl
func NodesDynamicInfo(svc *svc.ServiceContext) ([]*model.ScNodeAvailInfo, error) {
participantId, err := tool.GetParticipantId("etc/slurm.yaml")
ctx := context.TODO()
listNodeLogic := logic.NewListNodeLogic(ctx, svc)
var nodes []*model.ScNodeAvailInfo
nodeList, err := kubeClient.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
nodeList, err := listNodeLogic.ListNode(nil)
if err != nil {
return nil, err
}
for _, node := range nodeList.Items {
for _, node := range nodeList.Nodes {
nodePhy := model.ScNodeAvailInfo{
NodeName: node.ObjectMeta.Name,
NodeName: node.Name,
ParticipantId: participantId,
Id: 0,
CpuTotal: int64(node.Cpus),
CpuUsable: float64(node.CpuLoad),
DiskTotal: 0,
DiskAvail: int64(node.TemporaryDisk),
MemTotal: int64(node.RealMemory),
MemAvail: int64(node.FreeMemory),
GpuTotal: 0,
GpuAvail: 0,
DeletedFlag: 0,
}
nodes = append(nodes, &nodePhy)
}
NodeDiskAvail(nodes)
NodeDiskTotal(nodes)
NodeMemoryTotal(nodes)
NodeMemoryAvail(nodes)
NodeCpuUsage(nodes)
NodeCpuTotalCount(nodes)
nodeAvailInfo := []*participantservice.NodeAvailInfo{}
var nodeAvailInfo []*participantservice.NodeAvailInfo
tool.Convert(nodes, &nodeAvailInfo)
if err != nil {
@ -179,26 +85,27 @@ func NodesDynamicInfo(metricsUrl string, participantRpc participantservice.Parti
ParticipantId: participantId,
NodeAvailInfo: nodeAvailInfo,
}
participantRpc.ReportAvailable(context.Background(), &req)
svc.ParticipantRpc.ReportAvailable(context.Background(), &req)
return nodes, nil
}
// NodesStaticInfo 同步节点静态信息
func NodesStaticInfo(kubeClient *kubernetes.Clientset) ([]*model.ScNodePhyInfo, error) {
var result []*model.ScNodePhyInfo
nodes, err := kubeClient.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
if err != nil {
return nil, err
}
for _, node := range nodes.Items {
nodePhy := model.ScNodePhyInfo{
NodeName: node.ObjectMeta.Name,
OsName: node.Status.NodeInfo.OSImage,
ArchType: node.Status.NodeInfo.Architecture,
ArchName: node.Status.NodeInfo.KernelVersion,
}
result = append(result, &nodePhy)
}
return result, nil
}
//
//// NodesStaticInfo 同步节点静态信息
//func NodesStaticInfo(kubeClient *kubernetes.Clientset) ([]*model.ScNodePhyInfo, error) {
// var result []*model.ScNodePhyInfo
// nodes, err := kubeClient.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
// if err != nil {
// return nil, err
// }
// for _, node := range nodes.Items {
// nodePhy := model.ScNodePhyInfo{
// NodeName: node.ObjectMeta.Name,
// OsName: node.Status.NodeInfo.OSImage,
// ArchType: node.Status.NodeInfo.Architecture,
// ArchName: node.Status.NodeInfo.KernelVersion,
// }
// result = append(result, &nodePhy)
// }
// return result, nil
//}

View File

@ -0,0 +1,207 @@
package tracker
//
//import (
// "context"
// "encoding/json"
// "github.com/prometheus/client_golang/api"
// v1 "github.com/prometheus/client_golang/api/prometheus/v1"
// proModel "github.com/prometheus/common/model"
// "gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
// "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/client/participantservice"
// "gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/logic"
// "gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
// "gitlink.org.cn/jcce-pcm/utils/tool"
// metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
// "k8s.io/client-go/kubernetes"
// "time"
//)
//
//const (
// NODE_DISK_AVAIL = "node_filesystem_avail_bytes{fstype=~\"ext4|xfs\"}"
// NODE_DISK_TOTAL = "node_filesystem_size_bytes{fstype=~\"ext4|xfs\"}"
// NODE_MEMORY_AVAIL = "node_memory_MemAvailable_bytes"
// NODE_MEMORY_TOTAL = "node_memory_MemTotal_bytes"
// NODE_CPU_TOTAL_COUNT = "node:node_num_cpu:sum"
// NODE_CPU_USAGE = "sum by (instance)(increase(node_cpu_seconds_total{mode=\"idle\"}[5m])) / sum by (instance)(increase(node_cpu_seconds_total[5m]))"
//)
//
//var address string
//
//func MetricsQuery(statement string) (*proModel.Vector, error) {
// client, err := api.NewClient(api.Config{
// Address: address,
// })
// if err != nil {
// return nil, err
// }
//
// v1api := v1.NewAPI(client)
// ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
// defer cancel()
// metrics, _, err := v1api.Query(ctx, statement, time.Now(), v1.WithTimeout(5*time.Second))
// marshal, err := json.Marshal(metrics)
// if err != nil {
// return nil, err
// }
// vector := proModel.Vector{}
// json.Unmarshal(marshal, &vector)
// return &vector, nil
//}
//
//// NodeDiskAvail 查询磁盘可用空间
//func NodeDiskAvail(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_DISK_AVAIL)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
// nodes[index].DiskAvail = tool.StringToInt64((*vectors)[index].Value.String())
// }
// }
// }
// return nodes, nil
//}
//
//// NodeDiskTotal 查询磁盘总空间
//func NodeDiskTotal(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_DISK_TOTAL)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
// nodes[index].DiskTotal = tool.StringToInt64((*vectors)[index].Value.String())
// }
// }
//
// }
// return nodes, nil
//}
//
//// NodeMemoryTotal 查询内存总大小
//func NodeMemoryTotal(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_MEMORY_TOTAL)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
// nodes[index].MemTotal = tool.StringToInt64((*vectors)[index].Value.String())
// }
// }
//
// }
// return nodes, nil
//}
//
//// NodeMemoryAvail 查询内存可用大小
//func NodeMemoryAvail(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_MEMORY_AVAIL)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
// nodes[index].MemAvail = tool.StringToInt64((*vectors)[index].Value.String())
// }
// }
//
// }
// return nodes, nil
//}
//
//// NodeCpuTotalCount 查询cpu总核数
//func NodeCpuTotalCount(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_CPU_TOTAL_COUNT)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["node"]) == nodes[index].NodeName {
// nodes[index].CpuTotal = tool.StringToInt64((*vectors)[index].Value.String())
// }
// }
//
// }
// return nodes, nil
//}
//
//// NodeCpuUsage 查询cpu使用率
//func NodeCpuUsage(nodes []*model.ScNodeAvailInfo) ([]*model.ScNodeAvailInfo, error) {
// vectors, err := MetricsQuery(NODE_CPU_USAGE)
// if err != nil {
// return nil, err
// }
// for index, _ := range nodes {
// for i := 0; i < vectors.Len(); i++ {
// if string((*vectors)[i].Metric["instance"]) == nodes[index].NodeName {
// nodes[index].CpuUsable = tool.StringToFloat64((*vectors)[index].Value.String())
// }
// }
//
// }
// return nodes, nil
//}
//
//func NodesDynamicInfo(svc *svc.ServiceContext, ctx context.Context, participantRpc participantservice.ParticipantService) ([]*model.ScNodeAvailInfo, error) {
// participantId, err := tool.GetParticipantId("etc/slurm.yaml")
// listNodeLogic := logic.NewListNodeLogic(ctx, svc)
// var nodes []*model.ScNodeAvailInfo
// nodeList, err := listNodeLogic.ListNode(nil)
// if err != nil {
// return nil, err
// }
// for _, node := range nodeList.Nodes {
// nodePhy := model.ScNodeAvailInfo{
// NodeName: node.Name,
// ParticipantId: participantId,
// }
// nodes = append(nodes, &nodePhy)
// }
// NodeDiskAvail(nodes)
// NodeDiskTotal(nodes)
// NodeMemoryTotal(nodes)
// NodeMemoryAvail(nodes)
// NodeCpuUsage(nodes)
// NodeCpuTotalCount(nodes)
//
// nodeAvailInfo := []*participantservice.NodeAvailInfo{}
// tool.Convert(nodes, &nodeAvailInfo)
//
// if err != nil {
// return nil, err
// }
// req := participantservice.ParticipantAvailReq{
// ParticipantId: participantId,
// NodeAvailInfo: nodeAvailInfo,
// }
// participantRpc.ReportAvailable(context.Background(), &req)
// return nodes, nil
//
//}
//
//// NodesStaticInfo 同步节点静态信息
//func NodesStaticInfo(kubeClient *kubernetes.Clientset) ([]*model.ScNodePhyInfo, error) {
// var result []*model.ScNodePhyInfo
// nodes, err := kubeClient.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
// if err != nil {
// return nil, err
// }
// for _, node := range nodes.Items {
// nodePhy := model.ScNodePhyInfo{
// NodeName: node.ObjectMeta.Name,
// OsName: node.Status.NodeInfo.OSImage,
// ArchType: node.Status.NodeInfo.Architecture,
// ArchName: node.Status.NodeInfo.KernelVersion,
// }
// result = append(result, &nodePhy)
// }
// return result, nil
//}

View File

@ -36,3 +36,8 @@ func (s *SlurmServer) GetJob(ctx context.Context, in *slurm.ListJobReq) (*slurm.
l := logic.NewGetJobLogic(ctx, s.svcCtx)
return l.GetJob(in)
}
func (s *SlurmServer) ListNode(ctx context.Context, in *slurm.ListNodeReq) (*slurm.ListNodeResp, error) {
l := logic.NewListNodeLogic(ctx, s.svcCtx)
return l.ListNode(in)
}

View File

@ -28,9 +28,9 @@ message Allocated_nodes {
}
message Job_resources {
string nodes = 1;
uint32 allocated_cpus = 2;
uint32 allocated_hosts = 3;
string nodes = 1;
uint32 allocated_cpus = 2;
uint32 allocated_hosts = 3;
repeated Allocated_nodes allocated_nodes = 4;
}
@ -222,190 +222,226 @@ message job_response_properties{
//get job response
message Jobs {
string account = 1;
uint32 accrue_time = 2;
string admin_comment = 3;
string array_job_id = 4;
string array_task_id = 5;
string array_max_tasks = 6;
string array_task_string = 7;
string association_id = 8;
string batch_features = 9;
bool batch_flag = 10;
string batch_host = 11;
repeated string flags = 12;
string burst_buffer = 13;
string burst_buffer_state = 14;
string cluster = 15;
string cluster_features = 16;
string command = 17;
string comment = 18;
bool contiguous = 19;
string core_spec = 20;
string thread_spec = 21;
string cores_per_socket = 22;
string billable_tres = 23;
string cpus_per_task = 24;
string cpu_frequency_minimum = 25;
string cpu_frequency_maximum = 26;
string cpu_frequency_governor = 27;
string cpus_per_tres = 28;
string deadline = 29;
string delay_boot = 30;
string dependency = 31;
string derived_exit_code = 32;
uint32 eligible_time = 33;
uint32 end_time = 34;
string excluded_nodes = 35;
uint32 exit_code = 36;
string features = 37;
string federation_origin = 38;
string federation_siblings_active = 39;
string federation_siblings_viable = 40;
repeated string gres_detail = 41;
string group_id = 42;
string job_id = 43;
Job_resources job_resources = 44;
string job_state = 45;
string last_sched_evaluation = 46;
string licenses = 47;
string max_cpus = 48;
string max_nodes = 49;
string mcs_label = 50;
string memory_per_tres = 51;
string name = 52;
string nodes = 53;
string nice = 54;
string tasks_per_core = 55;
string tasks_per_socket = 56;
string tasks_per_board = 57;
string cpus = 58;
string node_count = 59;
string tasks = 60;
string het_job_id = 61;
string het_job_id_set = 62;
string het_job_offset = 63;
string partition = 64;
string memory_per_node = 65;
string memory_per_cpu = 66;
string minimum_cpus_per_node = 67;
string minimum_tmp_disk_per_node = 68;
uint32 preempt_time = 69;
uint32 pre_sus_time = 70;
string priority = 71;
repeated string profile = 72;
string qos = 73;
bool reboot = 74;
string required_nodes = 75;
bool requeue = 76;
uint32 resize_time = 77;
string restart_cnt = 78;
string resv_name = 79;
string shared = 80;
repeated string show_flags = 81;
string sockets_per_board = 82;
string sockets_per_node = 83;
uint32 start_time = 84;
string state_description = 85;
string state_reason = 86;
string standard_error = 87;
string standard_input = 88;
string standard_output = 89;
uint32 submit_time = 90;
uint32 suspend_time = 91;
string system_comment = 92;
string time_limit = 93;
string time_minimum = 94;
string threads_per_core = 95;
string tres_bind = 96;
string tres_freq = 97;
string tres_per_job = 98;
string tres_per_node = 99;
string tres_per_socket = 100;
string tres_per_task = 101;
string tres_req_str = 102;
string tres_alloc_str = 103;
string user_id = 104;
string user_name = 105;
string wckey = 106;
string current_working_directory = 107;
string account = 1;
uint32 accrue_time = 2;
string admin_comment = 3;
string array_job_id = 4;
string array_task_id = 5;
string array_max_tasks = 6;
string array_task_string = 7;
string association_id = 8;
string batch_features = 9;
bool batch_flag = 10;
string batch_host = 11;
repeated string flags = 12;
string burst_buffer = 13;
string burst_buffer_state = 14;
string cluster = 15;
string cluster_features = 16;
string command = 17;
string comment = 18;
bool contiguous = 19;
string core_spec = 20;
string thread_spec = 21;
string cores_per_socket = 22;
string billable_tres = 23;
string cpus_per_task = 24;
string cpu_frequency_minimum = 25;
string cpu_frequency_maximum = 26;
string cpu_frequency_governor = 27;
string cpus_per_tres = 28;
string deadline = 29;
string delay_boot = 30;
string dependency = 31;
string derived_exit_code = 32;
uint32 eligible_time = 33;
uint32 end_time = 34;
string excluded_nodes = 35;
uint32 exit_code = 36;
string features = 37;
string federation_origin = 38;
string federation_siblings_active = 39;
string federation_siblings_viable = 40;
repeated string gres_detail = 41;
string group_id = 42;
string job_id = 43;
Job_resources job_resources = 44;
string job_state = 45;
string last_sched_evaluation = 46;
string licenses = 47;
string max_cpus = 48;
string max_nodes = 49;
string mcs_label = 50;
string memory_per_tres = 51;
string name = 52;
string nodes = 53;
string nice = 54;
string tasks_per_core = 55;
string tasks_per_socket = 56;
string tasks_per_board = 57;
string cpus = 58;
string node_count = 59;
string tasks = 60;
string het_job_id = 61;
string het_job_id_set = 62;
string het_job_offset = 63;
string partition = 64;
string memory_per_node = 65;
string memory_per_cpu = 66;
string minimum_cpus_per_node = 67;
string minimum_tmp_disk_per_node = 68;
uint32 preempt_time = 69;
uint32 pre_sus_time = 70;
string priority = 71;
repeated string profile = 72;
string qos = 73;
bool reboot = 74;
string required_nodes = 75;
bool requeue = 76;
uint32 resize_time = 77;
string restart_cnt = 78;
string resv_name = 79;
string shared = 80;
repeated string show_flags = 81;
string sockets_per_board = 82;
string sockets_per_node = 83;
uint32 start_time = 84;
string state_description = 85;
string state_reason = 86;
string standard_error = 87;
string standard_input = 88;
string standard_output = 89;
uint32 submit_time = 90;
uint32 suspend_time = 91;
string system_comment = 92;
string time_limit = 93;
string time_minimum = 94;
string threads_per_core = 95;
string tres_bind = 96;
string tres_freq = 97;
string tres_per_job = 98;
string tres_per_node = 99;
string tres_per_socket = 100;
string tres_per_task = 101;
string tres_req_str = 102;
string tres_alloc_str = 103;
string user_id = 104;
string user_name = 105;
string wckey = 106;
string current_working_directory = 107;
}
message job_update {
string account = 1;
string account_gather_frequency = 2;
repeated string argv = 3;
string array = 4;
string batch_features = 5;
uint32 begin_time = 6;
string burst_buffer = 7;
string cluster_constraint = 8;
string comment = 9;
string constraints = 10;
uint32 core_specification = 11;
uint32 cores_per_socket = 12;
string cpu_binding = 13;
string cpu_binding_hint = 14;
string cpu_frequency = 15;
string cpus_per_gpu = 16;
uint32 cpus_per_task = 17;
string current_working_directory = 18;
string deadline = 19;
uint32 delay_boot = 20;
string dependency = 21;
string distribution = 22;
Environment environment = 23;
string exclusive = 24;
bool get_user_environment = 25;
string gres = 26;
string gres_flags = 27;
string gpu_binding = 28;
string gpu_frequency = 29;
string gpus = 30;
string gpus_per_node = 31;
string gpus_per_socket = 32;
string gpus_per_task = 33;
bool hold = 34;
bool kill_on_invalid_dependency = 35;
string licenses = 36;
string mail_type = 37;
string mail_user = 38;
string mcs_label = 39;
string memory_binding = 40;
uint32 memory_per_cpu = 41;
uint32 memory_per_gpu = 42;
uint32 memory_per_node = 43;
uint32 minimum_cpus_per_node = 44;
bool minimum_nodes = 45;
string name = 46;
string nice = 47;
bool no_kill = 48;
repeated uint32 nodes = 49;
string open_mode = 50;
string partition = 51;
string priority = 52;
string qos = 53;
bool requeue = 54;
string reservation = 55;
string signal = 56;
uint32 sockets_per_node = 57;
bool spread_job = 58;
string standard_error = 59;
string standard_input = 60;
string standard_output = 61;
uint32 tasks = 62;
uint32 tasks_per_core = 63;
uint32 tasks_per_node = 64;
uint32 tasks_per_socket = 65;
uint32 thread_specification = 66;
uint32 threads_per_core = 67;
uint32 time_limit = 68;
uint32 time_minimum = 69;
bool wait_all_nodes = 70;
string wckey = 71;
string account = 1;
string account_gather_frequency = 2;
repeated string argv = 3;
string array = 4;
string batch_features = 5;
uint32 begin_time = 6;
string burst_buffer = 7;
string cluster_constraint = 8;
string comment = 9;
string constraints = 10;
uint32 core_specification = 11;
uint32 cores_per_socket = 12;
string cpu_binding = 13;
string cpu_binding_hint = 14;
string cpu_frequency = 15;
string cpus_per_gpu = 16;
uint32 cpus_per_task = 17;
string current_working_directory = 18;
string deadline = 19;
uint32 delay_boot = 20;
string dependency = 21;
string distribution = 22;
Environment environment = 23;
string exclusive = 24;
bool get_user_environment = 25;
string gres = 26;
string gres_flags = 27;
string gpu_binding = 28;
string gpu_frequency = 29;
string gpus = 30;
string gpus_per_node = 31;
string gpus_per_socket = 32;
string gpus_per_task = 33;
bool hold = 34;
bool kill_on_invalid_dependency = 35;
string licenses = 36;
string mail_type = 37;
string mail_user = 38;
string mcs_label = 39;
string memory_binding = 40;
uint32 memory_per_cpu = 41;
uint32 memory_per_gpu = 42;
uint32 memory_per_node = 43;
uint32 minimum_cpus_per_node = 44;
bool minimum_nodes = 45;
string name = 46;
string nice = 47;
bool no_kill = 48;
repeated uint32 nodes = 49;
string open_mode = 50;
string partition = 51;
string priority = 52;
string qos = 53;
bool requeue = 54;
string reservation = 55;
string signal = 56;
uint32 sockets_per_node = 57;
bool spread_job = 58;
string standard_error = 59;
string standard_input = 60;
string standard_output = 61;
uint32 tasks = 62;
uint32 tasks_per_core = 63;
uint32 tasks_per_node = 64;
uint32 tasks_per_socket = 65;
uint32 thread_specification = 66;
uint32 threads_per_core = 67;
uint32 time_limit = 68;
uint32 time_minimum = 69;
bool wait_all_nodes = 70;
string wckey = 71;
}
message node {
string architecture = 1;
string burstbuffer_network_address = 2;
uint32 boards = 3;
uint32 boot_time = 4;
string comment = 5;
uint32 cores = 6;
uint32 cpu_binding = 7;
uint32 cpu_load = 8;
uint32 free_memory = 9;
uint32 cpus = 10;
string features = 11;
string active_features = 12;
string gres = 13;
string gres_drained = 14;
string gres_used = 15;
string mcs_label = 16;
string name = 17;
string next_state_after_reboot = 18;
string address = 19;
string hostname = 20;
string state = 21;
string operating_system = 22;
string owner = 23;
uint32 port = 24;
uint32 real_memory = 25;
string reason = 26;
uint32 reason_changed_at = 27;
string reason_set_by_user = 28;
uint32 slurmd_start_time = 29;
uint32 sockets = 30;
uint32 threads = 31;
uint32 temporary_disk = 32;
uint32 weight = 33;
string tres = 34;
string slurmd_version = 35;
}
message submitJobReq{
string script = 1;
@ -441,11 +477,20 @@ message getJobReq{
}
message getJobResp{
Jobs jobs = 1;
Jobs jobs = 1;
}
message listNodeReq{
}
message listNodeResp{
repeated error errors = 1;
repeated node nodes = 2;
}
service slurm {
rpc submitJob(submitJobReq) returns (submitJobResp) {};
rpc listJob(listJobReq) returns (listJobResp) {};
rpc getJob(listJobReq) returns (listJobResp) {};
rpc listNode(listNodeReq) returns (listNodeResp) {};
}

View File

@ -3376,6 +3376,325 @@ func (x *JobUpdate) GetWckey() string {
return ""
}
type Node struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"`
BurstbufferNetworkAddress string `protobuf:"bytes,2,opt,name=burstbuffer_network_address,json=burstbufferNetworkAddress,proto3" json:"burstbuffer_network_address,omitempty"`
Boards uint32 `protobuf:"varint,3,opt,name=boards,proto3" json:"boards,omitempty"`
BootTime uint32 `protobuf:"varint,4,opt,name=boot_time,json=bootTime,proto3" json:"boot_time,omitempty"`
Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"`
Cores uint32 `protobuf:"varint,6,opt,name=cores,proto3" json:"cores,omitempty"`
CpuBinding uint32 `protobuf:"varint,7,opt,name=cpu_binding,json=cpuBinding,proto3" json:"cpu_binding,omitempty"`
CpuLoad uint32 `protobuf:"varint,8,opt,name=cpu_load,json=cpuLoad,proto3" json:"cpu_load,omitempty"`
FreeMemory uint32 `protobuf:"varint,9,opt,name=free_memory,json=freeMemory,proto3" json:"free_memory,omitempty"`
Cpus uint32 `protobuf:"varint,10,opt,name=cpus,proto3" json:"cpus,omitempty"`
Features string `protobuf:"bytes,11,opt,name=features,proto3" json:"features,omitempty"`
ActiveFeatures string `protobuf:"bytes,12,opt,name=active_features,json=activeFeatures,proto3" json:"active_features,omitempty"`
Gres string `protobuf:"bytes,13,opt,name=gres,proto3" json:"gres,omitempty"`
GresDrained string `protobuf:"bytes,14,opt,name=gres_drained,json=gresDrained,proto3" json:"gres_drained,omitempty"`
GresUsed string `protobuf:"bytes,15,opt,name=gres_used,json=gresUsed,proto3" json:"gres_used,omitempty"`
McsLabel string `protobuf:"bytes,16,opt,name=mcs_label,json=mcsLabel,proto3" json:"mcs_label,omitempty"`
Name string `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"`
NextStateAfterReboot string `protobuf:"bytes,18,opt,name=next_state_after_reboot,json=nextStateAfterReboot,proto3" json:"next_state_after_reboot,omitempty"`
Address string `protobuf:"bytes,19,opt,name=address,proto3" json:"address,omitempty"`
Hostname string `protobuf:"bytes,20,opt,name=hostname,proto3" json:"hostname,omitempty"`
State string `protobuf:"bytes,21,opt,name=state,proto3" json:"state,omitempty"`
OperatingSystem string `protobuf:"bytes,22,opt,name=operating_system,json=operatingSystem,proto3" json:"operating_system,omitempty"`
Owner string `protobuf:"bytes,23,opt,name=owner,proto3" json:"owner,omitempty"`
Port uint32 `protobuf:"varint,24,opt,name=port,proto3" json:"port,omitempty"`
RealMemory uint32 `protobuf:"varint,25,opt,name=real_memory,json=realMemory,proto3" json:"real_memory,omitempty"`
Reason string `protobuf:"bytes,26,opt,name=reason,proto3" json:"reason,omitempty"`
ReasonChangedAt uint32 `protobuf:"varint,27,opt,name=reason_changed_at,json=reasonChangedAt,proto3" json:"reason_changed_at,omitempty"`
ReasonSetByUser string `protobuf:"bytes,28,opt,name=reason_set_by_user,json=reasonSetByUser,proto3" json:"reason_set_by_user,omitempty"`
SlurmdStartTime uint32 `protobuf:"varint,29,opt,name=slurmd_start_time,json=slurmdStartTime,proto3" json:"slurmd_start_time,omitempty"`
Sockets uint32 `protobuf:"varint,30,opt,name=sockets,proto3" json:"sockets,omitempty"`
Threads uint32 `protobuf:"varint,31,opt,name=threads,proto3" json:"threads,omitempty"`
TemporaryDisk uint32 `protobuf:"varint,32,opt,name=temporary_disk,json=temporaryDisk,proto3" json:"temporary_disk,omitempty"`
Weight uint32 `protobuf:"varint,33,opt,name=weight,proto3" json:"weight,omitempty"`
Tres string `protobuf:"bytes,34,opt,name=tres,proto3" json:"tres,omitempty"`
SlurmdVersion string `protobuf:"bytes,35,opt,name=slurmd_version,json=slurmdVersion,proto3" json:"slurmd_version,omitempty"`
}
func (x *Node) Reset() {
*x = Node{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Node) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Node) ProtoMessage() {}
func (x *Node) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[11]
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 Node.ProtoReflect.Descriptor instead.
func (*Node) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{11}
}
func (x *Node) GetArchitecture() string {
if x != nil {
return x.Architecture
}
return ""
}
func (x *Node) GetBurstbufferNetworkAddress() string {
if x != nil {
return x.BurstbufferNetworkAddress
}
return ""
}
func (x *Node) GetBoards() uint32 {
if x != nil {
return x.Boards
}
return 0
}
func (x *Node) GetBootTime() uint32 {
if x != nil {
return x.BootTime
}
return 0
}
func (x *Node) GetComment() string {
if x != nil {
return x.Comment
}
return ""
}
func (x *Node) GetCores() uint32 {
if x != nil {
return x.Cores
}
return 0
}
func (x *Node) GetCpuBinding() uint32 {
if x != nil {
return x.CpuBinding
}
return 0
}
func (x *Node) GetCpuLoad() uint32 {
if x != nil {
return x.CpuLoad
}
return 0
}
func (x *Node) GetFreeMemory() uint32 {
if x != nil {
return x.FreeMemory
}
return 0
}
func (x *Node) GetCpus() uint32 {
if x != nil {
return x.Cpus
}
return 0
}
func (x *Node) GetFeatures() string {
if x != nil {
return x.Features
}
return ""
}
func (x *Node) GetActiveFeatures() string {
if x != nil {
return x.ActiveFeatures
}
return ""
}
func (x *Node) GetGres() string {
if x != nil {
return x.Gres
}
return ""
}
func (x *Node) GetGresDrained() string {
if x != nil {
return x.GresDrained
}
return ""
}
func (x *Node) GetGresUsed() string {
if x != nil {
return x.GresUsed
}
return ""
}
func (x *Node) GetMcsLabel() string {
if x != nil {
return x.McsLabel
}
return ""
}
func (x *Node) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Node) GetNextStateAfterReboot() string {
if x != nil {
return x.NextStateAfterReboot
}
return ""
}
func (x *Node) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *Node) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
func (x *Node) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *Node) GetOperatingSystem() string {
if x != nil {
return x.OperatingSystem
}
return ""
}
func (x *Node) GetOwner() string {
if x != nil {
return x.Owner
}
return ""
}
func (x *Node) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
func (x *Node) GetRealMemory() uint32 {
if x != nil {
return x.RealMemory
}
return 0
}
func (x *Node) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *Node) GetReasonChangedAt() uint32 {
if x != nil {
return x.ReasonChangedAt
}
return 0
}
func (x *Node) GetReasonSetByUser() string {
if x != nil {
return x.ReasonSetByUser
}
return ""
}
func (x *Node) GetSlurmdStartTime() uint32 {
if x != nil {
return x.SlurmdStartTime
}
return 0
}
func (x *Node) GetSockets() uint32 {
if x != nil {
return x.Sockets
}
return 0
}
func (x *Node) GetThreads() uint32 {
if x != nil {
return x.Threads
}
return 0
}
func (x *Node) GetTemporaryDisk() uint32 {
if x != nil {
return x.TemporaryDisk
}
return 0
}
func (x *Node) GetWeight() uint32 {
if x != nil {
return x.Weight
}
return 0
}
func (x *Node) GetTres() string {
if x != nil {
return x.Tres
}
return ""
}
func (x *Node) GetSlurmdVersion() string {
if x != nil {
return x.SlurmdVersion
}
return ""
}
type SubmitJobReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -3389,7 +3708,7 @@ type SubmitJobReq struct {
func (x *SubmitJobReq) Reset() {
*x = SubmitJobReq{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[11]
mi := &file_slurm_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3402,7 +3721,7 @@ func (x *SubmitJobReq) String() string {
func (*SubmitJobReq) ProtoMessage() {}
func (x *SubmitJobReq) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[11]
mi := &file_slurm_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3415,7 +3734,7 @@ func (x *SubmitJobReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubmitJobReq.ProtoReflect.Descriptor instead.
func (*SubmitJobReq) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{11}
return file_slurm_proto_rawDescGZIP(), []int{12}
}
func (x *SubmitJobReq) GetScript() string {
@ -3453,7 +3772,7 @@ type SubmitJobResp struct {
func (x *SubmitJobResp) Reset() {
*x = SubmitJobResp{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[12]
mi := &file_slurm_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3466,7 +3785,7 @@ func (x *SubmitJobResp) String() string {
func (*SubmitJobResp) ProtoMessage() {}
func (x *SubmitJobResp) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[12]
mi := &file_slurm_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3479,7 +3798,7 @@ func (x *SubmitJobResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubmitJobResp.ProtoReflect.Descriptor instead.
func (*SubmitJobResp) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{12}
return file_slurm_proto_rawDescGZIP(), []int{13}
}
func (x *SubmitJobResp) GetErrors() []*Error {
@ -3521,7 +3840,7 @@ type ListJobReq struct {
func (x *ListJobReq) Reset() {
*x = ListJobReq{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[13]
mi := &file_slurm_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3534,7 +3853,7 @@ func (x *ListJobReq) String() string {
func (*ListJobReq) ProtoMessage() {}
func (x *ListJobReq) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[13]
mi := &file_slurm_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3547,7 +3866,7 @@ func (x *ListJobReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListJobReq.ProtoReflect.Descriptor instead.
func (*ListJobReq) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{13}
return file_slurm_proto_rawDescGZIP(), []int{14}
}
func (x *ListJobReq) GetUpdateTime() uint32 {
@ -3569,7 +3888,7 @@ type ListJobResp struct {
func (x *ListJobResp) Reset() {
*x = ListJobResp{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[14]
mi := &file_slurm_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3582,7 +3901,7 @@ func (x *ListJobResp) String() string {
func (*ListJobResp) ProtoMessage() {}
func (x *ListJobResp) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[14]
mi := &file_slurm_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3595,7 +3914,7 @@ func (x *ListJobResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListJobResp.ProtoReflect.Descriptor instead.
func (*ListJobResp) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{14}
return file_slurm_proto_rawDescGZIP(), []int{15}
}
func (x *ListJobResp) GetErrors() []*Error {
@ -3623,7 +3942,7 @@ type UpdateJobReq struct {
func (x *UpdateJobReq) Reset() {
*x = UpdateJobReq{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[15]
mi := &file_slurm_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3636,7 +3955,7 @@ func (x *UpdateJobReq) String() string {
func (*UpdateJobReq) ProtoMessage() {}
func (x *UpdateJobReq) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[15]
mi := &file_slurm_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3649,7 +3968,7 @@ func (x *UpdateJobReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateJobReq.ProtoReflect.Descriptor instead.
func (*UpdateJobReq) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{15}
return file_slurm_proto_rawDescGZIP(), []int{16}
}
func (x *UpdateJobReq) GetJobUpdate() *JobUpdate {
@ -3668,7 +3987,7 @@ type UpdateJobResp struct {
func (x *UpdateJobResp) Reset() {
*x = UpdateJobResp{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[16]
mi := &file_slurm_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3681,7 +4000,7 @@ func (x *UpdateJobResp) String() string {
func (*UpdateJobResp) ProtoMessage() {}
func (x *UpdateJobResp) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[16]
mi := &file_slurm_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3694,7 +4013,7 @@ func (x *UpdateJobResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateJobResp.ProtoReflect.Descriptor instead.
func (*UpdateJobResp) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{16}
return file_slurm_proto_rawDescGZIP(), []int{17}
}
type GetJobReq struct {
@ -3708,7 +4027,7 @@ type GetJobReq struct {
func (x *GetJobReq) Reset() {
*x = GetJobReq{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[17]
mi := &file_slurm_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3721,7 +4040,7 @@ func (x *GetJobReq) String() string {
func (*GetJobReq) ProtoMessage() {}
func (x *GetJobReq) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[17]
mi := &file_slurm_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3734,7 +4053,7 @@ func (x *GetJobReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetJobReq.ProtoReflect.Descriptor instead.
func (*GetJobReq) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{17}
return file_slurm_proto_rawDescGZIP(), []int{18}
}
func (x *GetJobReq) GetJobId() string {
@ -3755,7 +4074,7 @@ type GetJobResp struct {
func (x *GetJobResp) Reset() {
*x = GetJobResp{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[18]
mi := &file_slurm_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -3768,7 +4087,7 @@ func (x *GetJobResp) String() string {
func (*GetJobResp) ProtoMessage() {}
func (x *GetJobResp) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[18]
mi := &file_slurm_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -3781,7 +4100,7 @@ func (x *GetJobResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetJobResp.ProtoReflect.Descriptor instead.
func (*GetJobResp) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{18}
return file_slurm_proto_rawDescGZIP(), []int{19}
}
func (x *GetJobResp) GetJobs() *Jobs {
@ -3791,6 +4110,99 @@ func (x *GetJobResp) GetJobs() *Jobs {
return nil
}
type ListNodeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListNodeReq) Reset() {
*x = ListNodeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListNodeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListNodeReq) ProtoMessage() {}
func (x *ListNodeReq) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[20]
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 ListNodeReq.ProtoReflect.Descriptor instead.
func (*ListNodeReq) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{20}
}
type ListNodeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Errors []*Error `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
Nodes []*Node `protobuf:"bytes,2,rep,name=nodes,proto3" json:"nodes,omitempty"`
}
func (x *ListNodeResp) Reset() {
*x = ListNodeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_slurm_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListNodeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListNodeResp) ProtoMessage() {}
func (x *ListNodeResp) ProtoReflect() protoreflect.Message {
mi := &file_slurm_proto_msgTypes[21]
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 ListNodeResp.ProtoReflect.Descriptor instead.
func (*ListNodeResp) Descriptor() ([]byte, []int) {
return file_slurm_proto_rawDescGZIP(), []int{21}
}
func (x *ListNodeResp) GetErrors() []*Error {
if x != nil {
return x.Errors
}
return nil
}
func (x *ListNodeResp) GetNodes() []*Node {
if x != nil {
return x.Nodes
}
return nil
}
var File_slurm_proto protoreflect.FileDescriptor
var file_slurm_proto_rawDesc = []byte{
@ -4602,55 +5014,134 @@ var file_slurm_proto_rawDesc = []byte{
0x24, 0x0a, 0x0e, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65,
0x73, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6c, 0x6c,
0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x18, 0x47,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x22, 0x7a, 0x0a, 0x0c, 0x73,
0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72, 0x6f,
0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04,
0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6c, 0x75,
0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6d,
0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x06, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x6c, 0x75, 0x72,
0x6d, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12,
0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64, 0x12,
0x2d, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6a, 0x6f,
0x62, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2d,
0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x67, 0x0a,
0x0b, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x22, 0xce, 0x08, 0x0a, 0x04,
0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63,
0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68,
0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x62, 0x75, 0x72, 0x73,
0x74, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x62,
0x75, 0x72, 0x73, 0x74, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72,
0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73,
0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x1f, 0x0a,
0x0b, 0x63, 0x70, 0x75, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x0a, 0x63, 0x70, 0x75, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19,
0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x07, 0x63, 0x70, 0x75, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x65,
0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
0x66, 0x72, 0x65, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x70,
0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x70, 0x75, 0x73, 0x12, 0x1a,
0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63,
0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
0x72, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x72, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x67, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x73, 0x5f,
0x64, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67,
0x72, 0x65, 0x73, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72,
0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67,
0x72, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x63, 0x73, 0x5f, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x63, 0x73, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x6e, 0x65, 0x78, 0x74,
0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x62,
0x6f, 0x6f, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x53,
0x74, 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x15,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18,
0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18,
0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04,
0x70, 0x6f, 0x72, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74,
0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18,
0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1b,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f,
0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x42, 0x79, 0x55, 0x73,
0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x64, 0x5f, 0x73, 0x74, 0x61,
0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73,
0x6c, 0x75, 0x72, 0x6d, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65,
0x61, 0x64, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61,
0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f,
0x64, 0x69, 0x73, 0x6b, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70,
0x6f, 0x72, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69,
0x67, 0x68, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x64, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x6c, 0x75, 0x72, 0x6d, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x0c,
0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72,
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x29, 0x0a,
0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6c,
0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
0x65, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x0d, 0x73, 0x75, 0x62,
0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x06, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x6c, 0x75,
0x72, 0x6d, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73,
0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x70, 0x5f,
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x65, 0x70, 0x49, 0x64,
0x12, 0x2d, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6a,
0x6f, 0x62, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22,
0x2d, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x67,
0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a,
0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x40, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c,
0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x09,
0x6a, 0x6f, 0x62, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x22, 0x0a, 0x09, 0x67, 0x65,
0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x2d,
0x0a, 0x0a, 0x67, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04,
0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x6c, 0x75,
0x72, 0x6d, 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x0d, 0x0a,
0x0b, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x57, 0x0a, 0x0c,
0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x06,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73,
0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x40, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x75,
0x72, 0x6d, 0x2e, 0x6a, 0x6f, 0x62, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x09, 0x6a,
0x6f, 0x62, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x22, 0x0a, 0x09, 0x67, 0x65, 0x74,
0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x2d, 0x0a,
0x0a, 0x67, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6a,
0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x6c, 0x75, 0x72,
0x6d, 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x32, 0xa8, 0x01, 0x0a,
0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74,
0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x62, 0x6d,
0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d,
0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00,
0x12, 0x32, 0x0a, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x73, 0x6c,
0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12,
0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
0x73, 0x70, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11,
0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f,
0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72,
0x72, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x05,
0x6e, 0x6f, 0x64, 0x65, 0x73, 0x32, 0xdf, 0x01, 0x0a, 0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x12,
0x38, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x73,
0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74,
0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x07, 0x6c, 0x69, 0x73,
0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73,
0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e,
0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x31, 0x0a,
0x06, 0x67, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e,
0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x75,
0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00,
0x12, 0x35, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x2e, 0x73,
0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64,
0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72,
0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
@ -4666,7 +5157,7 @@ func file_slurm_proto_rawDescGZIP() []byte {
return file_slurm_proto_rawDescData
}
var file_slurm_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_slurm_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_slurm_proto_goTypes = []interface{}{
(*Error)(nil), // 0: slurm.error
(*Environment)(nil), // 1: slurm.Environment
@ -4679,14 +5170,17 @@ var file_slurm_proto_goTypes = []interface{}{
(*JobResponseProperties)(nil), // 8: slurm.job_response_properties
(*Jobs)(nil), // 9: slurm.Jobs
(*JobUpdate)(nil), // 10: slurm.job_update
(*SubmitJobReq)(nil), // 11: slurm.submitJobReq
(*SubmitJobResp)(nil), // 12: slurm.submitJobResp
(*ListJobReq)(nil), // 13: slurm.listJobReq
(*ListJobResp)(nil), // 14: slurm.listJobResp
(*UpdateJobReq)(nil), // 15: slurm.updateJobReq
(*UpdateJobResp)(nil), // 16: slurm.updateJobResp
(*GetJobReq)(nil), // 17: slurm.getJobReq
(*GetJobResp)(nil), // 18: slurm.getJobResp
(*Node)(nil), // 11: slurm.node
(*SubmitJobReq)(nil), // 12: slurm.submitJobReq
(*SubmitJobResp)(nil), // 13: slurm.submitJobResp
(*ListJobReq)(nil), // 14: slurm.listJobReq
(*ListJobResp)(nil), // 15: slurm.listJobResp
(*UpdateJobReq)(nil), // 16: slurm.updateJobReq
(*UpdateJobResp)(nil), // 17: slurm.updateJobResp
(*GetJobReq)(nil), // 18: slurm.getJobReq
(*GetJobResp)(nil), // 19: slurm.getJobResp
(*ListNodeReq)(nil), // 20: slurm.listNodeReq
(*ListNodeResp)(nil), // 21: slurm.listNodeResp
}
var file_slurm_proto_depIdxs = []int32{
2, // 0: slurm.Allocated_nodes.cpus:type_name -> slurm.Cpus
@ -4704,17 +5198,21 @@ var file_slurm_proto_depIdxs = []int32{
8, // 12: slurm.listJobResp.jobs:type_name -> slurm.job_response_properties
10, // 13: slurm.updateJobReq.job_update:type_name -> slurm.job_update
9, // 14: slurm.getJobResp.jobs:type_name -> slurm.Jobs
11, // 15: slurm.slurm.submitJob:input_type -> slurm.submitJobReq
13, // 16: slurm.slurm.listJob:input_type -> slurm.listJobReq
13, // 17: slurm.slurm.getJob:input_type -> slurm.listJobReq
12, // 18: slurm.slurm.submitJob:output_type -> slurm.submitJobResp
14, // 19: slurm.slurm.listJob:output_type -> slurm.listJobResp
14, // 20: slurm.slurm.getJob:output_type -> slurm.listJobResp
18, // [18:21] is the sub-list for method output_type
15, // [15:18] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
0, // 15: slurm.listNodeResp.errors:type_name -> slurm.error
11, // 16: slurm.listNodeResp.nodes:type_name -> slurm.node
12, // 17: slurm.slurm.submitJob:input_type -> slurm.submitJobReq
14, // 18: slurm.slurm.listJob:input_type -> slurm.listJobReq
14, // 19: slurm.slurm.getJob:input_type -> slurm.listJobReq
20, // 20: slurm.slurm.listNode:input_type -> slurm.listNodeReq
13, // 21: slurm.slurm.submitJob:output_type -> slurm.submitJobResp
15, // 22: slurm.slurm.listJob:output_type -> slurm.listJobResp
15, // 23: slurm.slurm.getJob:output_type -> slurm.listJobResp
21, // 24: slurm.slurm.listNode:output_type -> slurm.listNodeResp
21, // [21:25] is the sub-list for method output_type
17, // [17:21] is the sub-list for method input_type
17, // [17:17] is the sub-list for extension type_name
17, // [17:17] is the sub-list for extension extendee
0, // [0:17] is the sub-list for field type_name
}
func init() { file_slurm_proto_init() }
@ -4856,7 +5354,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitJobReq); i {
switch v := v.(*Node); i {
case 0:
return &v.state
case 1:
@ -4868,7 +5366,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitJobResp); i {
switch v := v.(*SubmitJobReq); i {
case 0:
return &v.state
case 1:
@ -4880,7 +5378,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListJobReq); i {
switch v := v.(*SubmitJobResp); i {
case 0:
return &v.state
case 1:
@ -4892,7 +5390,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListJobResp); i {
switch v := v.(*ListJobReq); i {
case 0:
return &v.state
case 1:
@ -4904,7 +5402,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateJobReq); i {
switch v := v.(*ListJobResp); i {
case 0:
return &v.state
case 1:
@ -4916,7 +5414,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateJobResp); i {
switch v := v.(*UpdateJobReq); i {
case 0:
return &v.state
case 1:
@ -4928,7 +5426,7 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetJobReq); i {
switch v := v.(*UpdateJobResp); i {
case 0:
return &v.state
case 1:
@ -4940,6 +5438,18 @@ func file_slurm_proto_init() {
}
}
file_slurm_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetJobReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_slurm_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetJobResp); i {
case 0:
return &v.state
@ -4951,6 +5461,30 @@ func file_slurm_proto_init() {
return nil
}
}
file_slurm_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListNodeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_slurm_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListNodeResp); 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{
@ -4958,7 +5492,7 @@ func file_slurm_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_slurm_proto_rawDesc,
NumEnums: 0,
NumMessages: 19,
NumMessages: 22,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -25,6 +25,7 @@ type SlurmClient interface {
SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error)
ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error)
}
type slurmClient struct {
@ -62,6 +63,15 @@ func (c *slurmClient) GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.C
return out, nil
}
func (c *slurmClient) ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error) {
out := new(ListNodeResp)
err := c.cc.Invoke(ctx, "/slurm.slurm/listNode", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// SlurmServer is the server API for Slurm service.
// All implementations must embed UnimplementedSlurmServer
// for forward compatibility
@ -69,6 +79,7 @@ type SlurmServer interface {
SubmitJob(context.Context, *SubmitJobReq) (*SubmitJobResp, error)
ListJob(context.Context, *ListJobReq) (*ListJobResp, error)
GetJob(context.Context, *ListJobReq) (*ListJobResp, error)
ListNode(context.Context, *ListNodeReq) (*ListNodeResp, error)
mustEmbedUnimplementedSlurmServer()
}
@ -85,6 +96,9 @@ func (UnimplementedSlurmServer) ListJob(context.Context, *ListJobReq) (*ListJobR
func (UnimplementedSlurmServer) GetJob(context.Context, *ListJobReq) (*ListJobResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetJob not implemented")
}
func (UnimplementedSlurmServer) ListNode(context.Context, *ListNodeReq) (*ListNodeResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListNode not implemented")
}
func (UnimplementedSlurmServer) mustEmbedUnimplementedSlurmServer() {}
// UnsafeSlurmServer may be embedded to opt out of forward compatibility for this service.
@ -152,6 +166,24 @@ func _Slurm_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interf
return interceptor(ctx, in, info, handler)
}
func _Slurm_ListNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListNodeReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SlurmServer).ListNode(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/slurm.slurm/listNode",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SlurmServer).ListNode(ctx, req.(*ListNodeReq))
}
return interceptor(ctx, in, info, handler)
}
// Slurm_ServiceDesc is the grpc.ServiceDesc for Slurm service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@ -171,6 +203,10 @@ var Slurm_ServiceDesc = grpc.ServiceDesc{
MethodName: "getJob",
Handler: _Slurm_GetJob_Handler,
},
{
MethodName: "listNode",
Handler: _Slurm_ListNode_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "slurm.proto",

View File

@ -27,6 +27,9 @@ type (
Jobs = slurm.Jobs
ListJobReq = slurm.ListJobReq
ListJobResp = slurm.ListJobResp
ListNodeReq = slurm.ListNodeReq
ListNodeResp = slurm.ListNodeResp
Node = slurm.Node
Sockets = slurm.Sockets
SubmitJobReq = slurm.SubmitJobReq
SubmitJobResp = slurm.SubmitJobResp
@ -37,6 +40,7 @@ type (
SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error)
ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error)
}
defaultSlurm struct {
@ -64,3 +68,8 @@ func (m *defaultSlurm) GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.
client := slurm.NewSlurmClient(m.cli.Conn())
return client.GetJob(ctx, in, opts...)
}
func (m *defaultSlurm) ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error) {
client := slurm.NewSlurmClient(m.cli.Conn())
return client.ListNode(ctx, in, opts...)
}