forked from JointCloud/pcm-hpc
re-constructure
This commit is contained in:
parent
6d1687e463
commit
cbb03b6933
|
@ -0,0 +1,325 @@
|
|||
### 一 、基础配置(所有机器均执行)
|
||||
|
||||
#### 关闭防火墙
|
||||
```
|
||||
systemctl stop firewalld
|
||||
systemctl disable firewalld
|
||||
sed -i -e 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
|
||||
setenforce 0
|
||||
```
|
||||
|
||||
#### 设置主机名
|
||||
|
||||
```
|
||||
hostname slurm-122
|
||||
hostname slurm-123
|
||||
hostname slurm-124
|
||||
hostname slurm-125
|
||||
```
|
||||
|
||||
#### 设置hosts,重启生效
|
||||
|
||||
```
|
||||
vim /etc/hosts
|
||||
192.168.249.122 slurm-122
|
||||
192.168.249.123 slurm-123
|
||||
192.168.249.124 slurm-124
|
||||
192.168.249.125 slurm-125
|
||||
reboot
|
||||
```
|
||||
|
||||
#### 配置SSH免登陆(控制节点上边执行)
|
||||
|
||||
```
|
||||
echo y| ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
|
||||
ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@slurm-123
|
||||
ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@slurm-124
|
||||
ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@slurm-125
|
||||
```
|
||||
|
||||
#### 安装依赖软件
|
||||
```
|
||||
|
||||
yum -y install net-tools wget vim ntpdate chrony htop glances nfs-utils rpcbind python32
|
||||
```
|
||||
|
||||
### 二 、配置Munge(所有机器均执行)
|
||||
|
||||
#### 安装epel-release
|
||||
|
||||
```
|
||||
yum install -y epel-release
|
||||
```
|
||||
#### 安装munge
|
||||
|
||||
```
|
||||
yum install munge munge-libs munge-devel -y
|
||||
```
|
||||
#### 创建全局密钥(控制节点上面执行)
|
||||
|
||||
```
|
||||
create-munge-key
|
||||
```
|
||||
|
||||
#### 密钥同步到所有计算节点(控制节点上面执行)
|
||||
|
||||
```
|
||||
scp -p /etc/munge/munge.key root@slurm-123:/etc/munge
|
||||
scp -p /etc/munge/munge.key root@slurm-124:/etc/munge
|
||||
scp -p /etc/munge/munge.key root@slurm-125:/etc/munge
|
||||
```
|
||||
|
||||
#### 计算节点上面执行
|
||||
```
|
||||
chown munge: /etc/munge/munge.key
|
||||
chmod 400 /etc/munge/munge.key
|
||||
```
|
||||
|
||||
#### 启动所有节点
|
||||
|
||||
```
|
||||
systemctl restart munge
|
||||
systemctl enable munge
|
||||
systemctl status munge
|
||||
```
|
||||
测试Munge服务,每个计算节点与控制节点进行连接验证
|
||||
|
||||
```
|
||||
#本地查看凭据
|
||||
munge -n
|
||||
#本地解码
|
||||
munge -n | unmunge
|
||||
#验证compute node,远程解码
|
||||
munge -n | ssh slurm-123 unmunge
|
||||
#Munge凭证基准测试
|
||||
remunge
|
||||
```
|
||||
|
||||
### 三 、配置Slurm(所有机器均执行)
|
||||
|
||||
#### 创建Slurm用户
|
||||
|
||||
```
|
||||
groupadd -g 1109 slurm
|
||||
useradd -m -c "Slurm manager" -d /var/lib/slurm -u 1109 -g slurm -s /bin/bash slurm
|
||||
```
|
||||
#### 安装Slurm依赖
|
||||
|
||||
```
|
||||
yum install gcc gcc-c++ readline-devel perl-ExtUtils-MakeMaker pam-devel rpm-build mysql-devel http-parser-devel json-c-devel libjwt libjwt-devel -y
|
||||
```
|
||||
|
||||
#### 编译Slurm和安装Slurm
|
||||
|
||||
|
||||
```
|
||||
# 下载地址
|
||||
|
||||
wget https://download.schedmd.com/slurm/slurm-22.05.3.tar.bz2
|
||||
|
||||
rpmbuild -ta --with mysql --with slurmrestd --with jwt slurm-22.05.3.tar.bz2
|
||||
cd /root/rpmbuild/RPMS/x86_64/
|
||||
yum localinstall -y slurm-*
|
||||
```
|
||||
|
||||
#### 配置控制节点Slurm (控制节点上执行)
|
||||
```
|
||||
#控制节点上面执行
|
||||
cp /etc/slurm/cgroup.conf.example /etc/slurm/cgroup.conf
|
||||
cp /etc/slurm/slurm.conf.example /etc/slurm/slurm.conf
|
||||
```
|
||||
参考官网: https://slurm.schedmd.com/quickstart_admin.html
|
||||
|
||||
ControlMachine 改为控制节点的名称
|
||||
ControlAddr 改为控制节点的 IP
|
||||
NodeName 改为控制节点的名称,计算节点名称
|
||||
Nodes 改为计算节点的名称
|
||||
```
|
||||
ClusterName=Cluster-nudt
|
||||
SlurmctldHost=slurm-122
|
||||
SlurmctldParameters=enable_configless
|
||||
SlurmUser=slurm
|
||||
#SlurmdUser=root
|
||||
SlurmctldPort=6817
|
||||
SlurmdPort=6818
|
||||
StateSaveLocation=/var/spool/slurmctld
|
||||
SlurmdSpoolDir=/var/spool/slurmd
|
||||
ReturnToService=1
|
||||
MPIDefault=None
|
||||
ProctrackType=proctrack/cgroup
|
||||
SchedulerType=sched/backfill
|
||||
SelectType=select/cons_tres
|
||||
SelectTypeParameters=CR_Core_Memory
|
||||
TaskPlugin=task/cgroup,task/affinity
|
||||
SlurmctldDebug=info
|
||||
SlurmctldLogFile=/var/log/slurm/slurmctld.log
|
||||
SlurmdDebug=info
|
||||
SlurmdLogFile=/var/log/slurm/slurmd.log
|
||||
JobCompType=jobcomp/mysql
|
||||
JobCompHost=localhost
|
||||
JobCompUser=slurm
|
||||
JobCompPass=Slm123P@88
|
||||
JobAcctGatherType=jobacct_gather/linux
|
||||
JobAcctGatherFrequency=30
|
||||
AccountingStorageType=accounting_storage/slurmdbd
|
||||
AccountingStorageHost=localhost
|
||||
AccountingStorageTRES=gres/gpu
|
||||
GresTypes=gpu
|
||||
SlurmctldPidFile=/var/run/slurmctld.pid
|
||||
SlurmdPidFile=/var/run/slurmd.pid
|
||||
SlurmctldTimeout=120
|
||||
SlurmdTimeout=300
|
||||
InactiveLimit=0
|
||||
MinJobAge=300
|
||||
KillWait=30
|
||||
WaitTime=0
|
||||
AuthAltTypes=auth/jwt
|
||||
AuthAltParameters=jwt_key=/var/spool/slurm/ctld/jwt_hs256.key
|
||||
NodeName=slurm-[122-125] Gres=gpu:v100:4 CPUs=16 Boards=1 SocketsPerBoard=2 CoresPerSocket=8 ThreadsPerCore=1 RealMemory=257604 State=UNKNOWN
|
||||
PartitionName=compute Nodes=slurm-[122-125] Default=YES MaxTime=INFINITE State=UP
|
||||
```
|
||||
#### 复制控制节点配置文件到计算节点(控制节点上面执行)
|
||||
```
|
||||
scp /etc/slurm/*.conf slurm-123:/etc/slurm/
|
||||
scp /etc/slurm/*.conf slurm-124:/etc/slurm/
|
||||
scp /etc/slurm/*.conf slurm-125:/etc/slurm/
|
||||
```
|
||||
#### 设置控制、计算节点文件权限
|
||||
|
||||
```
|
||||
mkdir -p /var/spool/slurm
|
||||
chown slurm: /var/spool/slurm
|
||||
mkdir -p /var/log/slurm
|
||||
chown slurm: /var/log/slurm
|
||||
```
|
||||
### 四 、搭建slurmdbd环境
|
||||
使用默认mariadb
|
||||
#### 配置数据库账号
|
||||
```
|
||||
# 生成slurm用户,以便该用户操作slurm_acct_db数据库,其密码是SomePassWD
|
||||
create user 'slurm'@'localhost' identified by 'SomePassWD';
|
||||
|
||||
# 生成账户数据库slurm_acct_db
|
||||
create database slurm_acct_db;
|
||||
|
||||
# 赋予slurm从本机localhost采用密码SomePassWD登录具备操作slurm_acct_db数据下所有表的全部权限
|
||||
grant all on slurm_acct_db.* TO 'slurm'@'localhost' identified by 'SomePassWD' with grant option;
|
||||
|
||||
# 赋予slurm从system0采用密码SomePassWD登录具备操作slurm_acct_db数据下所有表的全部权限
|
||||
grant all on slurm_acct_db.* TO 'slurm'@'system0' identified by 'SomePassWD' with
|
||||
grant option;
|
||||
|
||||
# 生成作业信息数据库slurm_jobcomp_db
|
||||
create database slurm_jobcomp_db;
|
||||
|
||||
# 赋予slurm从本机localhost采用密码SomePassWD登录具备操作slurm_jobcomp_db数据下所有表的全部权限
|
||||
grant all on slurm_jobcomp_db.* TO 'slurm'@'localhost' identified by 'SomePassWD' with grant option;
|
||||
|
||||
# 赋予slurm从system0采用密码SomePassWD登录具备操作slurm_jobcomp_db数据下所有表的全部权限
|
||||
grant all on slurm_jobcomp_db.* TO 'slurm'@'system0' identified by 'SomePassWD'
|
||||
with grant option;
|
||||
```
|
||||
#### 配置slurmdbd.conf文件
|
||||
DbdAddr 控制节点 IP
|
||||
DbdHos 控制节点 主机名
|
||||
StorageHost 计算节点 IP
|
||||
StorageUser 计算节点 主机名
|
||||
StorageUser 创建的用户 #slurm
|
||||
StoragePass mysql 登录密码
|
||||
StorageLoc slurm_acct_db #db名,slurmdbd会自动创建db
|
||||
StoragePort mysql 端口号
|
||||
```
|
||||
AuthType=auth/munge
|
||||
AuthInfo=/var/run/munge/munge.socket.2
|
||||
DbdHost=localhost
|
||||
DbdAddr=127.0.0.1
|
||||
SlurmUser=slurm
|
||||
MessageTimeout=60
|
||||
DebugLevel=debug5
|
||||
DefaultQOS=normal
|
||||
LogFile=/var/log/slurm/slurmdbd.log
|
||||
PidFile=/var/run/slurmdbd.pid
|
||||
StorageType=accounting_storage/mysql
|
||||
StorageHost=localhost
|
||||
StorageLoc=slurm_acct_db
|
||||
StoragePort=3306
|
||||
StorageUser=slurm
|
||||
StoragePass=Slm123P@88
|
||||
AuthAltTypes=auth/jwt
|
||||
AuthAltParameters=jwt_key=/var/spool/slurm/ctld/jwt_hs256.key
|
||||
```
|
||||
#### 添加JWT键到控制器
|
||||
|
||||
```
|
||||
mkdir -p /var/spool/slurm/ctld
|
||||
|
||||
dd if=/dev/random of=/var/spool/slurm/ctld/jwt_hs256.key bs=32 count=1
|
||||
chown slurm:slurm /var/spool/slurm/ctld/jwt_hs256.key
|
||||
chmod 0600 /var/spool/slurm/ctld/jwt_hs256.key
|
||||
# chown root:root /etc/slurm
|
||||
chmod 0755 /var/spool/slurm/ctld
|
||||
chown slurm:slurm /var/spool/slurm/ctld
|
||||
```
|
||||
#### 启动服务
|
||||
```
|
||||
# 启动控制节点Slurmdbd服务
|
||||
systemctl restart slurmdbd
|
||||
systemctl enable slurmdbd
|
||||
systemctl status slurmdbd
|
||||
|
||||
# 启动控制节点slurmctld服务
|
||||
systemctl restart slurmctld
|
||||
systemctl enable slurmctld
|
||||
systemctl status slurmctld
|
||||
|
||||
# 启动计算节点的服务
|
||||
systemctl restart slurmd
|
||||
systemctl enable slurmd
|
||||
systemctl status slurmd
|
||||
```
|
||||
### 安装slurmrestd
|
||||
添加slurmrestd用户
|
||||
```
|
||||
useradd slurmrestd
|
||||
```
|
||||
修改 /lib/systemd/system/slurmrestd.service
|
||||
```
|
||||
[Unit]
|
||||
Description=Slurm REST daemon
|
||||
After=network-online.target munge.service slurmctld.service
|
||||
Wants=network-online.target
|
||||
ConditionPathExists=/etc/slurm/slurm.conf
|
||||
Documentation=man:slurmrestd(8)
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# 用户不能root,不能slurmUser
|
||||
User=slurmrestd
|
||||
EnvironmentFile=-/etc/default/slurmrestd
|
||||
# Default to local auth via socket
|
||||
# ExecStart=/usr/sbin/slurmrestd $SLURMRESTD_OPTIONS unix:/run/slurmrestd.socket
|
||||
# Uncomment to enable listening mode
|
||||
Environment="SLURM_JWT=daemon"
|
||||
ExecStart=/usr/sbin/slurmrestd $SLURMRESTD_OPTIONS 0.0.0.0:6820
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
重载服务
|
||||
```
|
||||
systemctl daemon-reload
|
||||
```
|
||||
启动slurmrestd
|
||||
```
|
||||
systemctl enable slurmrestd.service
|
||||
systemctl start slurmrestd.service
|
||||
systemctl status slurmrestd.service
|
||||
```
|
||||
获取token
|
||||
```
|
||||
scontrol token username=slurmrestd
|
||||
SLURM_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTgyMDYxOTMsImlhdCI6MTY5ODIwNDM5Mywic3VuIjoiIn0.mbmwfbBVwez8_C7QOhgqWgi-ZYMU3FuSzGsfyrlokvQ
|
||||
```
|
||||
|
||||
postman请求rest服务即可,在header信息中添加X-SLURM-USER-NAME和X-SLURM-USER-TOKEN两个参数
|
||||
![输入图片说明](/imgs/2023-10-25/WlXDhHmIjgIvxZ6H.png)
|
|
@ -5,6 +5,39 @@ PcmCoreRpcConf:
|
|||
Endpoints:
|
||||
- 0.0.0.0:2004
|
||||
NonBlock: true
|
||||
ClusterUrl: localhost
|
||||
RestUrl: http://192.168.249.122:6820
|
||||
SSH:
|
||||
Url: 192.168.249.122:22
|
||||
Username: root
|
||||
Password: Nscc@2022.com
|
||||
Path:
|
||||
Job: /slurm/v0.0.38/job
|
||||
Jobs: /slurm/v0.0.38/jobs
|
||||
JobDb: /slurmdb/v0.0.38/job
|
||||
JobsDb: /slurmdb/v0.0.38/jobs
|
||||
User: /slurmdb/v0.0.38/user
|
||||
Users: /slurmdb/v0.0.38/users
|
||||
Partition: /slurm/v0.0.38/partition
|
||||
Partitions: /slurm/v0.0.38/partition
|
||||
Node: /slurm/v0.0.38/node
|
||||
Nodes: /slurm/v0.0.38/nodes
|
||||
Reservation: /slurm/v0.0.38/reservation
|
||||
Reservations: /slurm/v0.0.38/reservations
|
||||
Config: /slurmdb/v0.0.38/config
|
||||
Qos: /slurmdb/v0.0.38/qos
|
||||
Tres: /slurmdb/v0.0.38/tres
|
||||
Account: /slurmdb/v0.0.38/account
|
||||
Accounts: /slurmdb/v0.0.38/accounts
|
||||
Cluster: /slurmdb/v0.0.38/cluster
|
||||
Clusters: /slurmdb/v0.0.38/clusters
|
||||
Wckey: /slurmdb/v0.0.38/wckey
|
||||
Wckeys: /slurmdb/v0.0.38/wckeys
|
||||
Diagnostics: /slurm/v0.0.38/diag
|
||||
DiagnosticsDb: /slurmdb/v0.0.38/diag
|
||||
Ping: /slurm/v0.0.38/ping
|
||||
Association: /slurmdb/v0.0.38/association
|
||||
Associations: /slurmdb/v0.0.38/associations
|
||||
|
||||
SlurmRestUser: slurmrestd
|
||||
SlurmToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTg3NjQyMDksImlhdCI6MTY5ODc2MjQwOSwic3VuIjoic2x1cm1yZXN0ZCJ9.AYLFxTA_9bIuxMTZBCe4qctfbMB65A1x57bN19y5P4k
|
||||
ParticipantId: 1706858330967773184
|
7
go.mod
7
go.mod
|
@ -10,10 +10,9 @@ require (
|
|||
github.com/zeromicro/go-zero v1.5.4
|
||||
gitlink.org.cn/jcce-pcm/pcm-coordinator v0.1.7-0.20230828070533-7721b3b6ff0d
|
||||
gitlink.org.cn/jcce-pcm/utils v0.0.2
|
||||
golang.org/x/crypto v0.11.0
|
||||
google.golang.org/grpc v1.57.0
|
||||
google.golang.org/protobuf v1.31.0
|
||||
k8s.io/apimachinery v0.27.3
|
||||
k8s.io/client-go v0.26.3
|
||||
)
|
||||
|
||||
require (
|
||||
|
@ -52,7 +51,7 @@ require (
|
|||
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.17 // indirect
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
|
@ -97,6 +96,8 @@ require (
|
|||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
k8s.io/api v0.26.3 // indirect
|
||||
k8s.io/apimachinery v0.27.3 // indirect
|
||||
k8s.io/client-go v0.26.3 // indirect
|
||||
k8s.io/klog/v2 v2.90.1 // indirect
|
||||
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
|
||||
k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
|
||||
|
|
7
go.sum
7
go.sum
|
@ -253,8 +253,8 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
|
|||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
|
||||
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
||||
|
@ -406,6 +406,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U
|
|||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
|
||||
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
|
@ -534,6 +536,7 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
|
||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
|
|
|
@ -12,7 +12,46 @@ type Config struct {
|
|||
SlurmConf
|
||||
}
|
||||
|
||||
type SSH struct {
|
||||
Url string
|
||||
Username string
|
||||
Password string
|
||||
}
|
||||
|
||||
type Path struct {
|
||||
Job string
|
||||
Jobs string
|
||||
JobDb string
|
||||
JobsDb string
|
||||
User string
|
||||
Users string
|
||||
Partition string
|
||||
Partitions string
|
||||
Node string
|
||||
Nodes string
|
||||
Reservation string
|
||||
Reservations string
|
||||
Config string
|
||||
Qos string
|
||||
Tres string
|
||||
Account string
|
||||
Accounts string
|
||||
Cluster string
|
||||
Clusters string
|
||||
Wckey string
|
||||
Wckeys string
|
||||
Diagnostics string
|
||||
DiagnosticsDb string
|
||||
Ping string
|
||||
Association string
|
||||
Associations string
|
||||
}
|
||||
|
||||
// SlurmConf slurm 相关URL配置
|
||||
type SlurmConf struct {
|
||||
ClusterUrl string `json:"ClusterUrl"`
|
||||
RestUrl string `json:"RestUrl"`
|
||||
SSH SSH `json:"SSH"`
|
||||
Path Path `json:"Path"`
|
||||
SlurmRestUser string `json:"SlurmRestUser"`
|
||||
SlurmToken string `json:"SlurmToken"`
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 AddClusterLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewAddClusterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddClusterLogic {
|
||||
return &AddClusterLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *AddClusterLogic) AddCluster(in *slurm.AddClusterReq) (*slurm.AddClusterResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.AddClusterResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 AddWckeyLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewAddWckeyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddWckeyLogic {
|
||||
return &AddWckeyLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *AddWckeyLogic) AddWckey(in *slurm.AddWckeyReq) (*slurm.AddWckeyResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.AddWckeyResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 CancelJobLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCancelJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CancelJobLogic {
|
||||
return &CancelJobLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *CancelJobLogic) CancelJob(in *slurm.CancelJobReq) (*slurm.CancelJobResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.CancelJobResp{}, nil
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/jinzhu/copier"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/client/pcmcore"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurm"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
)
|
||||
|
||||
func InitCron(svc *svc.ServiceContext) {
|
||||
svc.Cron.Start()
|
||||
submitJobLogic := NewSubmitJobLogic(context.Background(), svc)
|
||||
listLogic := NewListJobLogic(context.Background(), svc)
|
||||
svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
||||
|
||||
// 查询core端分发下来的任务列表
|
||||
infoReq := pcmcore.InfoListReq{
|
||||
Kind: "hpc",
|
||||
}
|
||||
infoList, err := svc.PcmCoreRpc.InfoList(context.Background(), &infoReq)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return
|
||||
}
|
||||
// 提交任务
|
||||
submitJob(infoList, submitJobLogic)
|
||||
// 查询运行中的任务列表同步信息
|
||||
listReq := slurm.ListJobReq{}
|
||||
listJob, err := listLogic.ListJob(&listReq)
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
return
|
||||
}
|
||||
for index, _ := range infoList.HpcInfoList {
|
||||
for _, job := range listJob.Jobs {
|
||||
if job.Name == infoList.HpcInfoList[index].Name {
|
||||
copier.CopyWithOption(&infoList.HpcInfoList[index], job, copier.Option{Converters: tool.Converters})
|
||||
infoList.HpcInfoList[index].JobId = job.JobId
|
||||
infoList.HpcInfoList[index].StartTime = string(job.StartTime)
|
||||
infoList.HpcInfoList[index].RunningTime = int64(job.EndTime - job.StartTime)
|
||||
infoList.HpcInfoList[index].Status = job.JobState
|
||||
infoList.HpcInfoList[index].Version = "slurm 2.6.9"
|
||||
}
|
||||
}
|
||||
}
|
||||
// 同步信息到core端
|
||||
if len(infoList.HpcInfoList) != 0 {
|
||||
syncInfoReq := pcmcore.SyncInfoReq{
|
||||
Kind: "hpc",
|
||||
HpcInfoList: infoList.HpcInfoList,
|
||||
}
|
||||
svc.PcmCoreRpc.SyncInfo(context.Background(), &syncInfoReq)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func submitJob(infoList *pcmcore.InfoListResp, submitJobLogic *SubmitJobLogic) {
|
||||
for index, _ := range infoList.HpcInfoList {
|
||||
if infoList.HpcInfoList[index].Status == "Saved" {
|
||||
submitReq := slurm.SubmitJobReq{
|
||||
Script: "",
|
||||
Job: nil,
|
||||
Jobs: nil,
|
||||
}
|
||||
jobResult, _ := submitJobLogic.SubmitJob(&submitReq)
|
||||
// 任务提交成功
|
||||
infoList.HpcInfoList[index].Status = "Pending"
|
||||
infoList.HpcInfoList[index].JobId = string(jobResult.JobId)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteAccountLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteAccountLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteAccountLogic {
|
||||
return &DeleteAccountLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteAccountLogic) DeleteAccount(in *slurm.DeleteAccountReq) (*slurm.DeleteAccountResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteAccountResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteAssociationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteAssociationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteAssociationLogic {
|
||||
return &DeleteAssociationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteAssociationLogic) DeleteAssociation(in *slurm.DeleteAssociationReq) (*slurm.DeleteAssociationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteAssociationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteClusterLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteClusterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteClusterLogic {
|
||||
return &DeleteClusterLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteClusterLogic) DeleteCluster(in *slurm.DeleteClusterReq) (*slurm.DeleteClusterResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteClusterResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteQosLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteQosLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteQosLogic {
|
||||
return &DeleteQosLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteQosLogic) DeleteQos(in *slurm.DeleteQosReq) (*slurm.DeleteQosResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteQosResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteUserLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteUserLogic {
|
||||
return &DeleteUserLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteUserLogic) DeleteUser(in *slurm.DeleteUserReq) (*slurm.DeleteUserResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteUserResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DeleteWckeyLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDeleteWckeyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteWckeyLogic {
|
||||
return &DeleteWckeyLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteWckeyLogic) DeleteWckey(in *slurm.DeleteWckeyReq) (*slurm.DeleteWckeyResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DeleteWckeyResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 DumpConfigurationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewDumpConfigurationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DumpConfigurationLogic {
|
||||
return &DumpConfigurationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DumpConfigurationLogic) DumpConfiguration(in *slurm.DumpConfigurationReq) (*slurm.DumpConfigurationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.DumpConfigurationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetAccountLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetAccountLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAccountLogic {
|
||||
return &GetAccountLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetAccountLogic) GetAccount(in *slurm.GetAccountReq) (*slurm.GetAccountResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetAccountResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetAssociationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetAssociationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAssociationLogic {
|
||||
return &GetAssociationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetAssociationLogic) GetAssociation(in *slurm.GetAssociationReq) (*slurm.GetAssociationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetAssociationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetClusterLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetClusterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetClusterLogic {
|
||||
return &GetClusterLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetClusterLogic) GetCluster(in *slurm.GetClusterReq) (*slurm.GetClusterResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetClusterResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetDbDiagnosticsLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetDbDiagnosticsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDbDiagnosticsLogic {
|
||||
return &GetDbDiagnosticsLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetDbDiagnosticsLogic) GetDbDiagnostics(in *slurm.ListDbDiagnosticsReq) (*slurm.ListDbDiagnosticsResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListDbDiagnosticsResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetDiagnosticsLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetDiagnosticsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDiagnosticsLogic {
|
||||
return &GetDiagnosticsLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetDiagnosticsLogic) GetDiagnostics(in *slurm.ListDiagnosticsReq) (*slurm.ListDiagnosticsResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListDiagnosticsResp{}, nil
|
||||
}
|
|
@ -23,8 +23,8 @@ func NewGetJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetJobLogi
|
|||
}
|
||||
}
|
||||
|
||||
func (l *GetJobLogic) GetJob(in *slurm.ListJobReq) (*slurm.ListJobResp, error) {
|
||||
func (l *GetJobLogic) GetJob(in *slurm.GetJobReq) (*slurm.GetJobResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListJobResp{}, nil
|
||||
return &slurm.GetJobResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetNodeLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetNodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetNodeLogic {
|
||||
return &GetNodeLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetNodeLogic) GetNode(in *slurm.GetNodeReq) (*slurm.GetNodeResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetNodeResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetPartitionLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetPartitionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetPartitionLogic {
|
||||
return &GetPartitionLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetPartitionLogic) GetPartition(in *slurm.GetPartitionReq) (*slurm.GetPartitionResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetPartitionResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetQosLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetQosLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetQosLogic {
|
||||
return &GetQosLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetQosLogic) GetQos(in *slurm.GetQosReq) (*slurm.GetQosResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetQosResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetReservationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetReservationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetReservationLogic {
|
||||
return &GetReservationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetReservationLogic) GetReservation(in *slurm.GetReservationReq) (*slurm.GetReservationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetReservationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetUserLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetUserLogic {
|
||||
return &GetUserLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetUserLogic) GetUser(in *slurm.GetUserReq) (*slurm.GetUserResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetUserResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 GetWckeyLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewGetWckeyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetWckeyLogic {
|
||||
return &GetWckeyLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetWckeyLogic) GetWckey(in *slurm.GetWckeyReq) (*slurm.GetWckeyResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.GetWckeyResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListAccountLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListAccountLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListAccountLogic {
|
||||
return &ListAccountLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListAccountLogic) ListAccount(in *slurm.ListAccountReq) (*slurm.ListAccountResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListAccountResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListAssociationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListAssociationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListAssociationLogic {
|
||||
return &ListAssociationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListAssociationLogic) ListAssociation(in *slurm.ListAssociationReq) (*slurm.ListAssociationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListAssociationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
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 ListClusterLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListClusterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListClusterLogic {
|
||||
return &ListClusterLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListClusterLogic) ListCluster(in *slurm.ListClusterReq) (*slurm.ListClusterResp, error) {
|
||||
var listClusterResp slurm.ListClusterResp
|
||||
slurmHttpRequest := tool.GetACHttpRequest()
|
||||
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).
|
||||
SetHeader("X-SLURM-USER-NAME", l.svcCtx.Config.SlurmRestUser).
|
||||
SetHeader("X-SLURM-USER-TOKEN", l.svcCtx.Config.SlurmToken).
|
||||
SetResult(&listClusterResp).Get(l.svcCtx.Config.RestUrl + l.svcCtx.Config.Path.Clusters)
|
||||
return &listClusterResp, nil
|
||||
}
|
|
@ -2,10 +2,12 @@ package logic
|
|||
|
||||
import (
|
||||
"context"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"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"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type ListJobLogic struct {
|
||||
|
@ -22,14 +24,13 @@ func NewListJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListJobLo
|
|||
}
|
||||
}
|
||||
|
||||
// ListJob list all jobs
|
||||
func (l *ListJobLogic) ListJob(in *slurm.ListJobReq) (*slurm.ListJobResp, error) {
|
||||
|
||||
var listJobResp slurm.ListJobResp
|
||||
url := "http://127.0.0.1:4523/m1/1136481-0-default/slurm/v0.0.37/jobs"
|
||||
url := "http://192.168.249.122:6820/slurm/v0.0.38/nodes"
|
||||
slurmHttpRequest := tool.GetACHttpRequest()
|
||||
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).SetPathParams(map[string]string{
|
||||
"update_time": "1",
|
||||
}).SetResult(&listJobResp).Get(url)
|
||||
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).
|
||||
SetHeader("X-SLURM-USER-NAME", "slurmrestd").
|
||||
SetHeader("X-SLURM-USER-TOKEN", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTg3MjA2NzUsImlhdCI6MTY5ODcxODg3NSwic3VuIjoic2x1cm1yZXN0ZCJ9.SjQyf-Ht-kNPNYZSQ1HadWyy3lr-mNO3sfoZPiBoqBY").
|
||||
SetResult(&listJobResp).Get(url)
|
||||
return &listJobResp, nil
|
||||
}
|
|
@ -26,8 +26,10 @@ func NewListNodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListNode
|
|||
|
||||
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)
|
||||
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).
|
||||
SetHeader("X-SLURM-USER-NAME", l.svcCtx.Config.SlurmRestUser).
|
||||
SetHeader("X-SLURM-USER-TOKEN", l.svcCtx.Config.SlurmToken).
|
||||
SetResult(&listNodeResp).Get(l.svcCtx.Config.RestUrl + l.svcCtx.Config.Path.Nodes)
|
||||
return &listNodeResp, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListPartitionLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListPartitionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListPartitionLogic {
|
||||
return &ListPartitionLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListPartitionLogic) ListPartition(in *slurm.ListPartitionReq) (*slurm.ListPartitionResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListPartitionResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListQosLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListQosLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListQosLogic {
|
||||
return &ListQosLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListQosLogic) ListQos(in *slurm.ListQosReq) (*slurm.ListQosResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListQosResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListReservationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListReservationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListReservationLogic {
|
||||
return &ListReservationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListReservationLogic) ListReservation(in *slurm.ListReservationReq) (*slurm.ListReservationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListReservationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListTresLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListTresLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListTresLogic {
|
||||
return &ListTresLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListTresLogic) ListTres(in *slurm.ListTresReq) (*slurm.ListTresResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListTresResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListUserLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListUserLogic {
|
||||
return &ListUserLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListUserLogic) ListUser(in *slurm.ListUserReq) (*slurm.ListUserResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListUserResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 ListWckeyLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewListWckeyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListWckeyLogic {
|
||||
return &ListWckeyLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListWckeyLogic) ListWckey(in *slurm.ListWckeyReq) (*slurm.ListWckeyResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.ListWckeyResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 LoadConfigurationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewLoadConfigurationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoadConfigurationLogic {
|
||||
return &LoadConfigurationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LoadConfigurationLogic) LoadConfiguration(in *slurm.LoadConfigurationReq) (*slurm.LoadConfigurationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.LoadConfigurationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 PingLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewPingLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PingLogic {
|
||||
return &PingLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *PingLogic) Ping(in *slurm.PingReq) (*slurm.PingResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.PingResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 SetAssociationLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewSetAssociationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SetAssociationLogic {
|
||||
return &SetAssociationLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *SetAssociationLogic) SetAssociation(in *slurm.SetAssociationReq) (*slurm.SetAssociationResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.SetAssociationResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 SetTresLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewSetTresLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SetTresLogic {
|
||||
return &SetTresLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *SetTresLogic) SetTres(in *slurm.SetTresReq) (*slurm.SetTresResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.SetTresResp{}, nil
|
||||
}
|
|
@ -2,11 +2,11 @@ package logic
|
|||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurm"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type SubmitJobLogic struct {
|
||||
|
@ -24,12 +24,7 @@ func NewSubmitJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SubmitJ
|
|||
}
|
||||
|
||||
func (l *SubmitJobLogic) SubmitJob(in *slurm.SubmitJobReq) (*slurm.SubmitJobResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
var submitJobResp slurm.SubmitJobResp
|
||||
url := "http://127.0.0.1:4523/m1/1136481-0-default/slurm/v0.0.37/job/submit"
|
||||
acHttpRequest := tool.GetACHttpRequest()
|
||||
reqJson, _ := json.Marshal(in)
|
||||
resp, _ := acHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).SetBody(reqJson).SetResult(&submitJobResp).Post(url)
|
||||
println(resp.Body())
|
||||
return &submitJobResp, nil
|
||||
return &slurm.SubmitJobResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 UpdateAccountLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewUpdateAccountLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateAccountLogic {
|
||||
return &UpdateAccountLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *UpdateAccountLogic) UpdateAccount(in *slurm.UpdateAccountReq) (*slurm.UpdateAccountResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.UpdateAccountResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 UpdateJobLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewUpdateJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateJobLogic {
|
||||
return &UpdateJobLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *UpdateJobLogic) UpdateJob(in *slurm.UpdateJobReq) (*slurm.UpdateJobResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.UpdateJobResp{}, nil
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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 UpdateUserLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewUpdateUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateUserLogic {
|
||||
return &UpdateUserLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *UpdateUserLogic) UpdateUser(in *slurm.UpdateUserReq) (*slurm.UpdateUserResp, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return &slurm.UpdateUserResp{}, nil
|
||||
}
|
|
@ -8,7 +8,7 @@ import (
|
|||
)
|
||||
|
||||
func ReportHeartbeat(participantRpc participantservice.ParticipantService) {
|
||||
participantId, err := tool.GetParticipantId("etc/kubernetes.yaml")
|
||||
participantId, err := tool.GetParticipantId("etc/slurm.yaml")
|
||||
if err != nil {
|
||||
logx.Errorf("获取participant id失败! err:", err)
|
||||
return
|
||||
|
|
|
@ -1,23 +1,27 @@
|
|||
package cron
|
||||
|
||||
import (
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/pkg/tracker"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
|
||||
)
|
||||
|
||||
func AddCronGroup(svc *svc.ServiceContext) {
|
||||
// 同步任务信息到core端
|
||||
svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
||||
SyncTask(svc)
|
||||
})
|
||||
//// 同步任务信息到core端
|
||||
//svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
||||
// SyncTask(svc)
|
||||
//})
|
||||
//
|
||||
//// 推送p端心跳
|
||||
//svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
||||
// ReportHeartbeat(svc.ParticipantRpc)
|
||||
//})
|
||||
//
|
||||
//// 推送节点动态信息
|
||||
//svc.Cron.AddFunc("0 0/2 * * * ?", func() {
|
||||
// tracker.NodesDynamicInfo(svc)
|
||||
//})
|
||||
// 同步token
|
||||
//svc.Cron.AddFunc("* */5 * * * ?", func() {
|
||||
// SyncToken(svc)
|
||||
//})
|
||||
|
||||
// 推送p端心跳
|
||||
svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
||||
ReportHeartbeat(svc.ParticipantRpc)
|
||||
})
|
||||
|
||||
// 推送节点动态信息
|
||||
svc.Cron.AddFunc("0 0/2 * * * ?", func() {
|
||||
tracker.NodesDynamicInfo(svc)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"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"
|
||||
)
|
||||
|
||||
|
@ -28,44 +27,139 @@ func SyncTask(svc *svc.ServiceContext) {
|
|||
}
|
||||
// 提交任务
|
||||
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.HpcInfoList) != 0 {
|
||||
|
||||
for index, _ := range infoList.HpcInfoList {
|
||||
if infoList.HpcInfoList[index].Status == "SAVED" {
|
||||
subReq := slurm.SubmitJobReq{
|
||||
Script: infoList.HpcInfoList[index].CmdScript,
|
||||
Job: &slurm.JobProperties{
|
||||
Account: "",
|
||||
AccountGatherFrequency: "",
|
||||
Argv: nil,
|
||||
Array: "",
|
||||
BatchFeatures: "",
|
||||
BeginTime: 0,
|
||||
BurstBuffer: "",
|
||||
ClusterConstraint: "",
|
||||
Comment: "",
|
||||
Constraints: "",
|
||||
CoreSpecification: 0,
|
||||
CoresPerSocket: 0,
|
||||
CpuBinding: "",
|
||||
CpuBindingHint: "",
|
||||
CpuFrequency: "",
|
||||
CpusPerGpu: "",
|
||||
CpusPerTask: 0,
|
||||
CurrentWorkingDirectory: "",
|
||||
Deadline: "",
|
||||
DelayBoot: 0,
|
||||
Dependency: "",
|
||||
Distribution: "",
|
||||
Environment: nil,
|
||||
Exclusive: "",
|
||||
GetUserEnvironment: false,
|
||||
Gres: "",
|
||||
GresFlags: "",
|
||||
GpuBinding: "",
|
||||
GpuFrequency: "",
|
||||
Gpus: "",
|
||||
GpusPerNode: "",
|
||||
GpusPerSocket: "",
|
||||
GpusPerTask: "",
|
||||
Hold: false,
|
||||
KillOnInvalidDependency: false,
|
||||
Licenses: "",
|
||||
MailType: "",
|
||||
MailUser: "",
|
||||
McsLabel: "",
|
||||
MemoryBinding: "",
|
||||
MemoryPerCpu: 0,
|
||||
MemoryPerGpu: 0,
|
||||
MemoryPerNode: 0,
|
||||
MinimumCpusPerNode: 0,
|
||||
MinimumNodes: false,
|
||||
Name: "",
|
||||
Nice: "",
|
||||
NoKill: false,
|
||||
Nodes: nil,
|
||||
OpenMode: "",
|
||||
Partition: "",
|
||||
Priority: "",
|
||||
Qos: "",
|
||||
Requeue: false,
|
||||
Reservation: "",
|
||||
Signal: "",
|
||||
SocketsPerNode: 0,
|
||||
SpreadJob: false,
|
||||
StandardError: "",
|
||||
StandardInput: "",
|
||||
StandardOutput: "",
|
||||
Tasks: 0,
|
||||
TasksPerCore: 0,
|
||||
TasksPerNode: 0,
|
||||
TasksPerSocket: 0,
|
||||
ThreadSpecification: 0,
|
||||
ThreadsPerCore: 0,
|
||||
TimeLimit: 0,
|
||||
TimeMinimum: 0,
|
||||
WaitAllNodes: false,
|
||||
Wckey: "",
|
||||
},
|
||||
Jobs: nil,
|
||||
}
|
||||
|
||||
jobResult, err := submitJobLogic.SubmitJob(&subReq)
|
||||
if jobResult.JobSubmitUserMsg == "0" {
|
||||
infoList.HpcInfoList[index].Status = "PENDING"
|
||||
infoList.HpcInfoList[index].JobId = jobResult.JobSubmitUserMsg
|
||||
} else {
|
||||
infoList.HpcInfoList[index].Status = "FAILED"
|
||||
infoList.HpcInfoList[index].Result = jobResult.JobSubmitUserMsg
|
||||
}
|
||||
// 同步信息到core端
|
||||
SyncInfoReq := pcmCore.SyncInfoReq{
|
||||
Kind: "hpc",
|
||||
ParticipantId: participantId,
|
||||
HpcInfoList: infoList.HpcInfoList,
|
||||
}
|
||||
svc.PcmCoreRpc.SyncInfo(context.Background(), &SyncInfoReq)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
} else if infoList.HpcInfoList[index].Status == "PENDING" || infoList.HpcInfoList[index].Status == "RUNNING" {
|
||||
// 查询P端实际的任务列表
|
||||
listReq := slurm.ListJobReq{}
|
||||
resp, _ := listLogic.ListJob(&listReq)
|
||||
for _, job := range resp.Jobs {
|
||||
if job.JobId == infoList.HpcInfoList[index].JobId {
|
||||
|
||||
if job.JobState == "RUNNING" || resp.Jobs[0].JobState == "CONFIGURING" {
|
||||
infoList.HpcInfoList[index].Status = "RUNNING"
|
||||
} else if job.JobState == "COMPLETED" || resp.Jobs[0].JobState == "statC" || resp.Jobs[0].JobState == "statH" {
|
||||
infoList.HpcInfoList[index].Status = "COMPLETED"
|
||||
} else if job.JobState == "FAILED" || resp.Jobs[0].JobState == "TIMEOUT" || resp.Jobs[0].JobState == "DEADLINE" {
|
||||
infoList.HpcInfoList[index].Status = "FAILED"
|
||||
} else if job.JobState == "COMPLETING" {
|
||||
infoList.HpcInfoList[index].Status = "OTHER"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if len(infoList.CloudInfoList) != 0 {
|
||||
// 同步信息到core端
|
||||
SyncInfoReq := pcmCore.SyncInfoReq{
|
||||
Kind: "hpc",
|
||||
ParticipantId: participantId,
|
||||
CloudInfoList: infoList.CloudInfoList,
|
||||
HpcInfoList: infoList.HpcInfoList,
|
||||
}
|
||||
svc.PcmCoreRpc.SyncInfo(context.Background(), &SyncInfoReq)
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package cron
|
||||
|
||||
import (
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/pkg/utils"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/slurm"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
)
|
||||
|
||||
func SyncToken(svc *svc.ServiceContext) {
|
||||
|
||||
pingResp := slurm.PingResp{}
|
||||
slurmHttpRequest := tool.GetACHttpRequest()
|
||||
slurmHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson).
|
||||
SetHeader("X-SLURM-USER-NAME", svc.Config.SlurmRestUser).
|
||||
SetHeader("X-SLURM-USER-TOKEN", svc.Config.SlurmToken).
|
||||
SetResult(&pingResp).Get(svc.Config.RestUrl + svc.Config.Path.Ping)
|
||||
if len(pingResp.Pings) > 0 {
|
||||
return
|
||||
} else {
|
||||
//重新获取token并重新写到配置文件
|
||||
token, _ := utils.GetSlurmToken(svc)
|
||||
utils.UpdateToken("etc/slurm.yaml", token)
|
||||
println("token updated")
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
gossh "golang.org/x/crypto/ssh"
|
||||
"net"
|
||||
)
|
||||
|
||||
// Cli 连接信息
|
||||
type Cli struct {
|
||||
User string
|
||||
Pwd string
|
||||
Addr string
|
||||
Client *gossh.Client
|
||||
Session *gossh.Session
|
||||
LastResult string
|
||||
}
|
||||
|
||||
// Connect 连接对象
|
||||
func (c *Cli) Connect() (*Cli, error) {
|
||||
config := &gossh.ClientConfig{}
|
||||
config.SetDefaults()
|
||||
config.User = c.User
|
||||
config.Auth = []gossh.AuthMethod{gossh.Password(c.Pwd)}
|
||||
config.HostKeyCallback = func(hostname string, remote net.Addr, key gossh.PublicKey) error { return nil }
|
||||
client, err := gossh.Dial("tcp", c.Addr, config)
|
||||
if nil != err {
|
||||
return c, err
|
||||
}
|
||||
c.Client = client
|
||||
return c, nil
|
||||
}
|
||||
|
||||
// Run 执行shell
|
||||
func (c Cli) Run(shell string) (string, error) {
|
||||
if c.Client == nil {
|
||||
if _, err := c.Connect(); err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
session, err := c.Client.NewSession()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
// 关闭会话
|
||||
defer session.Close()
|
||||
buf, err := session.CombinedOutput(shell)
|
||||
|
||||
c.LastResult = string(buf)
|
||||
return c.LastResult, err
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/internal/svc"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type TokenConfig struct {
|
||||
SlurmToken string
|
||||
}
|
||||
|
||||
// UpdateSlurmToken 更新本地配置文件SlurmToken
|
||||
func UpdateSlurmToken(filePath string, value string) error {
|
||||
file, err := os.OpenFile(filePath, os.O_RDWR, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reader := bufio.NewReader(file)
|
||||
pos := int64(0)
|
||||
for {
|
||||
//读取每一行内容
|
||||
line, err := reader.ReadString('\n')
|
||||
if err != nil && err != io.EOF {
|
||||
fmt.Println("Read file error!", err)
|
||||
return err
|
||||
}
|
||||
//根据关键词覆盖当前行
|
||||
if strings.Contains(line, "SlurmToken") {
|
||||
bytes := []byte("SlurmToken: " + value)
|
||||
file.WriteAt(bytes, pos)
|
||||
}
|
||||
//每一行读取完后记录位置
|
||||
pos += int64(len(line))
|
||||
//读到末尾
|
||||
if err != nil && err == io.EOF {
|
||||
fmt.Println("File read ok!")
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetSlurmToken 获取本地配置文件中的SlurmToken
|
||||
func GetSlurmToken(svc *svc.ServiceContext) (string, error) {
|
||||
cli := Cli{
|
||||
Addr: svc.Config.SSH.Url,
|
||||
User: svc.Config.SSH.Username,
|
||||
Pwd: svc.Config.SSH.Password,
|
||||
}
|
||||
|
||||
// 建立连接对象
|
||||
cl, _ := cli.Connect()
|
||||
// 退出时关闭连接
|
||||
defer cl.Client.Close()
|
||||
res, _ := cl.Run(`scontrol token username=slurmrestd`)
|
||||
arr := strings.Split(res, "=")
|
||||
token := strings.Replace(arr[1], "\n", "", -1)
|
||||
|
||||
return token, nil
|
||||
}
|
||||
|
||||
// UpdateToken 更新本地配置文件Token
|
||||
func UpdateToken(filePath string, value string) error {
|
||||
file, err := os.OpenFile(filePath, os.O_RDWR, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reader := bufio.NewReader(file)
|
||||
pos := int64(0)
|
||||
for {
|
||||
//读取每一行内容
|
||||
line, err := reader.ReadString('\n')
|
||||
if err != nil && err != io.EOF {
|
||||
fmt.Println("Read file error!", err)
|
||||
return err
|
||||
}
|
||||
//根据关键词覆盖当前行
|
||||
if strings.Contains(line, "SlurmToken") {
|
||||
bytes := []byte("SlurmToken: " + value)
|
||||
file.WriteAt(bytes, pos)
|
||||
}
|
||||
//每一行读取完后记录位置
|
||||
pos += int64(len(line))
|
||||
//读到末尾
|
||||
if err != nil && err == io.EOF {
|
||||
//fmt.Println("File read ok!")
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,228 @@
|
|||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: slurm.proto
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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"
|
||||
)
|
||||
|
||||
type SlurmServer struct {
|
||||
svcCtx *svc.ServiceContext
|
||||
slurm.UnimplementedSlurmServer
|
||||
}
|
||||
|
||||
func NewSlurmServer(svcCtx *svc.ServiceContext) *SlurmServer {
|
||||
return &SlurmServer{
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *SlurmServer) Ping(ctx context.Context, in *slurm.PingReq) (*slurm.PingResp, error) {
|
||||
l := logic.NewPingLogic(ctx, s.svcCtx)
|
||||
return l.Ping(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListJob(ctx context.Context, in *slurm.ListJobReq) (*slurm.ListJobResp, error) {
|
||||
l := logic.NewListJobLogic(ctx, s.svcCtx)
|
||||
return l.ListJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetJob(ctx context.Context, in *slurm.GetJobReq) (*slurm.GetJobResp, error) {
|
||||
l := logic.NewGetJobLogic(ctx, s.svcCtx)
|
||||
return l.GetJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) UpdateJob(ctx context.Context, in *slurm.UpdateJobReq) (*slurm.UpdateJobResp, error) {
|
||||
l := logic.NewUpdateJobLogic(ctx, s.svcCtx)
|
||||
return l.UpdateJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) CancelJob(ctx context.Context, in *slurm.CancelJobReq) (*slurm.CancelJobResp, error) {
|
||||
l := logic.NewCancelJobLogic(ctx, s.svcCtx)
|
||||
return l.CancelJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) SubmitJob(ctx context.Context, in *slurm.SubmitJobReq) (*slurm.SubmitJobResp, error) {
|
||||
l := logic.NewSubmitJobLogic(ctx, s.svcCtx)
|
||||
return l.SubmitJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListUser(ctx context.Context, in *slurm.ListUserReq) (*slurm.ListUserResp, error) {
|
||||
l := logic.NewListUserLogic(ctx, s.svcCtx)
|
||||
return l.ListUser(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetUser(ctx context.Context, in *slurm.GetUserReq) (*slurm.GetUserResp, error) {
|
||||
l := logic.NewGetUserLogic(ctx, s.svcCtx)
|
||||
return l.GetUser(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) UpdateUser(ctx context.Context, in *slurm.UpdateUserReq) (*slurm.UpdateUserResp, error) {
|
||||
l := logic.NewUpdateUserLogic(ctx, s.svcCtx)
|
||||
return l.UpdateUser(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteUser(ctx context.Context, in *slurm.DeleteUserReq) (*slurm.DeleteUserResp, error) {
|
||||
l := logic.NewDeleteUserLogic(ctx, s.svcCtx)
|
||||
return l.DeleteUser(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListPartition(ctx context.Context, in *slurm.ListPartitionReq) (*slurm.ListPartitionResp, error) {
|
||||
l := logic.NewListPartitionLogic(ctx, s.svcCtx)
|
||||
return l.ListPartition(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetPartition(ctx context.Context, in *slurm.GetPartitionReq) (*slurm.GetPartitionResp, error) {
|
||||
l := logic.NewGetPartitionLogic(ctx, s.svcCtx)
|
||||
return l.GetPartition(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListNode(ctx context.Context, in *slurm.ListNodeReq) (*slurm.ListNodeResp, error) {
|
||||
l := logic.NewListNodeLogic(ctx, s.svcCtx)
|
||||
return l.ListNode(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetNode(ctx context.Context, in *slurm.GetNodeReq) (*slurm.GetNodeResp, error) {
|
||||
l := logic.NewGetNodeLogic(ctx, s.svcCtx)
|
||||
return l.GetNode(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListReservation(ctx context.Context, in *slurm.ListReservationReq) (*slurm.ListReservationResp, error) {
|
||||
l := logic.NewListReservationLogic(ctx, s.svcCtx)
|
||||
return l.ListReservation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetReservation(ctx context.Context, in *slurm.GetReservationReq) (*slurm.GetReservationResp, error) {
|
||||
l := logic.NewGetReservationLogic(ctx, s.svcCtx)
|
||||
return l.GetReservation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) LoadConfiguration(ctx context.Context, in *slurm.LoadConfigurationReq) (*slurm.LoadConfigurationResp, error) {
|
||||
l := logic.NewLoadConfigurationLogic(ctx, s.svcCtx)
|
||||
return l.LoadConfiguration(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DumpConfiguration(ctx context.Context, in *slurm.DumpConfigurationReq) (*slurm.DumpConfigurationResp, error) {
|
||||
l := logic.NewDumpConfigurationLogic(ctx, s.svcCtx)
|
||||
return l.DumpConfiguration(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListQos(ctx context.Context, in *slurm.ListQosReq) (*slurm.ListQosResp, error) {
|
||||
l := logic.NewListQosLogic(ctx, s.svcCtx)
|
||||
return l.ListQos(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetQos(ctx context.Context, in *slurm.GetQosReq) (*slurm.GetQosResp, error) {
|
||||
l := logic.NewGetQosLogic(ctx, s.svcCtx)
|
||||
return l.GetQos(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteQos(ctx context.Context, in *slurm.DeleteQosReq) (*slurm.DeleteQosResp, error) {
|
||||
l := logic.NewDeleteQosLogic(ctx, s.svcCtx)
|
||||
return l.DeleteQos(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListTres(ctx context.Context, in *slurm.ListTresReq) (*slurm.ListTresResp, error) {
|
||||
l := logic.NewListTresLogic(ctx, s.svcCtx)
|
||||
return l.ListTres(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) SetTres(ctx context.Context, in *slurm.SetTresReq) (*slurm.SetTresResp, error) {
|
||||
l := logic.NewSetTresLogic(ctx, s.svcCtx)
|
||||
return l.SetTres(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListAccount(ctx context.Context, in *slurm.ListAccountReq) (*slurm.ListAccountResp, error) {
|
||||
l := logic.NewListAccountLogic(ctx, s.svcCtx)
|
||||
return l.ListAccount(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetAccount(ctx context.Context, in *slurm.GetAccountReq) (*slurm.GetAccountResp, error) {
|
||||
l := logic.NewGetAccountLogic(ctx, s.svcCtx)
|
||||
return l.GetAccount(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) UpdateAccount(ctx context.Context, in *slurm.UpdateAccountReq) (*slurm.UpdateAccountResp, error) {
|
||||
l := logic.NewUpdateAccountLogic(ctx, s.svcCtx)
|
||||
return l.UpdateAccount(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteAccount(ctx context.Context, in *slurm.DeleteAccountReq) (*slurm.DeleteAccountResp, error) {
|
||||
l := logic.NewDeleteAccountLogic(ctx, s.svcCtx)
|
||||
return l.DeleteAccount(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListCluster(ctx context.Context, in *slurm.ListClusterReq) (*slurm.ListClusterResp, error) {
|
||||
l := logic.NewListClusterLogic(ctx, s.svcCtx)
|
||||
return l.ListCluster(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetCluster(ctx context.Context, in *slurm.GetClusterReq) (*slurm.GetClusterResp, error) {
|
||||
l := logic.NewGetClusterLogic(ctx, s.svcCtx)
|
||||
return l.GetCluster(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) AddCluster(ctx context.Context, in *slurm.AddClusterReq) (*slurm.AddClusterResp, error) {
|
||||
l := logic.NewAddClusterLogic(ctx, s.svcCtx)
|
||||
return l.AddCluster(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteCluster(ctx context.Context, in *slurm.DeleteClusterReq) (*slurm.DeleteClusterResp, error) {
|
||||
l := logic.NewDeleteClusterLogic(ctx, s.svcCtx)
|
||||
return l.DeleteCluster(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListWckey(ctx context.Context, in *slurm.ListWckeyReq) (*slurm.ListWckeyResp, error) {
|
||||
l := logic.NewListWckeyLogic(ctx, s.svcCtx)
|
||||
return l.ListWckey(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetWckey(ctx context.Context, in *slurm.GetWckeyReq) (*slurm.GetWckeyResp, error) {
|
||||
l := logic.NewGetWckeyLogic(ctx, s.svcCtx)
|
||||
return l.GetWckey(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) AddWckey(ctx context.Context, in *slurm.AddWckeyReq) (*slurm.AddWckeyResp, error) {
|
||||
l := logic.NewAddWckeyLogic(ctx, s.svcCtx)
|
||||
return l.AddWckey(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteWckey(ctx context.Context, in *slurm.DeleteWckeyReq) (*slurm.DeleteWckeyResp, error) {
|
||||
l := logic.NewDeleteWckeyLogic(ctx, s.svcCtx)
|
||||
return l.DeleteWckey(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListAssociation(ctx context.Context, in *slurm.ListAssociationReq) (*slurm.ListAssociationResp, error) {
|
||||
l := logic.NewListAssociationLogic(ctx, s.svcCtx)
|
||||
return l.ListAssociation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetAssociation(ctx context.Context, in *slurm.GetAssociationReq) (*slurm.GetAssociationResp, error) {
|
||||
l := logic.NewGetAssociationLogic(ctx, s.svcCtx)
|
||||
return l.GetAssociation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) SetAssociation(ctx context.Context, in *slurm.SetAssociationReq) (*slurm.SetAssociationResp, error) {
|
||||
l := logic.NewSetAssociationLogic(ctx, s.svcCtx)
|
||||
return l.SetAssociation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) DeleteAssociation(ctx context.Context, in *slurm.DeleteAssociationReq) (*slurm.DeleteAssociationResp, error) {
|
||||
l := logic.NewDeleteAssociationLogic(ctx, s.svcCtx)
|
||||
return l.DeleteAssociation(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetDiagnostics(ctx context.Context, in *slurm.ListDiagnosticsReq) (*slurm.ListDiagnosticsResp, error) {
|
||||
l := logic.NewGetDiagnosticsLogic(ctx, s.svcCtx)
|
||||
return l.GetDiagnostics(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetDbDiagnostics(ctx context.Context, in *slurm.ListDbDiagnosticsReq) (*slurm.ListDbDiagnosticsResp, error) {
|
||||
l := logic.NewGetDbDiagnosticsLogic(ctx, s.svcCtx)
|
||||
return l.GetDbDiagnostics(in)
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: slurm.proto
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"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"
|
||||
)
|
||||
|
||||
type SlurmServer struct {
|
||||
svcCtx *svc.ServiceContext
|
||||
slurm.UnimplementedSlurmServer
|
||||
}
|
||||
|
||||
func NewSlurmServer(svcCtx *svc.ServiceContext) *SlurmServer {
|
||||
return &SlurmServer{
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *SlurmServer) SubmitJob(ctx context.Context, in *slurm.SubmitJobReq) (*slurm.SubmitJobResp, error) {
|
||||
l := logic.NewSubmitJobLogic(ctx, s.svcCtx)
|
||||
return l.SubmitJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) ListJob(ctx context.Context, in *slurm.ListJobReq) (*slurm.ListJobResp, error) {
|
||||
l := logic.NewListJobLogic(ctx, s.svcCtx)
|
||||
return l.ListJob(in)
|
||||
}
|
||||
|
||||
func (s *SlurmServer) GetJob(ctx context.Context, in *slurm.ListJobReq) (*slurm.ListJobResp, error) {
|
||||
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)
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message account {
|
||||
|
||||
message Associations {
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
string partition = 3;
|
||||
string user = 4;
|
||||
}
|
||||
|
||||
message Coordinators {
|
||||
string name = 1;
|
||||
uint32 direct = 2;
|
||||
}
|
||||
|
||||
repeated Associations associations = 1;
|
||||
repeated Coordinators coordinators = 2;
|
||||
string description = 3;
|
||||
string name = 4;
|
||||
string organization = 5;
|
||||
repeated string flags = 6;
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message association {
|
||||
|
||||
message Default {
|
||||
string qos = 1;
|
||||
}
|
||||
|
||||
message Per {
|
||||
string count = 1;
|
||||
string accruing = 2;
|
||||
string submitted = 3;
|
||||
string wall_clock = 4;
|
||||
}
|
||||
|
||||
message Jobs {
|
||||
Per per = 1;
|
||||
string active = 2;
|
||||
string accruing = 3;
|
||||
string total = 4;
|
||||
}
|
||||
|
||||
message Per1 {
|
||||
repeated Jobs job = 1;
|
||||
}
|
||||
|
||||
message Minutes {
|
||||
Per1 per = 1;
|
||||
repeated string total = 2;
|
||||
}
|
||||
|
||||
message Group {
|
||||
repeated string minutes = 1;
|
||||
repeated string active = 2;
|
||||
}
|
||||
|
||||
message Per2 {
|
||||
repeated string job = 1;
|
||||
repeated string node = 2;
|
||||
}
|
||||
|
||||
message Tres {
|
||||
repeated string total = 1;
|
||||
Minutes minutes = 2;
|
||||
Group group = 3;
|
||||
Per2 per = 4;
|
||||
}
|
||||
|
||||
message Account {
|
||||
string wall_clock = 1;
|
||||
}
|
||||
|
||||
message Per3 {
|
||||
Account account = 1;
|
||||
}
|
||||
|
||||
message Max {
|
||||
Jobs jobs = 1;
|
||||
Tres tres = 2;
|
||||
Per3 per = 3;
|
||||
}
|
||||
|
||||
message Min {
|
||||
string priority_threshold = 1;
|
||||
}
|
||||
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
Default default = 3;
|
||||
repeated string flags = 4;
|
||||
Max max = 5;
|
||||
uint32 is_default = 6;
|
||||
Min min = 7;
|
||||
string parent_account = 8;
|
||||
string partition = 9;
|
||||
string priority = 10;
|
||||
repeated string qos = 11;
|
||||
uint32 shares_raw = 12;
|
||||
string usage = 13;
|
||||
string user = 14;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
import "tres.proto";
|
||||
|
||||
message cluster {
|
||||
|
||||
message Controller {
|
||||
string host = 1;
|
||||
uint32 port = 2;
|
||||
}
|
||||
|
||||
message Root {
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
string partition = 3;
|
||||
string user = 4;
|
||||
}
|
||||
|
||||
message Associations {
|
||||
Root root = 1;
|
||||
}
|
||||
|
||||
message Errors {
|
||||
uint32 errno = 1;
|
||||
string error = 2;
|
||||
}
|
||||
|
||||
Controller controller = 1;
|
||||
repeated string flags = 2;
|
||||
string name = 3;
|
||||
string nodes = 4;
|
||||
string select_plugin = 5;
|
||||
Associations associations = 6;
|
||||
uint32 rpc_version = 7;
|
||||
repeated tres tres = 8;
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
|
||||
message error{
|
||||
string error = 1;
|
||||
uint32 errno = 2;
|
||||
}
|
||||
|
||||
message Environment{
|
||||
}
|
||||
|
||||
message Cpus {
|
||||
}
|
||||
|
||||
message Sockets {
|
||||
}
|
||||
|
||||
message Cores {
|
||||
}
|
||||
|
||||
message Allocated_nodes {
|
||||
uint32 memory = 1;
|
||||
Cpus cpus = 2;
|
||||
Sockets sockets = 3;
|
||||
Cores cores = 4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
message meta {
|
||||
|
||||
message Plugin {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
}
|
||||
|
||||
message Version {
|
||||
uint32 major = 1;
|
||||
uint32 micro = 2;
|
||||
uint32 minor = 3;
|
||||
}
|
||||
|
||||
message Slurm {
|
||||
Version version = 1;
|
||||
string release = 2;
|
||||
}
|
||||
|
||||
Plugin plugin = 1;
|
||||
Slurm slurm = 2;
|
||||
}
|
|
@ -0,0 +1,369 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message configuration {
|
||||
|
||||
message Errors {
|
||||
uint32 errno = 1;
|
||||
string error = 2;
|
||||
}
|
||||
|
||||
message Associations {
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
string partition = 3;
|
||||
string user = 4;
|
||||
}
|
||||
|
||||
message Coordinators {
|
||||
string name = 1;
|
||||
uint32 direct = 2;
|
||||
}
|
||||
|
||||
message Accounts {
|
||||
repeated Associations associations = 1;
|
||||
repeated Coordinators coordinators = 2;
|
||||
string description = 3;
|
||||
string name = 4;
|
||||
string organization = 5;
|
||||
repeated string flags = 6;
|
||||
}
|
||||
|
||||
message Default {
|
||||
string qos = 1;
|
||||
}
|
||||
|
||||
message Per {
|
||||
uint32 wall_clock = 1;
|
||||
}
|
||||
|
||||
message Jobs {
|
||||
uint32 active = 1;
|
||||
uint32 accruing = 2;
|
||||
uint32 total = 3;
|
||||
Per per = 4;
|
||||
}
|
||||
|
||||
message Account {
|
||||
uint32 wall_clock = 1;
|
||||
}
|
||||
|
||||
message Per1 {
|
||||
Account account = 1;
|
||||
}
|
||||
|
||||
message Minutes {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Active {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Group {
|
||||
repeated Minutes minutes = 1;
|
||||
repeated Active active = 2;
|
||||
}
|
||||
|
||||
message Job {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Node {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per2 {
|
||||
repeated Job job = 1;
|
||||
repeated Node node = 2;
|
||||
}
|
||||
|
||||
message Total {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Job1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per3 {
|
||||
repeated Job1 job = 1;
|
||||
}
|
||||
|
||||
message Total1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Minutes1 {
|
||||
Per3 per = 1;
|
||||
repeated Total1 total = 2;
|
||||
}
|
||||
|
||||
message Tres {
|
||||
Group group = 1;
|
||||
Per2 per = 2;
|
||||
repeated Total total = 3;
|
||||
Minutes1 minutes = 4;
|
||||
}
|
||||
|
||||
message Max {
|
||||
Jobs jobs = 1;
|
||||
Per1 per = 2;
|
||||
Tres tres = 3;
|
||||
}
|
||||
|
||||
message Min {
|
||||
uint32 priority_threshold = 1;
|
||||
}
|
||||
|
||||
message Usage {
|
||||
uint32 accrue_job_count = 1;
|
||||
uint32 group_used_wallclock = 2;
|
||||
uint32 fairshare_factor = 3;
|
||||
uint32 fairshare_shares = 4;
|
||||
uint32 normalized_priority = 5;
|
||||
uint32 normalized_shares = 6;
|
||||
uint32 effective_normalized_usage = 7;
|
||||
uint32 raw_usage = 8;
|
||||
uint32 job_count = 9;
|
||||
uint32 fairshare_level = 10;
|
||||
}
|
||||
|
||||
message Associations1 {
|
||||
uint32 is_default = 1;
|
||||
string account = 2;
|
||||
string cluster = 3;
|
||||
Default default = 4;
|
||||
repeated string flags = 5;
|
||||
Max max = 6;
|
||||
Min min = 7;
|
||||
string parent_account = 8;
|
||||
string partition = 9;
|
||||
uint32 priority = 10;
|
||||
repeated string qos = 11;
|
||||
uint32 shares_raw = 12;
|
||||
Usage usage = 13;
|
||||
string user = 14;
|
||||
}
|
||||
|
||||
message Root {
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
string partition = 3;
|
||||
string user = 4;
|
||||
}
|
||||
|
||||
message Associations2 {
|
||||
Root root = 1;
|
||||
}
|
||||
|
||||
message Coordinators1 {
|
||||
string name = 1;
|
||||
uint32 direct = 2;
|
||||
}
|
||||
|
||||
message Default1 {
|
||||
string account = 1;
|
||||
string wckey = 2;
|
||||
}
|
||||
|
||||
message Users {
|
||||
string administrator_level = 1;
|
||||
Associations2 associations = 2;
|
||||
repeated Coordinators1 coordinators = 3;
|
||||
Default1 default = 4;
|
||||
string name = 5;
|
||||
}
|
||||
|
||||
message Per4 {
|
||||
uint32 qos = 1;
|
||||
uint32 job = 2;
|
||||
}
|
||||
|
||||
message Wall_clock {
|
||||
Per4 per = 1;
|
||||
}
|
||||
|
||||
message Per5 {
|
||||
uint32 account = 1;
|
||||
uint32 user = 2;
|
||||
}
|
||||
|
||||
message Active_jobs {
|
||||
Per5 per = 1;
|
||||
}
|
||||
|
||||
message Jobs1 {
|
||||
Active_jobs active_jobs = 1;
|
||||
}
|
||||
|
||||
message Per6 {
|
||||
uint32 account = 1;
|
||||
uint32 user = 2;
|
||||
}
|
||||
|
||||
message Accruing {
|
||||
Per6 per = 1;
|
||||
}
|
||||
|
||||
message Job2 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Account1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message User {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per7 {
|
||||
repeated Job2 job = 1;
|
||||
repeated Account1 account = 2;
|
||||
repeated User user = 3;
|
||||
}
|
||||
|
||||
message Minutes2 {
|
||||
Per7 per = 1;
|
||||
}
|
||||
|
||||
message Account2 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Job3 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Node1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message User1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per8 {
|
||||
repeated Account2 account = 1;
|
||||
repeated Job3 job = 2;
|
||||
repeated Node1 node = 3;
|
||||
repeated User1 user = 4;
|
||||
}
|
||||
|
||||
message Tres1 {
|
||||
Minutes2 minutes = 1;
|
||||
Per8 per = 2;
|
||||
}
|
||||
|
||||
message Max1 {
|
||||
Wall_clock wall_clock = 1;
|
||||
Jobs1 jobs = 2;
|
||||
Accruing accruing = 3;
|
||||
Tres1 tres = 4;
|
||||
}
|
||||
|
||||
message Job4 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per9 {
|
||||
repeated Job4 job = 1;
|
||||
}
|
||||
|
||||
message Tres2 {
|
||||
Per9 per = 1;
|
||||
}
|
||||
|
||||
message Min1 {
|
||||
uint32 priority_threshold = 1;
|
||||
Tres2 tres = 2;
|
||||
}
|
||||
|
||||
message Limits {
|
||||
uint32 factor = 1;
|
||||
Max1 max = 2;
|
||||
Min1 min = 3;
|
||||
}
|
||||
|
||||
message Preempt {
|
||||
repeated string list = 1;
|
||||
repeated string mode = 2;
|
||||
uint32 exempt_time = 3;
|
||||
}
|
||||
|
||||
message Qos {
|
||||
string description = 1;
|
||||
repeated string flags = 2;
|
||||
string id = 3;
|
||||
Limits limits = 4;
|
||||
Preempt preempt = 5;
|
||||
uint32 priority = 6;
|
||||
uint32 usage_factor = 7;
|
||||
uint32 usage_threshold = 8;
|
||||
}
|
||||
|
||||
message Wckeys {
|
||||
repeated string accounts = 1;
|
||||
string cluster = 2;
|
||||
uint32 id = 3;
|
||||
string name = 4;
|
||||
string user = 5;
|
||||
repeated string flags = 6;
|
||||
}
|
||||
|
||||
repeated Errors errors = 1;
|
||||
repeated string tres = 2;
|
||||
repeated Accounts accounts = 3;
|
||||
repeated Associations1 associations = 4;
|
||||
repeated Users users = 5;
|
||||
repeated Qos qos = 6;
|
||||
repeated Wckeys wckeys = 7;
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
syntax = "proto3";
|
||||
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
|
||||
|
||||
message diagnostics {
|
||||
uint32 parts_packed = 1;
|
||||
uint32 req_time = 2;
|
||||
uint32 req_time_start = 3;
|
||||
uint32 server_thread_count = 4;
|
||||
uint32 agent_queue_size = 5;
|
||||
uint32 agent_count = 6;
|
||||
uint32 agent_thread_count = 7;
|
||||
uint32 dbd_agent_queue_size = 8;
|
||||
uint32 gettimeofday_latency = 9;
|
||||
uint32 schedule_cycle_max = 10;
|
||||
uint32 schedule_cycle_last = 11;
|
||||
uint32 schedule_cycle_total = 12;
|
||||
uint32 schedule_cycle_mean = 13;
|
||||
uint32 schedule_cycle_mean_depth = 14;
|
||||
uint32 schedule_cycle_per_minute = 15;
|
||||
uint32 schedule_queue_length = 16;
|
||||
uint32 jobs_submitted = 17;
|
||||
uint32 jobs_started = 18;
|
||||
uint32 jobs_completed = 19;
|
||||
uint32 jobs_canceled = 20;
|
||||
uint32 jobs_failed = 21;
|
||||
uint32 jobs_pending = 22;
|
||||
uint32 jobs_running = 23;
|
||||
uint32 job_states_ts = 24;
|
||||
uint32 bf_backfilled_jobs = 25;
|
||||
uint32 bf_last_backfilled_jobs = 26;
|
||||
uint32 bf_backfilled_het_jobs = 27;
|
||||
uint32 bf_cycle_counter = 28;
|
||||
uint32 bf_cycle_mean = 29;
|
||||
uint32 bf_cycle_max = 30;
|
||||
uint32 bf_last_depth = 31;
|
||||
uint32 bf_last_depth_try = 32;
|
||||
uint32 bf_depth_mean = 33;
|
||||
uint32 bf_depth_mean_try = 34;
|
||||
uint32 bf_cycle_last = 35;
|
||||
uint32 bf_queue_len = 36;
|
||||
uint32 bf_queue_len_mean = 37;
|
||||
uint32 bf_when_last_cycle = 38;
|
||||
bool bf_active = 39;
|
||||
}
|
||||
|
||||
message diagnostics_db {
|
||||
|
||||
message Rollups {
|
||||
string type = 1;
|
||||
uint32 last_run = 2;
|
||||
uint32 last_cycle = 3;
|
||||
uint32 max_cycle = 4;
|
||||
uint32 total_time = 5;
|
||||
uint32 mean_cycles = 6;
|
||||
}
|
||||
|
||||
message Time {
|
||||
uint32 average = 1;
|
||||
uint32 total = 2;
|
||||
}
|
||||
|
||||
message Rpcs {
|
||||
string rpc = 1;
|
||||
uint32 count = 2;
|
||||
Time time = 3;
|
||||
}
|
||||
|
||||
message Time1 {
|
||||
uint32 average = 1;
|
||||
uint32 total = 2;
|
||||
}
|
||||
|
||||
message Users {
|
||||
string user = 1;
|
||||
uint32 count = 2;
|
||||
Time1 time = 3;
|
||||
}
|
||||
|
||||
uint32 time_start = 1;
|
||||
repeated Rollups rollups = 2;
|
||||
repeated Rpcs RPCs = 3;
|
||||
repeated Users users = 4;
|
||||
}
|
|
@ -0,0 +1,385 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
import "common.proto";
|
||||
|
||||
|
||||
message Job_resources {
|
||||
string nodes = 1;
|
||||
uint32 allocated_cpus = 2;
|
||||
uint32 allocated_hosts = 3;
|
||||
repeated Allocated_nodes allocated_nodes = 4;
|
||||
}
|
||||
|
||||
//submit job request
|
||||
message job_properties{
|
||||
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;
|
||||
}
|
||||
|
||||
//list job response
|
||||
message job_response_properties{
|
||||
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;
|
||||
}
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
|
||||
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;
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message partition {
|
||||
repeated string flags = 1;
|
||||
repeated string preemption_mode = 2;
|
||||
string allowed_allocation_nodes = 3;
|
||||
string allowed_accounts = 4;
|
||||
string allowed_groups = 5;
|
||||
string allowed_qos = 6;
|
||||
string alternative = 7;
|
||||
string billing_weights = 8;
|
||||
uint32 default_memory_per_cpu = 9;
|
||||
uint32 default_time_limit = 10;
|
||||
string denied_accounts = 11;
|
||||
string denied_qos = 12;
|
||||
uint32 preemption_grace_time = 13;
|
||||
uint32 maximum_cpus_per_node = 14;
|
||||
uint32 maximum_memory_per_node = 15;
|
||||
uint32 maximum_nodes_per_job = 16;
|
||||
uint32 max_time_limit = 17;
|
||||
uint32 min_nodes_per_job = 18;
|
||||
string name = 19;
|
||||
string nodes = 20;
|
||||
uint32 over_time_limit = 21;
|
||||
uint32 priority_job_factor = 22;
|
||||
uint32 priority_tier = 23;
|
||||
string qos = 24;
|
||||
string state = 25;
|
||||
uint32 total_cpus = 26;
|
||||
uint32 total_nodes = 27;
|
||||
string tres = 28;
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
|
||||
message ping {
|
||||
string hostname = 1;
|
||||
string ping = 2;
|
||||
uint32 status = 3;
|
||||
string mode = 4;
|
||||
}
|
|
@ -0,0 +1,157 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message qos {
|
||||
|
||||
message Per {
|
||||
uint32 qos = 1;
|
||||
uint32 job = 2;
|
||||
}
|
||||
|
||||
message Wall_clock {
|
||||
Per per = 1;
|
||||
}
|
||||
|
||||
message Per1 {
|
||||
uint32 account = 1;
|
||||
uint32 user = 2;
|
||||
}
|
||||
|
||||
message Active_jobs {
|
||||
Per1 per = 1;
|
||||
}
|
||||
|
||||
message Jobs {
|
||||
Active_jobs active_jobs = 1;
|
||||
}
|
||||
|
||||
message Per2 {
|
||||
uint32 account = 1;
|
||||
uint32 user = 2;
|
||||
}
|
||||
|
||||
message Accruing {
|
||||
Per2 per = 1;
|
||||
}
|
||||
|
||||
message Job {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Account {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message User {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per3 {
|
||||
repeated Job job = 1;
|
||||
repeated Account account = 2;
|
||||
repeated User user = 3;
|
||||
}
|
||||
|
||||
message Minutes {
|
||||
Per3 per = 1;
|
||||
}
|
||||
|
||||
message Account1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Job1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Node {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message User1 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per4 {
|
||||
repeated Account1 account = 1;
|
||||
repeated Job1 job = 2;
|
||||
repeated Node node = 3;
|
||||
repeated User1 user = 4;
|
||||
}
|
||||
|
||||
message Tres {
|
||||
Minutes minutes = 1;
|
||||
Per4 per = 2;
|
||||
}
|
||||
|
||||
message Max {
|
||||
Wall_clock wall_clock = 1;
|
||||
Jobs jobs = 2;
|
||||
Accruing accruing = 3;
|
||||
Tres tres = 4;
|
||||
}
|
||||
|
||||
message Job2 {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
||||
|
||||
message Per5 {
|
||||
repeated Job2 job = 1;
|
||||
}
|
||||
|
||||
message Tres1 {
|
||||
Per5 per = 1;
|
||||
}
|
||||
|
||||
message Min {
|
||||
uint32 priority_threshold = 1;
|
||||
Tres1 tres = 2;
|
||||
}
|
||||
|
||||
message Limits {
|
||||
uint32 factor = 1;
|
||||
Max max = 2;
|
||||
Min min = 3;
|
||||
}
|
||||
|
||||
message Preempt {
|
||||
repeated string list = 1;
|
||||
repeated string mode = 2;
|
||||
uint32 exempt_time = 3;
|
||||
}
|
||||
|
||||
string description = 1;
|
||||
repeated string flags = 2;
|
||||
string id = 3;
|
||||
Limits limits = 4;
|
||||
Preempt preempt = 5;
|
||||
uint32 priority = 6;
|
||||
uint32 usage_factor = 7;
|
||||
uint32 usage_threshold = 8;
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
|
||||
message reservation {
|
||||
|
||||
message Purge_completed {
|
||||
uint32 time = 1;
|
||||
}
|
||||
|
||||
string accounts = 1;
|
||||
string burst_buffer = 2;
|
||||
uint32 core_count = 3;
|
||||
uint32 core_spec_cnt = 4;
|
||||
uint32 end_time = 5;
|
||||
string features = 6;
|
||||
repeated string flags = 7;
|
||||
string groups = 8;
|
||||
string licenses = 9;
|
||||
uint32 max_start_delay = 10;
|
||||
string name = 11;
|
||||
uint32 node_count = 12;
|
||||
string node_list = 13;
|
||||
string partition = 14;
|
||||
Purge_completed purge_completed = 15;
|
||||
uint32 start_time = 16;
|
||||
uint32 watts = 17;
|
||||
string tres = 18;
|
||||
string users = 19;
|
||||
}
|
821
pb/slurm.proto
821
pb/slurm.proto
|
@ -3,494 +3,359 @@ syntax = "proto3";
|
|||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message error{
|
||||
string error = 1;
|
||||
uint32 errno = 2;
|
||||
}
|
||||
import "common.proto";
|
||||
import "node.proto";
|
||||
import "job.proto";
|
||||
import "user.proto";
|
||||
import "tres.proto";
|
||||
import "association.proto";
|
||||
import "partition.proto";
|
||||
import "reservation.proto";
|
||||
import "qos.proto";
|
||||
import "account.proto";
|
||||
import "cluster.proto";
|
||||
import "wckey.proto";
|
||||
import "configuration.proto";
|
||||
import "diagnostics.proto";
|
||||
import "ping.proto";
|
||||
|
||||
message Environment{
|
||||
}
|
||||
//job
|
||||
//listJob
|
||||
message listJobReq{
|
||||
uint32 update_time = 1;
|
||||
}
|
||||
message listJobResp{
|
||||
repeated error errors = 1;
|
||||
repeated job_response_properties jobs = 2;
|
||||
}
|
||||
//updateJob
|
||||
message updateJobReq{
|
||||
job_update job_update = 1;
|
||||
}
|
||||
message updateJobResp{
|
||||
}
|
||||
//cancelJob
|
||||
message cancelJobReq{
|
||||
string job_id = 1;
|
||||
}
|
||||
message cancelJobResp{
|
||||
}
|
||||
//getJob
|
||||
message getJobReq{
|
||||
string job_id = 1;
|
||||
}
|
||||
message getJobResp{
|
||||
Jobs jobs = 1;
|
||||
}
|
||||
//submitJob
|
||||
message submitJobReq{
|
||||
string script = 1;
|
||||
job_properties job = 2;
|
||||
repeated job_properties jobs = 3;
|
||||
}
|
||||
message submitJobResp{
|
||||
repeated error errors = 1;
|
||||
uint32 job_id = 2;
|
||||
string step_id = 3;
|
||||
string job_submit_user_msg = 4;
|
||||
}
|
||||
|
||||
message Cpus {
|
||||
}
|
||||
|
||||
message Sockets {
|
||||
}
|
||||
//user
|
||||
//listUser
|
||||
message listUserReq{
|
||||
}
|
||||
message listUserResp{
|
||||
repeated error errors = 1;
|
||||
repeated user users = 2;
|
||||
}
|
||||
//getUser
|
||||
message getUserReq{
|
||||
string user_name = 1;
|
||||
}
|
||||
message getUserResp{
|
||||
repeated error errors = 1;
|
||||
repeated user users = 2;
|
||||
}
|
||||
//updateUser
|
||||
message updateUserReq{
|
||||
user user = 1;
|
||||
}
|
||||
message updateUserResp{
|
||||
repeated error errors = 1;
|
||||
}
|
||||
//deleteUser
|
||||
message deleteUserReq{
|
||||
string user_name = 1;
|
||||
}
|
||||
message deleteUserResp{
|
||||
repeated error errors = 1;
|
||||
}
|
||||
//partition
|
||||
//listPartition
|
||||
message listPartitionReq{
|
||||
}
|
||||
message listPartitionResp{
|
||||
repeated error errors = 1;
|
||||
repeated partition partitions = 2;
|
||||
}
|
||||
//getPartition
|
||||
message getPartitionReq{
|
||||
string partition_name = 1;
|
||||
}
|
||||
message getPartitionResp{
|
||||
repeated error errors = 1;
|
||||
repeated partition partitions = 2;
|
||||
}
|
||||
//node
|
||||
//getNode
|
||||
message getNodeReq{
|
||||
string node_name = 1;
|
||||
}
|
||||
message getNodeResp{
|
||||
repeated error errors = 1;
|
||||
repeated node nodes = 2;
|
||||
}
|
||||
//listNode
|
||||
message listNodeReq{
|
||||
}
|
||||
message listNodeResp{
|
||||
repeated error errors = 1;
|
||||
repeated node nodes = 2;
|
||||
}
|
||||
|
||||
message Cores {
|
||||
}
|
||||
|
||||
message Allocated_nodes {
|
||||
uint32 memory = 1;
|
||||
Cpus cpus = 2;
|
||||
Sockets sockets = 3;
|
||||
Cores cores = 4;
|
||||
}
|
||||
//reservation
|
||||
//getReservation
|
||||
message getReservationReq{
|
||||
string reservation_name = 1;
|
||||
}
|
||||
message getReservationResp{
|
||||
repeated error errors = 1;
|
||||
repeated reservation reservations = 2;
|
||||
}
|
||||
//listReservation
|
||||
message listReservationReq{
|
||||
}
|
||||
message listReservationResp{
|
||||
repeated error errors = 1;
|
||||
repeated reservation reservations = 2;
|
||||
}
|
||||
|
||||
message Job_resources {
|
||||
string nodes = 1;
|
||||
uint32 allocated_cpus = 2;
|
||||
uint32 allocated_hosts = 3;
|
||||
repeated Allocated_nodes allocated_nodes = 4;
|
||||
}
|
||||
//configuration
|
||||
message dumpConfigurationReq{
|
||||
}
|
||||
message dumpConfigurationResp{
|
||||
repeated configuration configurations = 1;
|
||||
}
|
||||
message loadConfigurationReq{
|
||||
configuration configuration = 1;
|
||||
}
|
||||
message loadConfigurationResp{
|
||||
repeated error errors = 1;
|
||||
}
|
||||
//QOS
|
||||
message listQosReq{
|
||||
}
|
||||
message listQosResp{
|
||||
repeated qos Qos = 1;
|
||||
}
|
||||
message getQosReq{
|
||||
}
|
||||
message getQosResp{
|
||||
repeated qos qos = 1;
|
||||
}
|
||||
message deleteQosReq{
|
||||
qos qos = 1;
|
||||
}
|
||||
message deleteQosResp{
|
||||
}
|
||||
//TRES
|
||||
message listTresReq{
|
||||
}
|
||||
message listTresResp{
|
||||
repeated tres tres = 1;
|
||||
}
|
||||
message setTresReq{
|
||||
tres tres = 1;
|
||||
}
|
||||
message setTresResp{
|
||||
}
|
||||
//account
|
||||
//listAccount
|
||||
message listAccountReq{
|
||||
}
|
||||
message listAccountResp{
|
||||
repeated error errors = 1;
|
||||
repeated account accounts = 2;
|
||||
}
|
||||
//getAccount
|
||||
message getAccountReq{
|
||||
string user_name = 1;
|
||||
}
|
||||
message getAccountResp{
|
||||
repeated error errors = 1;
|
||||
repeated account accounts = 2;
|
||||
}
|
||||
//updateAccount
|
||||
message updateAccountReq{
|
||||
account account = 1;
|
||||
}
|
||||
message updateAccountResp{
|
||||
repeated error errors = 1;
|
||||
}
|
||||
//deleteAccount
|
||||
message deleteAccountReq{
|
||||
string account_name = 1;
|
||||
}
|
||||
message deleteAccountResp{
|
||||
repeated error errors = 1;
|
||||
}
|
||||
//cluster
|
||||
message listClusterReq{
|
||||
}
|
||||
message listClusterResp{
|
||||
repeated cluster clusters = 1;
|
||||
}
|
||||
message addClusterReq{
|
||||
cluster cluster = 1;
|
||||
}
|
||||
message addClusterResp{
|
||||
}
|
||||
message getClusterReq{
|
||||
}
|
||||
message getClusterResp{
|
||||
repeated cluster clusters = 1;
|
||||
}
|
||||
message deleteClusterReq{
|
||||
cluster cluster = 1;
|
||||
}
|
||||
message deleteClusterResp{
|
||||
}
|
||||
//wckey
|
||||
message listWckeyReq{
|
||||
}
|
||||
message listWckeyResp{
|
||||
repeated wckey wckeys = 1;
|
||||
}
|
||||
message addWckeyReq{
|
||||
wckey wckey = 1;
|
||||
}
|
||||
message addWckeyResp{
|
||||
}
|
||||
message getWckeyReq{
|
||||
}
|
||||
message getWckeyResp{
|
||||
repeated wckey wckeys = 1;
|
||||
}
|
||||
message deleteWckeyReq{
|
||||
wckey wckey = 1;
|
||||
}
|
||||
message deleteWckeyResp{
|
||||
}
|
||||
//diagnostics
|
||||
message listDiagnosticsReq{
|
||||
}
|
||||
message listDiagnosticsResp{
|
||||
repeated diagnostics diagnosticses = 1;
|
||||
}
|
||||
message listDbDiagnosticsReq{
|
||||
}
|
||||
message listDbDiagnosticsResp{
|
||||
repeated diagnostics_db diagnostics_dbs = 1;
|
||||
}
|
||||
//association
|
||||
message listAssociationReq{
|
||||
}
|
||||
message listAssociationResp{
|
||||
repeated association Association = 1;
|
||||
}
|
||||
message setAssociationReq{
|
||||
association association = 1;
|
||||
}
|
||||
message setAssociationResp{
|
||||
}
|
||||
message getAssociationReq{
|
||||
}
|
||||
message getAssociationResp{
|
||||
repeated association association = 1;
|
||||
}
|
||||
message deleteAssociationReq{
|
||||
association association = 1;
|
||||
}
|
||||
message deleteAssociationResp{
|
||||
}
|
||||
|
||||
//submit job request
|
||||
message job_properties{
|
||||
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;
|
||||
}
|
||||
//ping
|
||||
message errorPing{
|
||||
string description = 1;
|
||||
int32 error_number = 2;
|
||||
string error = 3;
|
||||
string source = 4;
|
||||
}
|
||||
message pingReq{
|
||||
}
|
||||
message pingResp{
|
||||
meta meta = 1;
|
||||
repeated errorPing errors = 2;
|
||||
repeated ping pings = 3;
|
||||
}
|
||||
|
||||
//list job response
|
||||
message job_response_properties{
|
||||
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;
|
||||
}
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
job_properties job = 2;
|
||||
repeated job_properties jobs = 3;
|
||||
}
|
||||
|
||||
message submitJobResp{
|
||||
repeated error errors = 1;
|
||||
uint32 job_id = 2;
|
||||
string step_id = 3;
|
||||
string job_submit_user_msg = 4;
|
||||
}
|
||||
|
||||
message listJobReq{
|
||||
uint32 update_time = 1;
|
||||
}
|
||||
|
||||
message listJobResp{
|
||||
repeated error errors = 1;
|
||||
repeated job_response_properties jobs = 2;
|
||||
}
|
||||
|
||||
message updateJobReq{
|
||||
job_update job_update = 1;
|
||||
}
|
||||
|
||||
message updateJobResp{
|
||||
}
|
||||
|
||||
message getJobReq{
|
||||
string job_id = 1;
|
||||
}
|
||||
|
||||
message getJobResp{
|
||||
Jobs jobs = 1;
|
||||
}
|
||||
|
||||
message listNodeReq{
|
||||
}
|
||||
|
||||
message listNodeResp{
|
||||
repeated error errors = 1;
|
||||
repeated node nodes = 2;
|
||||
}
|
||||
|
||||
service slurm {
|
||||
rpc submitJob(submitJobReq) returns (submitJobResp) {};
|
||||
rpc ping(pingReq) returns (pingResp) {};
|
||||
|
||||
rpc listJob(listJobReq) returns (listJobResp) {};
|
||||
rpc getJob(listJobReq) returns (listJobResp) {};
|
||||
rpc getJob(getJobReq) returns (getJobResp) {};
|
||||
rpc updateJob(updateJobReq) returns (updateJobResp) {};
|
||||
rpc cancelJob(cancelJobReq) returns (cancelJobResp) {};
|
||||
rpc submitJob(submitJobReq) returns (submitJobResp) {};
|
||||
|
||||
rpc listUser(listUserReq) returns (listUserResp) {};
|
||||
rpc getUser(getUserReq) returns (getUserResp) {};
|
||||
rpc updateUser(updateUserReq) returns (updateUserResp) {};
|
||||
rpc deleteUser(deleteUserReq) returns (deleteUserResp) {};
|
||||
|
||||
rpc listPartition(listPartitionReq) returns (listPartitionResp) {};
|
||||
rpc getPartition(getPartitionReq) returns (getPartitionResp) {};
|
||||
|
||||
|
||||
rpc listNode(listNodeReq) returns (listNodeResp) {};
|
||||
rpc getNode(getNodeReq) returns (getNodeResp) {};
|
||||
|
||||
rpc listReservation(listReservationReq) returns (listReservationResp) {};
|
||||
rpc getReservation(getReservationReq) returns (getReservationResp) {};
|
||||
|
||||
rpc loadConfiguration(loadConfigurationReq) returns (loadConfigurationResp) {};
|
||||
rpc dumpConfiguration(dumpConfigurationReq) returns (dumpConfigurationResp) {};
|
||||
|
||||
rpc listQos(listQosReq) returns (listQosResp) {};
|
||||
rpc getQos(getQosReq) returns (getQosResp) {};
|
||||
rpc deleteQos(deleteQosReq) returns (deleteQosResp) {};
|
||||
|
||||
rpc listTres(listTresReq) returns (listTresResp) {};
|
||||
rpc setTres(setTresReq) returns (setTresResp) {};
|
||||
|
||||
rpc listAccount(listAccountReq) returns (listAccountResp) {};
|
||||
rpc getAccount(getAccountReq) returns (getAccountResp) {};
|
||||
rpc updateAccount(updateAccountReq) returns (updateAccountResp) {};
|
||||
rpc deleteAccount(deleteAccountReq) returns (deleteAccountResp) {};
|
||||
|
||||
rpc listCluster(listClusterReq) returns (listClusterResp) {};
|
||||
rpc getCluster(getClusterReq) returns (getClusterResp) {};
|
||||
rpc addCluster(addClusterReq) returns (addClusterResp) {};
|
||||
rpc deleteCluster(deleteClusterReq) returns (deleteClusterResp) {};
|
||||
|
||||
rpc listWckey(listWckeyReq) returns (listWckeyResp) {};
|
||||
rpc getWckey(getWckeyReq) returns (getWckeyResp) {};
|
||||
rpc addWckey(addWckeyReq) returns (addWckeyResp) {};
|
||||
rpc deleteWckey(deleteWckeyReq) returns (deleteWckeyResp) {};
|
||||
|
||||
rpc listAssociation(listAssociationReq) returns (listAssociationResp) {};
|
||||
rpc getAssociation(getAssociationReq) returns (getAssociationResp) {};
|
||||
rpc setAssociation(setAssociationReq) returns (setAssociationResp) {};
|
||||
rpc deleteAssociation(deleteAssociationReq) returns (deleteAssociationResp) {};
|
||||
|
||||
rpc getDiagnostics(listDiagnosticsReq) returns (listDiagnosticsResp) {};
|
||||
rpc getDbDiagnostics(listDbDiagnosticsReq) returns (listDbDiagnosticsResp) {};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message tres {
|
||||
string type = 1;
|
||||
string name = 2;
|
||||
uint32 id = 3;
|
||||
uint32 count = 4;
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message user {
|
||||
|
||||
message Root {
|
||||
string account = 1;
|
||||
string cluster = 2;
|
||||
string partition = 3;
|
||||
string user = 4;
|
||||
}
|
||||
|
||||
message Associations {
|
||||
Associations root = 1;
|
||||
}
|
||||
|
||||
message Coordinators {
|
||||
string name = 1;
|
||||
uint32 direct = 2;
|
||||
}
|
||||
|
||||
message Default {
|
||||
string account = 1;
|
||||
string wckey = 2;
|
||||
}
|
||||
|
||||
string administrator_level = 1;
|
||||
Associations associations = 2;
|
||||
repeated Coordinators coordinators = 3;
|
||||
Default default = 4;
|
||||
string name = 5;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package slurm;
|
||||
option go_package = "/slurm";
|
||||
|
||||
message wckey {
|
||||
repeated string accounts = 1;
|
||||
string cluster = 2;
|
||||
uint32 id = 3;
|
||||
string name = 4;
|
||||
string user = 5;
|
||||
repeated string flags = 6;
|
||||
}
|
6
slurm.go
6
slurm.go
|
@ -43,7 +43,7 @@ func main() {
|
|||
ctx.Cron.Start()
|
||||
cron.AddCronGroup(ctx)
|
||||
// 推送p端静态信息
|
||||
PushParticipantInfo(ctx.Config.ClusterUrl, ctx.ParticipantRpc)
|
||||
PushParticipantInfo(ctx.Config.RestUrl, ctx.ParticipantRpc)
|
||||
fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
|
||||
s.Start()
|
||||
}
|
||||
|
@ -59,8 +59,8 @@ func PushParticipantInfo(address string, participantService participantservice.P
|
|||
// 注册到core端
|
||||
var labels []*pcmCore.ParticipantLabel
|
||||
labels = append(labels, &pcmCore.ParticipantLabel{
|
||||
Key: "nudt",
|
||||
Value: "light",
|
||||
Key: "hpc",
|
||||
Value: "slurm",
|
||||
})
|
||||
|
||||
req := participantservice.ParticipantPhyReq{
|
||||
|
|
|
@ -0,0 +1,360 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: account.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Account struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Associations []*Account_Associations `protobuf:"bytes,1,rep,name=associations,proto3" json:"associations,omitempty"`
|
||||
Coordinators []*Account_Coordinators `protobuf:"bytes,2,rep,name=coordinators,proto3" json:"coordinators,omitempty"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
||||
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Organization string `protobuf:"bytes,5,opt,name=organization,proto3" json:"organization,omitempty"`
|
||||
Flags []string `protobuf:"bytes,6,rep,name=flags,proto3" json:"flags,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Account) Reset() {
|
||||
*x = Account{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_account_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Account) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Account) ProtoMessage() {}
|
||||
|
||||
func (x *Account) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_account_proto_msgTypes[0]
|
||||
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 Account.ProtoReflect.Descriptor instead.
|
||||
func (*Account) Descriptor() ([]byte, []int) {
|
||||
return file_account_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Account) GetAssociations() []*Account_Associations {
|
||||
if x != nil {
|
||||
return x.Associations
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Account) GetCoordinators() []*Account_Coordinators {
|
||||
if x != nil {
|
||||
return x.Coordinators
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Account) GetDescription() string {
|
||||
if x != nil {
|
||||
return x.Description
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account) GetOrganization() string {
|
||||
if x != nil {
|
||||
return x.Organization
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account) GetFlags() []string {
|
||||
if x != nil {
|
||||
return x.Flags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Account_Associations struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
||||
Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
||||
Partition string `protobuf:"bytes,3,opt,name=partition,proto3" json:"partition,omitempty"`
|
||||
User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Account_Associations) Reset() {
|
||||
*x = Account_Associations{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_account_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Account_Associations) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Account_Associations) ProtoMessage() {}
|
||||
|
||||
func (x *Account_Associations) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_account_proto_msgTypes[1]
|
||||
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 Account_Associations.ProtoReflect.Descriptor instead.
|
||||
func (*Account_Associations) Descriptor() ([]byte, []int) {
|
||||
return file_account_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *Account_Associations) GetAccount() string {
|
||||
if x != nil {
|
||||
return x.Account
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account_Associations) GetCluster() string {
|
||||
if x != nil {
|
||||
return x.Cluster
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account_Associations) GetPartition() string {
|
||||
if x != nil {
|
||||
return x.Partition
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account_Associations) GetUser() string {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type Account_Coordinators struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Direct uint32 `protobuf:"varint,2,opt,name=direct,proto3" json:"direct,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Account_Coordinators) Reset() {
|
||||
*x = Account_Coordinators{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_account_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Account_Coordinators) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Account_Coordinators) ProtoMessage() {}
|
||||
|
||||
func (x *Account_Coordinators) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_account_proto_msgTypes[2]
|
||||
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 Account_Coordinators.ProtoReflect.Descriptor instead.
|
||||
func (*Account_Coordinators) Descriptor() ([]byte, []int) {
|
||||
return file_account_proto_rawDescGZIP(), []int{0, 1}
|
||||
}
|
||||
|
||||
func (x *Account_Coordinators) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Account_Coordinators) GetDirect() uint32 {
|
||||
if x != nil {
|
||||
return x.Direct
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_account_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_account_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x22, 0xad, 0x03, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x6c, 0x75, 0x72,
|
||||
0x6d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69,
|
||||
0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
|
||||
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72,
|
||||
0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66,
|
||||
0x6c, 0x61, 0x67, 0x73, 0x1a, 0x74, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72,
|
||||
0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f,
|
||||
0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
|
||||
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_account_proto_rawDescOnce sync.Once
|
||||
file_account_proto_rawDescData = file_account_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_account_proto_rawDescGZIP() []byte {
|
||||
file_account_proto_rawDescOnce.Do(func() {
|
||||
file_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_account_proto_rawDescData)
|
||||
})
|
||||
return file_account_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_account_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||
var file_account_proto_goTypes = []interface{}{
|
||||
(*Account)(nil), // 0: slurm.account
|
||||
(*Account_Associations)(nil), // 1: slurm.account.Associations
|
||||
(*Account_Coordinators)(nil), // 2: slurm.account.Coordinators
|
||||
}
|
||||
var file_account_proto_depIdxs = []int32{
|
||||
1, // 0: slurm.account.associations:type_name -> slurm.account.Associations
|
||||
2, // 1: slurm.account.coordinators:type_name -> slurm.account.Coordinators
|
||||
2, // [2:2] is the sub-list for method output_type
|
||||
2, // [2:2] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_account_proto_init() }
|
||||
func file_account_proto_init() {
|
||||
if File_account_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Account); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Account_Associations); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Account_Coordinators); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_account_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 3,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_account_proto_goTypes,
|
||||
DependencyIndexes: file_account_proto_depIdxs,
|
||||
MessageInfos: file_account_proto_msgTypes,
|
||||
}.Build()
|
||||
File_account_proto = out.File
|
||||
file_account_proto_rawDesc = nil
|
||||
file_account_proto_goTypes = nil
|
||||
file_account_proto_depIdxs = nil
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,518 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: cluster.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Cluster struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Controller *Cluster_Controller `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"`
|
||||
Flags []string `protobuf:"bytes,2,rep,name=flags,proto3" json:"flags,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Nodes string `protobuf:"bytes,4,opt,name=nodes,proto3" json:"nodes,omitempty"`
|
||||
SelectPlugin string `protobuf:"bytes,5,opt,name=select_plugin,json=selectPlugin,proto3" json:"select_plugin,omitempty"`
|
||||
Associations *Cluster_Associations `protobuf:"bytes,6,opt,name=associations,proto3" json:"associations,omitempty"`
|
||||
RpcVersion uint32 `protobuf:"varint,7,opt,name=rpc_version,json=rpcVersion,proto3" json:"rpc_version,omitempty"`
|
||||
Tres []*Tres `protobuf:"bytes,8,rep,name=tres,proto3" json:"tres,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Cluster) Reset() {
|
||||
*x = Cluster{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cluster_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cluster) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cluster) ProtoMessage() {}
|
||||
|
||||
func (x *Cluster) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cluster_proto_msgTypes[0]
|
||||
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 Cluster.ProtoReflect.Descriptor instead.
|
||||
func (*Cluster) Descriptor() ([]byte, []int) {
|
||||
return file_cluster_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Cluster) GetController() *Cluster_Controller {
|
||||
if x != nil {
|
||||
return x.Controller
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Cluster) GetFlags() []string {
|
||||
if x != nil {
|
||||
return x.Flags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Cluster) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster) GetNodes() string {
|
||||
if x != nil {
|
||||
return x.Nodes
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster) GetSelectPlugin() string {
|
||||
if x != nil {
|
||||
return x.SelectPlugin
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster) GetAssociations() *Cluster_Associations {
|
||||
if x != nil {
|
||||
return x.Associations
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Cluster) GetRpcVersion() uint32 {
|
||||
if x != nil {
|
||||
return x.RpcVersion
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Cluster) GetTres() []*Tres {
|
||||
if x != nil {
|
||||
return x.Tres
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Cluster_Controller struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
|
||||
Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Cluster_Controller) Reset() {
|
||||
*x = Cluster_Controller{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cluster_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cluster_Controller) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cluster_Controller) ProtoMessage() {}
|
||||
|
||||
func (x *Cluster_Controller) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cluster_proto_msgTypes[1]
|
||||
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 Cluster_Controller.ProtoReflect.Descriptor instead.
|
||||
func (*Cluster_Controller) Descriptor() ([]byte, []int) {
|
||||
return file_cluster_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *Cluster_Controller) GetHost() string {
|
||||
if x != nil {
|
||||
return x.Host
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster_Controller) GetPort() uint32 {
|
||||
if x != nil {
|
||||
return x.Port
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Cluster_Root struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
||||
Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
||||
Partition string `protobuf:"bytes,3,opt,name=partition,proto3" json:"partition,omitempty"`
|
||||
User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) Reset() {
|
||||
*x = Cluster_Root{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cluster_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cluster_Root) ProtoMessage() {}
|
||||
|
||||
func (x *Cluster_Root) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cluster_proto_msgTypes[2]
|
||||
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 Cluster_Root.ProtoReflect.Descriptor instead.
|
||||
func (*Cluster_Root) Descriptor() ([]byte, []int) {
|
||||
return file_cluster_proto_rawDescGZIP(), []int{0, 1}
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) GetAccount() string {
|
||||
if x != nil {
|
||||
return x.Account
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) GetCluster() string {
|
||||
if x != nil {
|
||||
return x.Cluster
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) GetPartition() string {
|
||||
if x != nil {
|
||||
return x.Partition
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Cluster_Root) GetUser() string {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type Cluster_Associations struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Root *Cluster_Root `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Cluster_Associations) Reset() {
|
||||
*x = Cluster_Associations{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cluster_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cluster_Associations) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cluster_Associations) ProtoMessage() {}
|
||||
|
||||
func (x *Cluster_Associations) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cluster_proto_msgTypes[3]
|
||||
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 Cluster_Associations.ProtoReflect.Descriptor instead.
|
||||
func (*Cluster_Associations) Descriptor() ([]byte, []int) {
|
||||
return file_cluster_proto_rawDescGZIP(), []int{0, 2}
|
||||
}
|
||||
|
||||
func (x *Cluster_Associations) GetRoot() *Cluster_Root {
|
||||
if x != nil {
|
||||
return x.Root
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Cluster_Errors struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Errno uint32 `protobuf:"varint,1,opt,name=errno,proto3" json:"errno,omitempty"`
|
||||
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Cluster_Errors) Reset() {
|
||||
*x = Cluster_Errors{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_cluster_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cluster_Errors) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cluster_Errors) ProtoMessage() {}
|
||||
|
||||
func (x *Cluster_Errors) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_cluster_proto_msgTypes[4]
|
||||
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 Cluster_Errors.ProtoReflect.Descriptor instead.
|
||||
func (*Cluster_Errors) Descriptor() ([]byte, []int) {
|
||||
return file_cluster_proto_rawDescGZIP(), []int{0, 3}
|
||||
}
|
||||
|
||||
func (x *Cluster_Errors) GetErrno() uint32 {
|
||||
if x != nil {
|
||||
return x.Errno
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Cluster_Errors) GetError() string {
|
||||
if x != nil {
|
||||
return x.Error
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_cluster_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_cluster_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x1a, 0x0a, 0x74, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x22, 0xbf, 0x04, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x39,
|
||||
0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x0a, 0x63,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61,
|
||||
0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c,
|
||||
0x65, 0x63, 0x74, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x3f,
|
||||
0x0a, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
|
||||
0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x1f, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
|
||||
0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x74, 0x72, 0x65, 0x73, 0x52, 0x04, 0x74, 0x72, 0x65,
|
||||
0x73, 0x1a, 0x34, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68,
|
||||
0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x6c, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x74, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x1a, 0x34,
|
||||
0x0a, 0x06, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6e,
|
||||
0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65,
|
||||
0x72, 0x72, 0x6f, 0x72, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_cluster_proto_rawDescOnce sync.Once
|
||||
file_cluster_proto_rawDescData = file_cluster_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_cluster_proto_rawDescGZIP() []byte {
|
||||
file_cluster_proto_rawDescOnce.Do(func() {
|
||||
file_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_cluster_proto_rawDescData)
|
||||
})
|
||||
return file_cluster_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_cluster_proto_goTypes = []interface{}{
|
||||
(*Cluster)(nil), // 0: slurm.cluster
|
||||
(*Cluster_Controller)(nil), // 1: slurm.cluster.Controller
|
||||
(*Cluster_Root)(nil), // 2: slurm.cluster.Root
|
||||
(*Cluster_Associations)(nil), // 3: slurm.cluster.Associations
|
||||
(*Cluster_Errors)(nil), // 4: slurm.cluster.Errors
|
||||
(*Tres)(nil), // 5: slurm.tres
|
||||
}
|
||||
var file_cluster_proto_depIdxs = []int32{
|
||||
1, // 0: slurm.cluster.controller:type_name -> slurm.cluster.Controller
|
||||
3, // 1: slurm.cluster.associations:type_name -> slurm.cluster.Associations
|
||||
5, // 2: slurm.cluster.tres:type_name -> slurm.tres
|
||||
2, // 3: slurm.cluster.Associations.root:type_name -> slurm.cluster.Root
|
||||
4, // [4:4] is the sub-list for method output_type
|
||||
4, // [4:4] is the sub-list for method input_type
|
||||
4, // [4:4] is the sub-list for extension type_name
|
||||
4, // [4:4] is the sub-list for extension extendee
|
||||
0, // [0:4] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_cluster_proto_init() }
|
||||
func file_cluster_proto_init() {
|
||||
if File_cluster_proto != nil {
|
||||
return
|
||||
}
|
||||
file_tres_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cluster); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cluster_Controller); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_cluster_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cluster_Root); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_cluster_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cluster_Associations); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_cluster_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cluster_Errors); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_cluster_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_cluster_proto_goTypes,
|
||||
DependencyIndexes: file_cluster_proto_depIdxs,
|
||||
MessageInfos: file_cluster_proto_msgTypes,
|
||||
}.Build()
|
||||
File_cluster_proto = out.File
|
||||
file_cluster_proto_rawDesc = nil
|
||||
file_cluster_proto_goTypes = nil
|
||||
file_cluster_proto_depIdxs = nil
|
||||
}
|
|
@ -0,0 +1,756 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: common.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Error struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
||||
Errno uint32 `protobuf:"varint,2,opt,name=errno,proto3" json:"errno,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Error) Reset() {
|
||||
*x = Error{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Error) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Error) ProtoMessage() {}
|
||||
|
||||
func (x *Error) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[0]
|
||||
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 Error.ProtoReflect.Descriptor instead.
|
||||
func (*Error) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Error) GetError() string {
|
||||
if x != nil {
|
||||
return x.Error
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Error) GetErrno() uint32 {
|
||||
if x != nil {
|
||||
return x.Errno
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Environment struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *Environment) Reset() {
|
||||
*x = Environment{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Environment) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Environment) ProtoMessage() {}
|
||||
|
||||
func (x *Environment) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[1]
|
||||
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 Environment.ProtoReflect.Descriptor instead.
|
||||
func (*Environment) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type Cpus struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *Cpus) Reset() {
|
||||
*x = Cpus{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cpus) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cpus) ProtoMessage() {}
|
||||
|
||||
func (x *Cpus) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[2]
|
||||
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 Cpus.ProtoReflect.Descriptor instead.
|
||||
func (*Cpus) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
type Sockets struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *Sockets) Reset() {
|
||||
*x = Sockets{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Sockets) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Sockets) ProtoMessage() {}
|
||||
|
||||
func (x *Sockets) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[3]
|
||||
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 Sockets.ProtoReflect.Descriptor instead.
|
||||
func (*Sockets) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
type Cores struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *Cores) Reset() {
|
||||
*x = Cores{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Cores) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Cores) ProtoMessage() {}
|
||||
|
||||
func (x *Cores) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[4]
|
||||
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 Cores.ProtoReflect.Descriptor instead.
|
||||
func (*Cores) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
type AllocatedNodes struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Memory uint32 `protobuf:"varint,1,opt,name=memory,proto3" json:"memory,omitempty"`
|
||||
Cpus *Cpus `protobuf:"bytes,2,opt,name=cpus,proto3" json:"cpus,omitempty"`
|
||||
Sockets *Sockets `protobuf:"bytes,3,opt,name=sockets,proto3" json:"sockets,omitempty"`
|
||||
Cores *Cores `protobuf:"bytes,4,opt,name=cores,proto3" json:"cores,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) Reset() {
|
||||
*x = AllocatedNodes{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*AllocatedNodes) ProtoMessage() {}
|
||||
|
||||
func (x *AllocatedNodes) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[5]
|
||||
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 AllocatedNodes.ProtoReflect.Descriptor instead.
|
||||
func (*AllocatedNodes) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) GetMemory() uint32 {
|
||||
if x != nil {
|
||||
return x.Memory
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) GetCpus() *Cpus {
|
||||
if x != nil {
|
||||
return x.Cpus
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) GetSockets() *Sockets {
|
||||
if x != nil {
|
||||
return x.Sockets
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AllocatedNodes) GetCores() *Cores {
|
||||
if x != nil {
|
||||
return x.Cores
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Meta struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Plugin *Meta_Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"`
|
||||
Slurm *Meta_Slurm `protobuf:"bytes,2,opt,name=slurm,proto3" json:"slurm,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Meta) Reset() {
|
||||
*x = Meta{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Meta) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Meta) ProtoMessage() {}
|
||||
|
||||
func (x *Meta) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[6]
|
||||
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 Meta.ProtoReflect.Descriptor instead.
|
||||
func (*Meta) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *Meta) GetPlugin() *Meta_Plugin {
|
||||
if x != nil {
|
||||
return x.Plugin
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Meta) GetSlurm() *Meta_Slurm {
|
||||
if x != nil {
|
||||
return x.Slurm
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Meta_Plugin struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Meta_Plugin) Reset() {
|
||||
*x = Meta_Plugin{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Meta_Plugin) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Meta_Plugin) ProtoMessage() {}
|
||||
|
||||
func (x *Meta_Plugin) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[7]
|
||||
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 Meta_Plugin.ProtoReflect.Descriptor instead.
|
||||
func (*Meta_Plugin) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{6, 0}
|
||||
}
|
||||
|
||||
func (x *Meta_Plugin) GetType() string {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Meta_Plugin) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type Meta_Version struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Major uint32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
|
||||
Micro uint32 `protobuf:"varint,2,opt,name=micro,proto3" json:"micro,omitempty"`
|
||||
Minor uint32 `protobuf:"varint,3,opt,name=minor,proto3" json:"minor,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Meta_Version) Reset() {
|
||||
*x = Meta_Version{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Meta_Version) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Meta_Version) ProtoMessage() {}
|
||||
|
||||
func (x *Meta_Version) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[8]
|
||||
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 Meta_Version.ProtoReflect.Descriptor instead.
|
||||
func (*Meta_Version) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{6, 1}
|
||||
}
|
||||
|
||||
func (x *Meta_Version) GetMajor() uint32 {
|
||||
if x != nil {
|
||||
return x.Major
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Meta_Version) GetMicro() uint32 {
|
||||
if x != nil {
|
||||
return x.Micro
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Meta_Version) GetMinor() uint32 {
|
||||
if x != nil {
|
||||
return x.Minor
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Meta_Slurm struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Version *Meta_Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
Release string `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Meta_Slurm) Reset() {
|
||||
*x = Meta_Slurm{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_common_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Meta_Slurm) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Meta_Slurm) ProtoMessage() {}
|
||||
|
||||
func (x *Meta_Slurm) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_common_proto_msgTypes[9]
|
||||
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 Meta_Slurm.ProtoReflect.Descriptor instead.
|
||||
func (*Meta_Slurm) Descriptor() ([]byte, []int) {
|
||||
return file_common_proto_rawDescGZIP(), []int{6, 2}
|
||||
}
|
||||
|
||||
func (x *Meta_Slurm) GetVersion() *Meta_Version {
|
||||
if x != nil {
|
||||
return x.Version
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Meta_Slurm) GetRelease() string {
|
||||
if x != nil {
|
||||
return x.Release
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_common_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_common_proto_rawDesc = []byte{
|
||||
0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
|
||||
0x73, 0x6c, 0x75, 0x72, 0x6d, 0x22, 0x33, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65,
|
||||
0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x22, 0x0d, 0x0a, 0x0b, 0x45, 0x6e,
|
||||
0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x06, 0x0a, 0x04, 0x43, 0x70, 0x75,
|
||||
0x73, 0x22, 0x09, 0x0a, 0x07, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x07, 0x0a, 0x05,
|
||||
0x43, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d,
|
||||
0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
|
||||
0x79, 0x12, 0x1f, 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0b, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x43, 0x70, 0x75, 0x73, 0x52, 0x04, 0x63, 0x70,
|
||||
0x75, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
|
||||
0x65, 0x74, 0x73, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x05,
|
||||
0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73,
|
||||
0x22, 0xac, 0x02, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6c, 0x75,
|
||||
0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x6c, 0x75, 0x72,
|
||||
0x6d, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06, 0x70,
|
||||
0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x6d, 0x65, 0x74,
|
||||
0x61, 0x2e, 0x53, 0x6c, 0x75, 0x72, 0x6d, 0x52, 0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x1a, 0x30,
|
||||
0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x1a, 0x4b, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d,
|
||||
0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f,
|
||||
0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x05, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x1a, 0x50, 0x0a,
|
||||
0x05, 0x53, 0x6c, 0x75, 0x72, 0x6d, 0x12, 0x2d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e,
|
||||
0x6d, 0x65, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42,
|
||||
0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_common_proto_rawDescOnce sync.Once
|
||||
file_common_proto_rawDescData = file_common_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_common_proto_rawDescGZIP() []byte {
|
||||
file_common_proto_rawDescOnce.Do(func() {
|
||||
file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData)
|
||||
})
|
||||
return file_common_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
||||
var file_common_proto_goTypes = []interface{}{
|
||||
(*Error)(nil), // 0: slurm.error
|
||||
(*Environment)(nil), // 1: slurm.Environment
|
||||
(*Cpus)(nil), // 2: slurm.Cpus
|
||||
(*Sockets)(nil), // 3: slurm.Sockets
|
||||
(*Cores)(nil), // 4: slurm.Cores
|
||||
(*AllocatedNodes)(nil), // 5: slurm.Allocated_nodes
|
||||
(*Meta)(nil), // 6: slurm.meta
|
||||
(*Meta_Plugin)(nil), // 7: slurm.meta.Plugin
|
||||
(*Meta_Version)(nil), // 8: slurm.meta.Version
|
||||
(*Meta_Slurm)(nil), // 9: slurm.meta.Slurm
|
||||
}
|
||||
var file_common_proto_depIdxs = []int32{
|
||||
2, // 0: slurm.Allocated_nodes.cpus:type_name -> slurm.Cpus
|
||||
3, // 1: slurm.Allocated_nodes.sockets:type_name -> slurm.Sockets
|
||||
4, // 2: slurm.Allocated_nodes.cores:type_name -> slurm.Cores
|
||||
7, // 3: slurm.meta.plugin:type_name -> slurm.meta.Plugin
|
||||
9, // 4: slurm.meta.slurm:type_name -> slurm.meta.Slurm
|
||||
8, // 5: slurm.meta.Slurm.version:type_name -> slurm.meta.Version
|
||||
6, // [6:6] is the sub-list for method output_type
|
||||
6, // [6:6] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_common_proto_init() }
|
||||
func file_common_proto_init() {
|
||||
if File_common_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Error); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Environment); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cpus); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Sockets); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Cores); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AllocatedNodes); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Meta); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Meta_Plugin); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Meta_Version); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Meta_Slurm); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_common_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 10,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_common_proto_goTypes,
|
||||
DependencyIndexes: file_common_proto_depIdxs,
|
||||
MessageInfos: file_common_proto_msgTypes,
|
||||
}.Build()
|
||||
File_common_proto = out.File
|
||||
file_common_proto_rawDesc = nil
|
||||
file_common_proto_goTypes = nil
|
||||
file_common_proto_depIdxs = nil
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,480 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: node.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
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_node_proto_msgTypes[0]
|
||||
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_node_proto_msgTypes[0]
|
||||
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_node_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
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 ""
|
||||
}
|
||||
|
||||
var File_node_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_node_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 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, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_node_proto_rawDescOnce sync.Once
|
||||
file_node_proto_rawDescData = file_node_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_node_proto_rawDescGZIP() []byte {
|
||||
file_node_proto_rawDescOnce.Do(func() {
|
||||
file_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_node_proto_rawDescData)
|
||||
})
|
||||
return file_node_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_node_proto_goTypes = []interface{}{
|
||||
(*Node)(nil), // 0: slurm.node
|
||||
}
|
||||
var file_node_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_node_proto_init() }
|
||||
func file_node_proto_init() {
|
||||
if File_node_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Node); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_node_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_node_proto_goTypes,
|
||||
DependencyIndexes: file_node_proto_depIdxs,
|
||||
MessageInfos: file_node_proto_msgTypes,
|
||||
}.Build()
|
||||
File_node_proto = out.File
|
||||
file_node_proto_rawDesc = nil
|
||||
file_node_proto_goTypes = nil
|
||||
file_node_proto_depIdxs = nil
|
||||
}
|
|
@ -0,0 +1,422 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: partition.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Partition struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"`
|
||||
PreemptionMode []string `protobuf:"bytes,2,rep,name=preemption_mode,json=preemptionMode,proto3" json:"preemption_mode,omitempty"`
|
||||
AllowedAllocationNodes string `protobuf:"bytes,3,opt,name=allowed_allocation_nodes,json=allowedAllocationNodes,proto3" json:"allowed_allocation_nodes,omitempty"`
|
||||
AllowedAccounts string `protobuf:"bytes,4,opt,name=allowed_accounts,json=allowedAccounts,proto3" json:"allowed_accounts,omitempty"`
|
||||
AllowedGroups string `protobuf:"bytes,5,opt,name=allowed_groups,json=allowedGroups,proto3" json:"allowed_groups,omitempty"`
|
||||
AllowedQos string `protobuf:"bytes,6,opt,name=allowed_qos,json=allowedQos,proto3" json:"allowed_qos,omitempty"`
|
||||
Alternative string `protobuf:"bytes,7,opt,name=alternative,proto3" json:"alternative,omitempty"`
|
||||
BillingWeights string `protobuf:"bytes,8,opt,name=billing_weights,json=billingWeights,proto3" json:"billing_weights,omitempty"`
|
||||
DefaultMemoryPerCpu uint32 `protobuf:"varint,9,opt,name=default_memory_per_cpu,json=defaultMemoryPerCpu,proto3" json:"default_memory_per_cpu,omitempty"`
|
||||
DefaultTimeLimit uint32 `protobuf:"varint,10,opt,name=default_time_limit,json=defaultTimeLimit,proto3" json:"default_time_limit,omitempty"`
|
||||
DeniedAccounts string `protobuf:"bytes,11,opt,name=denied_accounts,json=deniedAccounts,proto3" json:"denied_accounts,omitempty"`
|
||||
DeniedQos string `protobuf:"bytes,12,opt,name=denied_qos,json=deniedQos,proto3" json:"denied_qos,omitempty"`
|
||||
PreemptionGraceTime uint32 `protobuf:"varint,13,opt,name=preemption_grace_time,json=preemptionGraceTime,proto3" json:"preemption_grace_time,omitempty"`
|
||||
MaximumCpusPerNode uint32 `protobuf:"varint,14,opt,name=maximum_cpus_per_node,json=maximumCpusPerNode,proto3" json:"maximum_cpus_per_node,omitempty"`
|
||||
MaximumMemoryPerNode uint32 `protobuf:"varint,15,opt,name=maximum_memory_per_node,json=maximumMemoryPerNode,proto3" json:"maximum_memory_per_node,omitempty"`
|
||||
MaximumNodesPerJob uint32 `protobuf:"varint,16,opt,name=maximum_nodes_per_job,json=maximumNodesPerJob,proto3" json:"maximum_nodes_per_job,omitempty"`
|
||||
MaxTimeLimit uint32 `protobuf:"varint,17,opt,name=max_time_limit,json=maxTimeLimit,proto3" json:"max_time_limit,omitempty"`
|
||||
MinNodesPerJob uint32 `protobuf:"varint,18,opt,name=min_nodes_per_job,json=minNodesPerJob,proto3" json:"min_nodes_per_job,omitempty"`
|
||||
Name string `protobuf:"bytes,19,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Nodes string `protobuf:"bytes,20,opt,name=nodes,proto3" json:"nodes,omitempty"`
|
||||
OverTimeLimit uint32 `protobuf:"varint,21,opt,name=over_time_limit,json=overTimeLimit,proto3" json:"over_time_limit,omitempty"`
|
||||
PriorityJobFactor uint32 `protobuf:"varint,22,opt,name=priority_job_factor,json=priorityJobFactor,proto3" json:"priority_job_factor,omitempty"`
|
||||
PriorityTier uint32 `protobuf:"varint,23,opt,name=priority_tier,json=priorityTier,proto3" json:"priority_tier,omitempty"`
|
||||
Qos string `protobuf:"bytes,24,opt,name=qos,proto3" json:"qos,omitempty"`
|
||||
State string `protobuf:"bytes,25,opt,name=state,proto3" json:"state,omitempty"`
|
||||
TotalCpus uint32 `protobuf:"varint,26,opt,name=total_cpus,json=totalCpus,proto3" json:"total_cpus,omitempty"`
|
||||
TotalNodes uint32 `protobuf:"varint,27,opt,name=total_nodes,json=totalNodes,proto3" json:"total_nodes,omitempty"`
|
||||
Tres string `protobuf:"bytes,28,opt,name=tres,proto3" json:"tres,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Partition) Reset() {
|
||||
*x = Partition{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_partition_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Partition) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Partition) ProtoMessage() {}
|
||||
|
||||
func (x *Partition) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_partition_proto_msgTypes[0]
|
||||
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 Partition.ProtoReflect.Descriptor instead.
|
||||
func (*Partition) Descriptor() ([]byte, []int) {
|
||||
return file_partition_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Partition) GetFlags() []string {
|
||||
if x != nil {
|
||||
return x.Flags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Partition) GetPreemptionMode() []string {
|
||||
if x != nil {
|
||||
return x.PreemptionMode
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Partition) GetAllowedAllocationNodes() string {
|
||||
if x != nil {
|
||||
return x.AllowedAllocationNodes
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetAllowedAccounts() string {
|
||||
if x != nil {
|
||||
return x.AllowedAccounts
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetAllowedGroups() string {
|
||||
if x != nil {
|
||||
return x.AllowedGroups
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetAllowedQos() string {
|
||||
if x != nil {
|
||||
return x.AllowedQos
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetAlternative() string {
|
||||
if x != nil {
|
||||
return x.Alternative
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetBillingWeights() string {
|
||||
if x != nil {
|
||||
return x.BillingWeights
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetDefaultMemoryPerCpu() uint32 {
|
||||
if x != nil {
|
||||
return x.DefaultMemoryPerCpu
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetDefaultTimeLimit() uint32 {
|
||||
if x != nil {
|
||||
return x.DefaultTimeLimit
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetDeniedAccounts() string {
|
||||
if x != nil {
|
||||
return x.DeniedAccounts
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetDeniedQos() string {
|
||||
if x != nil {
|
||||
return x.DeniedQos
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetPreemptionGraceTime() uint32 {
|
||||
if x != nil {
|
||||
return x.PreemptionGraceTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetMaximumCpusPerNode() uint32 {
|
||||
if x != nil {
|
||||
return x.MaximumCpusPerNode
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetMaximumMemoryPerNode() uint32 {
|
||||
if x != nil {
|
||||
return x.MaximumMemoryPerNode
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetMaximumNodesPerJob() uint32 {
|
||||
if x != nil {
|
||||
return x.MaximumNodesPerJob
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetMaxTimeLimit() uint32 {
|
||||
if x != nil {
|
||||
return x.MaxTimeLimit
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetMinNodesPerJob() uint32 {
|
||||
if x != nil {
|
||||
return x.MinNodesPerJob
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetNodes() string {
|
||||
if x != nil {
|
||||
return x.Nodes
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetOverTimeLimit() uint32 {
|
||||
if x != nil {
|
||||
return x.OverTimeLimit
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetPriorityJobFactor() uint32 {
|
||||
if x != nil {
|
||||
return x.PriorityJobFactor
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetPriorityTier() uint32 {
|
||||
if x != nil {
|
||||
return x.PriorityTier
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetQos() string {
|
||||
if x != nil {
|
||||
return x.Qos
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetState() string {
|
||||
if x != nil {
|
||||
return x.State
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Partition) GetTotalCpus() uint32 {
|
||||
if x != nil {
|
||||
return x.TotalCpus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetTotalNodes() uint32 {
|
||||
if x != nil {
|
||||
return x.TotalNodes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Partition) GetTres() string {
|
||||
if x != nil {
|
||||
return x.Tres
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_partition_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_partition_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x22, 0xb2, 0x08, 0x0a, 0x09, 0x70, 0x61, 0x72,
|
||||
0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x0f,
|
||||
0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
|
||||
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
|
||||
0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65,
|
||||
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12,
|
||||
0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
|
||||
0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c,
|
||||
0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x71, 0x6f, 0x73,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x51,
|
||||
0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76,
|
||||
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61,
|
||||
0x74, 0x69, 0x76, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
|
||||
0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62,
|
||||
0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x12, 0x33, 0x0a,
|
||||
0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f,
|
||||
0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64,
|
||||
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x50, 0x65, 0x72, 0x43,
|
||||
0x70, 0x75, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
|
||||
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x6e, 0x69, 0x65,
|
||||
0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6e,
|
||||
0x69, 0x65, 0x64, 0x5f, 0x71, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64,
|
||||
0x65, 0x6e, 0x69, 0x65, 0x64, 0x51, 0x6f, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x65,
|
||||
0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15,
|
||||
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x5f, 0x70, 0x65, 0x72,
|
||||
0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x61, 0x78,
|
||||
0x69, 0x6d, 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x50, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x35, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
|
||||
0x79, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x14, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x50,
|
||||
0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75,
|
||||
0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x18,
|
||||
0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x73, 0x50, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78,
|
||||
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
|
||||
0x29, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72,
|
||||
0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4e,
|
||||
0x6f, 0x64, 0x65, 0x73, 0x50, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f,
|
||||
0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x13,
|
||||
0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x66, 0x61, 0x63,
|
||||
0x74, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6f, 0x72,
|
||||
0x69, 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d,
|
||||
0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x17, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x69, 0x65,
|
||||
0x72, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||
0x71, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74,
|
||||
0x6f, 0x74, 0x61, 0x6c, 0x43, 0x70, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74,
|
||||
0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65,
|
||||
0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x72, 0x65, 0x73, 0x42, 0x08, 0x5a,
|
||||
0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_partition_proto_rawDescOnce sync.Once
|
||||
file_partition_proto_rawDescData = file_partition_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_partition_proto_rawDescGZIP() []byte {
|
||||
file_partition_proto_rawDescOnce.Do(func() {
|
||||
file_partition_proto_rawDescData = protoimpl.X.CompressGZIP(file_partition_proto_rawDescData)
|
||||
})
|
||||
return file_partition_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_partition_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_partition_proto_goTypes = []interface{}{
|
||||
(*Partition)(nil), // 0: slurm.partition
|
||||
}
|
||||
var file_partition_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_partition_proto_init() }
|
||||
func file_partition_proto_init() {
|
||||
if File_partition_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_partition_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Partition); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_partition_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_partition_proto_goTypes,
|
||||
DependencyIndexes: file_partition_proto_depIdxs,
|
||||
MessageInfos: file_partition_proto_msgTypes,
|
||||
}.Build()
|
||||
File_partition_proto = out.File
|
||||
file_partition_proto_rawDesc = nil
|
||||
file_partition_proto_goTypes = nil
|
||||
file_partition_proto_depIdxs = nil
|
||||
}
|
|
@ -0,0 +1,169 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: ping.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Ping struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
|
||||
Ping string `protobuf:"bytes,2,opt,name=ping,proto3" json:"ping,omitempty"`
|
||||
Status uint32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
|
||||
Mode string `protobuf:"bytes,4,opt,name=mode,proto3" json:"mode,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Ping) Reset() {
|
||||
*x = Ping{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_ping_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Ping) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Ping) ProtoMessage() {}
|
||||
|
||||
func (x *Ping) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_ping_proto_msgTypes[0]
|
||||
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 Ping.ProtoReflect.Descriptor instead.
|
||||
func (*Ping) Descriptor() ([]byte, []int) {
|
||||
return file_ping_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Ping) GetHostname() string {
|
||||
if x != nil {
|
||||
return x.Hostname
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Ping) GetPing() string {
|
||||
if x != nil {
|
||||
return x.Ping
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Ping) GetStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.Status
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Ping) GetMode() string {
|
||||
if x != nil {
|
||||
return x.Mode
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_ping_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_ping_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 0x22, 0x62, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68,
|
||||
0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68,
|
||||
0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73,
|
||||
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61,
|
||||
0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72,
|
||||
0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_ping_proto_rawDescOnce sync.Once
|
||||
file_ping_proto_rawDescData = file_ping_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_ping_proto_rawDescGZIP() []byte {
|
||||
file_ping_proto_rawDescOnce.Do(func() {
|
||||
file_ping_proto_rawDescData = protoimpl.X.CompressGZIP(file_ping_proto_rawDescData)
|
||||
})
|
||||
return file_ping_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_ping_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_ping_proto_goTypes = []interface{}{
|
||||
(*Ping)(nil), // 0: slurm.ping
|
||||
}
|
||||
var file_ping_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_ping_proto_init() }
|
||||
func file_ping_proto_init() {
|
||||
if File_ping_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_ping_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Ping); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_ping_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_ping_proto_goTypes,
|
||||
DependencyIndexes: file_ping_proto_depIdxs,
|
||||
MessageInfos: file_ping_proto_msgTypes,
|
||||
}.Build()
|
||||
File_ping_proto = out.File
|
||||
file_ping_proto_rawDesc = nil
|
||||
file_ping_proto_goTypes = nil
|
||||
file_ping_proto_depIdxs = nil
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,384 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: reservation.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Reservation struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Accounts string `protobuf:"bytes,1,opt,name=accounts,proto3" json:"accounts,omitempty"`
|
||||
BurstBuffer string `protobuf:"bytes,2,opt,name=burst_buffer,json=burstBuffer,proto3" json:"burst_buffer,omitempty"`
|
||||
CoreCount uint32 `protobuf:"varint,3,opt,name=core_count,json=coreCount,proto3" json:"core_count,omitempty"`
|
||||
CoreSpecCnt uint32 `protobuf:"varint,4,opt,name=core_spec_cnt,json=coreSpecCnt,proto3" json:"core_spec_cnt,omitempty"`
|
||||
EndTime uint32 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
|
||||
Features string `protobuf:"bytes,6,opt,name=features,proto3" json:"features,omitempty"`
|
||||
Flags []string `protobuf:"bytes,7,rep,name=flags,proto3" json:"flags,omitempty"`
|
||||
Groups string `protobuf:"bytes,8,opt,name=groups,proto3" json:"groups,omitempty"`
|
||||
Licenses string `protobuf:"bytes,9,opt,name=licenses,proto3" json:"licenses,omitempty"`
|
||||
MaxStartDelay uint32 `protobuf:"varint,10,opt,name=max_start_delay,json=maxStartDelay,proto3" json:"max_start_delay,omitempty"`
|
||||
Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
|
||||
NodeCount uint32 `protobuf:"varint,12,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
|
||||
NodeList string `protobuf:"bytes,13,opt,name=node_list,json=nodeList,proto3" json:"node_list,omitempty"`
|
||||
Partition string `protobuf:"bytes,14,opt,name=partition,proto3" json:"partition,omitempty"`
|
||||
PurgeCompleted *Reservation_PurgeCompleted `protobuf:"bytes,15,opt,name=purge_completed,json=purgeCompleted,proto3" json:"purge_completed,omitempty"`
|
||||
StartTime uint32 `protobuf:"varint,16,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
|
||||
Watts uint32 `protobuf:"varint,17,opt,name=watts,proto3" json:"watts,omitempty"`
|
||||
Tres string `protobuf:"bytes,18,opt,name=tres,proto3" json:"tres,omitempty"`
|
||||
Users string `protobuf:"bytes,19,opt,name=users,proto3" json:"users,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Reservation) Reset() {
|
||||
*x = Reservation{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_reservation_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Reservation) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Reservation) ProtoMessage() {}
|
||||
|
||||
func (x *Reservation) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_reservation_proto_msgTypes[0]
|
||||
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 Reservation.ProtoReflect.Descriptor instead.
|
||||
func (*Reservation) Descriptor() ([]byte, []int) {
|
||||
return file_reservation_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Reservation) GetAccounts() string {
|
||||
if x != nil {
|
||||
return x.Accounts
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetBurstBuffer() string {
|
||||
if x != nil {
|
||||
return x.BurstBuffer
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetCoreCount() uint32 {
|
||||
if x != nil {
|
||||
return x.CoreCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetCoreSpecCnt() uint32 {
|
||||
if x != nil {
|
||||
return x.CoreSpecCnt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetEndTime() uint32 {
|
||||
if x != nil {
|
||||
return x.EndTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetFeatures() string {
|
||||
if x != nil {
|
||||
return x.Features
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetFlags() []string {
|
||||
if x != nil {
|
||||
return x.Flags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Reservation) GetGroups() string {
|
||||
if x != nil {
|
||||
return x.Groups
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetLicenses() string {
|
||||
if x != nil {
|
||||
return x.Licenses
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetMaxStartDelay() uint32 {
|
||||
if x != nil {
|
||||
return x.MaxStartDelay
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetNodeCount() uint32 {
|
||||
if x != nil {
|
||||
return x.NodeCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetNodeList() string {
|
||||
if x != nil {
|
||||
return x.NodeList
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetPartition() string {
|
||||
if x != nil {
|
||||
return x.Partition
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetPurgeCompleted() *Reservation_PurgeCompleted {
|
||||
if x != nil {
|
||||
return x.PurgeCompleted
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Reservation) GetStartTime() uint32 {
|
||||
if x != nil {
|
||||
return x.StartTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetWatts() uint32 {
|
||||
if x != nil {
|
||||
return x.Watts
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Reservation) GetTres() string {
|
||||
if x != nil {
|
||||
return x.Tres
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Reservation) GetUsers() string {
|
||||
if x != nil {
|
||||
return x.Users
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type Reservation_PurgeCompleted struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Time uint32 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Reservation_PurgeCompleted) Reset() {
|
||||
*x = Reservation_PurgeCompleted{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_reservation_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Reservation_PurgeCompleted) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Reservation_PurgeCompleted) ProtoMessage() {}
|
||||
|
||||
func (x *Reservation_PurgeCompleted) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_reservation_proto_msgTypes[1]
|
||||
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 Reservation_PurgeCompleted.ProtoReflect.Descriptor instead.
|
||||
func (*Reservation_PurgeCompleted) Descriptor() ([]byte, []int) {
|
||||
return file_reservation_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *Reservation_PurgeCompleted) GetTime() uint32 {
|
||||
if x != nil {
|
||||
return x.Time
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_reservation_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_reservation_proto_rawDesc = []byte{
|
||||
0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x22, 0xf9, 0x04, 0x0a, 0x0b, 0x72,
|
||||
0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x72, 0x73, 0x74, 0x5f,
|
||||
0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75,
|
||||
0x72, 0x73, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x72,
|
||||
0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
|
||||
0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6f, 0x72, 0x65,
|
||||
0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0b, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08,
|
||||
0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
|
||||
0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
|
||||
0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
|
||||
0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03,
|
||||
0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a,
|
||||
0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74,
|
||||
0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64,
|
||||
0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65,
|
||||
0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64,
|
||||
0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d,
|
||||
0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73,
|
||||
0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64,
|
||||
0x52, 0x0e, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
|
||||
0x77, 0x61, 0x74, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, 0x18, 0x12, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65,
|
||||
0x72, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x1a,
|
||||
0x25, 0x0a, 0x0f, 0x50, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
|
||||
0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_reservation_proto_rawDescOnce sync.Once
|
||||
file_reservation_proto_rawDescData = file_reservation_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_reservation_proto_rawDescGZIP() []byte {
|
||||
file_reservation_proto_rawDescOnce.Do(func() {
|
||||
file_reservation_proto_rawDescData = protoimpl.X.CompressGZIP(file_reservation_proto_rawDescData)
|
||||
})
|
||||
return file_reservation_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_reservation_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_reservation_proto_goTypes = []interface{}{
|
||||
(*Reservation)(nil), // 0: slurm.reservation
|
||||
(*Reservation_PurgeCompleted)(nil), // 1: slurm.reservation.Purge_completed
|
||||
}
|
||||
var file_reservation_proto_depIdxs = []int32{
|
||||
1, // 0: slurm.reservation.purge_completed:type_name -> slurm.reservation.Purge_completed
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_reservation_proto_init() }
|
||||
func file_reservation_proto_init() {
|
||||
if File_reservation_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_reservation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Reservation); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_reservation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Reservation_PurgeCompleted); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_reservation_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_reservation_proto_goTypes,
|
||||
DependencyIndexes: file_reservation_proto_depIdxs,
|
||||
MessageInfos: file_reservation_proto_msgTypes,
|
||||
}.Build()
|
||||
File_reservation_proto = out.File
|
||||
file_reservation_proto_rawDesc = nil
|
||||
file_reservation_proto_goTypes = nil
|
||||
file_reservation_proto_depIdxs = nil
|
||||
}
|
9466
slurm/slurm.pb.go
9466
slurm/slurm.pb.go
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,168 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: tres.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Tres struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Count uint32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Tres) Reset() {
|
||||
*x = Tres{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_tres_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Tres) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Tres) ProtoMessage() {}
|
||||
|
||||
func (x *Tres) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_tres_proto_msgTypes[0]
|
||||
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 Tres.ProtoReflect.Descriptor instead.
|
||||
func (*Tres) Descriptor() ([]byte, []int) {
|
||||
return file_tres_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Tres) GetType() string {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Tres) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Tres) GetId() uint32 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Tres) GetCount() uint32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_tres_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_tres_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x74, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 0x22, 0x54, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_tres_proto_rawDescOnce sync.Once
|
||||
file_tres_proto_rawDescData = file_tres_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_tres_proto_rawDescGZIP() []byte {
|
||||
file_tres_proto_rawDescOnce.Do(func() {
|
||||
file_tres_proto_rawDescData = protoimpl.X.CompressGZIP(file_tres_proto_rawDescData)
|
||||
})
|
||||
return file_tres_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_tres_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_tres_proto_goTypes = []interface{}{
|
||||
(*Tres)(nil), // 0: slurm.tres
|
||||
}
|
||||
var file_tres_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_tres_proto_init() }
|
||||
func file_tres_proto_init() {
|
||||
if File_tres_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_tres_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Tres); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_tres_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_tres_proto_goTypes,
|
||||
DependencyIndexes: file_tres_proto_depIdxs,
|
||||
MessageInfos: file_tres_proto_msgTypes,
|
||||
}.Build()
|
||||
File_tres_proto = out.File
|
||||
file_tres_proto_rawDesc = nil
|
||||
file_tres_proto_goTypes = nil
|
||||
file_tres_proto_depIdxs = nil
|
||||
}
|
|
@ -0,0 +1,489 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: user.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type User struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
AdministratorLevel string `protobuf:"bytes,1,opt,name=administrator_level,json=administratorLevel,proto3" json:"administrator_level,omitempty"`
|
||||
Associations *User_Associations `protobuf:"bytes,2,opt,name=associations,proto3" json:"associations,omitempty"`
|
||||
Coordinators []*User_Coordinators `protobuf:"bytes,3,rep,name=coordinators,proto3" json:"coordinators,omitempty"`
|
||||
Default *User_Default `protobuf:"bytes,4,opt,name=default,proto3" json:"default,omitempty"`
|
||||
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
|
||||
}
|
||||
|
||||
func (x *User) Reset() {
|
||||
*x = User{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *User) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*User) ProtoMessage() {}
|
||||
|
||||
func (x *User) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_proto_msgTypes[0]
|
||||
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 User.ProtoReflect.Descriptor instead.
|
||||
func (*User) Descriptor() ([]byte, []int) {
|
||||
return file_user_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *User) GetAdministratorLevel() string {
|
||||
if x != nil {
|
||||
return x.AdministratorLevel
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User) GetAssociations() *User_Associations {
|
||||
if x != nil {
|
||||
return x.Associations
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *User) GetCoordinators() []*User_Coordinators {
|
||||
if x != nil {
|
||||
return x.Coordinators
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *User) GetDefault() *User_Default {
|
||||
if x != nil {
|
||||
return x.Default
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *User) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type User_Root struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
||||
Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
||||
Partition string `protobuf:"bytes,3,opt,name=partition,proto3" json:"partition,omitempty"`
|
||||
User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
|
||||
}
|
||||
|
||||
func (x *User_Root) Reset() {
|
||||
*x = User_Root{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *User_Root) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*User_Root) ProtoMessage() {}
|
||||
|
||||
func (x *User_Root) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_proto_msgTypes[1]
|
||||
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 User_Root.ProtoReflect.Descriptor instead.
|
||||
func (*User_Root) Descriptor() ([]byte, []int) {
|
||||
return file_user_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *User_Root) GetAccount() string {
|
||||
if x != nil {
|
||||
return x.Account
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User_Root) GetCluster() string {
|
||||
if x != nil {
|
||||
return x.Cluster
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User_Root) GetPartition() string {
|
||||
if x != nil {
|
||||
return x.Partition
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User_Root) GetUser() string {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type User_Associations struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Root *User_Associations `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"`
|
||||
}
|
||||
|
||||
func (x *User_Associations) Reset() {
|
||||
*x = User_Associations{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *User_Associations) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*User_Associations) ProtoMessage() {}
|
||||
|
||||
func (x *User_Associations) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_proto_msgTypes[2]
|
||||
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 User_Associations.ProtoReflect.Descriptor instead.
|
||||
func (*User_Associations) Descriptor() ([]byte, []int) {
|
||||
return file_user_proto_rawDescGZIP(), []int{0, 1}
|
||||
}
|
||||
|
||||
func (x *User_Associations) GetRoot() *User_Associations {
|
||||
if x != nil {
|
||||
return x.Root
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type User_Coordinators struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Direct uint32 `protobuf:"varint,2,opt,name=direct,proto3" json:"direct,omitempty"`
|
||||
}
|
||||
|
||||
func (x *User_Coordinators) Reset() {
|
||||
*x = User_Coordinators{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *User_Coordinators) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*User_Coordinators) ProtoMessage() {}
|
||||
|
||||
func (x *User_Coordinators) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_proto_msgTypes[3]
|
||||
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 User_Coordinators.ProtoReflect.Descriptor instead.
|
||||
func (*User_Coordinators) Descriptor() ([]byte, []int) {
|
||||
return file_user_proto_rawDescGZIP(), []int{0, 2}
|
||||
}
|
||||
|
||||
func (x *User_Coordinators) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User_Coordinators) GetDirect() uint32 {
|
||||
if x != nil {
|
||||
return x.Direct
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type User_Default struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
||||
Wckey string `protobuf:"bytes,2,opt,name=wckey,proto3" json:"wckey,omitempty"`
|
||||
}
|
||||
|
||||
func (x *User_Default) Reset() {
|
||||
*x = User_Default{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *User_Default) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*User_Default) ProtoMessage() {}
|
||||
|
||||
func (x *User_Default) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_proto_msgTypes[4]
|
||||
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 User_Default.ProtoReflect.Descriptor instead.
|
||||
func (*User_Default) Descriptor() ([]byte, []int) {
|
||||
return file_user_proto_rawDescGZIP(), []int{0, 3}
|
||||
}
|
||||
|
||||
func (x *User_Default) GetAccount() string {
|
||||
if x != nil {
|
||||
return x.Account
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User_Default) GetWckey() string {
|
||||
if x != nil {
|
||||
return x.Wckey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_user_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_user_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x6c,
|
||||
0x75, 0x72, 0x6d, 0x22, 0x99, 0x04, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x13,
|
||||
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x65,
|
||||
0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3c, 0x0a,
|
||||
0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x61,
|
||||
0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x63,
|
||||
0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43,
|
||||
0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6f,
|
||||
0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x65, 0x66,
|
||||
0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6c, 0x75,
|
||||
0x72, 0x6d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52,
|
||||
0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x6c, 0x0a, 0x04,
|
||||
0x52, 0x6f, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72,
|
||||
0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x3c, 0x0a, 0x0c, 0x41, 0x73,
|
||||
0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f,
|
||||
0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d,
|
||||
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x72,
|
||||
0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x69,
|
||||
0x72, 0x65, 0x63, 0x74, 0x1a, 0x39, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x63, 0x6b,
|
||||
0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x42,
|
||||
0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_user_proto_rawDescOnce sync.Once
|
||||
file_user_proto_rawDescData = file_user_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_user_proto_rawDescGZIP() []byte {
|
||||
file_user_proto_rawDescOnce.Do(func() {
|
||||
file_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_user_proto_rawDescData)
|
||||
})
|
||||
return file_user_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_user_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_user_proto_goTypes = []interface{}{
|
||||
(*User)(nil), // 0: slurm.user
|
||||
(*User_Root)(nil), // 1: slurm.user.Root
|
||||
(*User_Associations)(nil), // 2: slurm.user.Associations
|
||||
(*User_Coordinators)(nil), // 3: slurm.user.Coordinators
|
||||
(*User_Default)(nil), // 4: slurm.user.Default
|
||||
}
|
||||
var file_user_proto_depIdxs = []int32{
|
||||
2, // 0: slurm.user.associations:type_name -> slurm.user.Associations
|
||||
3, // 1: slurm.user.coordinators:type_name -> slurm.user.Coordinators
|
||||
4, // 2: slurm.user.default:type_name -> slurm.user.Default
|
||||
2, // 3: slurm.user.Associations.root:type_name -> slurm.user.Associations
|
||||
4, // [4:4] is the sub-list for method output_type
|
||||
4, // [4:4] is the sub-list for method input_type
|
||||
4, // [4:4] is the sub-list for extension type_name
|
||||
4, // [4:4] is the sub-list for extension extendee
|
||||
0, // [0:4] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_user_proto_init() }
|
||||
func file_user_proto_init() {
|
||||
if File_user_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User_Root); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User_Associations); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User_Coordinators); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User_Default); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_user_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_user_proto_goTypes,
|
||||
DependencyIndexes: file_user_proto_depIdxs,
|
||||
MessageInfos: file_user_proto_msgTypes,
|
||||
}.Build()
|
||||
File_user_proto = out.File
|
||||
file_user_proto_rawDesc = nil
|
||||
file_user_proto_goTypes = nil
|
||||
file_user_proto_depIdxs = nil
|
||||
}
|
|
@ -0,0 +1,188 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v3.19.4
|
||||
// source: wckey.proto
|
||||
|
||||
package slurm
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Wckey struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"`
|
||||
Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
||||
Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
|
||||
User string `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"`
|
||||
Flags []string `protobuf:"bytes,6,rep,name=flags,proto3" json:"flags,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Wckey) Reset() {
|
||||
*x = Wckey{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wckey_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Wckey) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Wckey) ProtoMessage() {}
|
||||
|
||||
func (x *Wckey) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wckey_proto_msgTypes[0]
|
||||
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 Wckey.ProtoReflect.Descriptor instead.
|
||||
func (*Wckey) Descriptor() ([]byte, []int) {
|
||||
return file_wckey_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Wckey) GetAccounts() []string {
|
||||
if x != nil {
|
||||
return x.Accounts
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Wckey) GetCluster() string {
|
||||
if x != nil {
|
||||
return x.Cluster
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Wckey) GetId() uint32 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Wckey) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Wckey) GetUser() string {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Wckey) GetFlags() []string {
|
||||
if x != nil {
|
||||
return x.Flags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_wckey_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_wckey_proto_rawDesc = []byte{
|
||||
0x0a, 0x0b, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73,
|
||||
0x6c, 0x75, 0x72, 0x6d, 0x22, 0x8b, 0x01, 0x0a, 0x05, 0x77, 0x63, 0x6b, 0x65, 0x79, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
|
||||
0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61,
|
||||
0x67, 0x73, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_wckey_proto_rawDescOnce sync.Once
|
||||
file_wckey_proto_rawDescData = file_wckey_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_wckey_proto_rawDescGZIP() []byte {
|
||||
file_wckey_proto_rawDescOnce.Do(func() {
|
||||
file_wckey_proto_rawDescData = protoimpl.X.CompressGZIP(file_wckey_proto_rawDescData)
|
||||
})
|
||||
return file_wckey_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_wckey_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_wckey_proto_goTypes = []interface{}{
|
||||
(*Wckey)(nil), // 0: slurm.wckey
|
||||
}
|
||||
var file_wckey_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_wckey_proto_init() }
|
||||
func file_wckey_proto_init() {
|
||||
if File_wckey_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_wckey_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Wckey); 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{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_wckey_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_wckey_proto_goTypes,
|
||||
DependencyIndexes: file_wckey_proto_depIdxs,
|
||||
MessageInfos: file_wckey_proto_msgTypes,
|
||||
}.Build()
|
||||
File_wckey_proto = out.File
|
||||
file_wckey_proto_rawDesc = nil
|
||||
file_wckey_proto_goTypes = nil
|
||||
file_wckey_proto_depIdxs = nil
|
||||
}
|
|
@ -13,34 +13,132 @@ import (
|
|||
)
|
||||
|
||||
type (
|
||||
AllocatedNodes = slurm.AllocatedNodes
|
||||
Cores = slurm.Cores
|
||||
Cpus = slurm.Cpus
|
||||
Environment = slurm.Environment
|
||||
Error = slurm.Error
|
||||
AddClusterReq = slurm.AddClusterReq
|
||||
AddClusterResp = slurm.AddClusterResp
|
||||
AddWckeyReq = slurm.AddWckeyReq
|
||||
AddWckeyResp = slurm.AddWckeyResp
|
||||
CancelJobReq = slurm.CancelJobReq
|
||||
CancelJobResp = slurm.CancelJobResp
|
||||
DeleteAccountReq = slurm.DeleteAccountReq
|
||||
DeleteAccountResp = slurm.DeleteAccountResp
|
||||
DeleteAssociationReq = slurm.DeleteAssociationReq
|
||||
DeleteAssociationResp = slurm.DeleteAssociationResp
|
||||
DeleteClusterReq = slurm.DeleteClusterReq
|
||||
DeleteClusterResp = slurm.DeleteClusterResp
|
||||
DeleteQosReq = slurm.DeleteQosReq
|
||||
DeleteQosResp = slurm.DeleteQosResp
|
||||
DeleteUserReq = slurm.DeleteUserReq
|
||||
DeleteUserResp = slurm.DeleteUserResp
|
||||
DeleteWckeyReq = slurm.DeleteWckeyReq
|
||||
DeleteWckeyResp = slurm.DeleteWckeyResp
|
||||
DumpConfigurationReq = slurm.DumpConfigurationReq
|
||||
DumpConfigurationResp = slurm.DumpConfigurationResp
|
||||
ErrorPing = slurm.ErrorPing
|
||||
GetAccountReq = slurm.GetAccountReq
|
||||
GetAccountResp = slurm.GetAccountResp
|
||||
GetAssociationReq = slurm.GetAssociationReq
|
||||
GetAssociationResp = slurm.GetAssociationResp
|
||||
GetClusterReq = slurm.GetClusterReq
|
||||
GetClusterResp = slurm.GetClusterResp
|
||||
GetJobReq = slurm.GetJobReq
|
||||
GetJobResp = slurm.GetJobResp
|
||||
JobProperties = slurm.JobProperties
|
||||
JobResources = slurm.JobResources
|
||||
JobResponseProperties = slurm.JobResponseProperties
|
||||
JobUpdate = slurm.JobUpdate
|
||||
Jobs = slurm.Jobs
|
||||
GetNodeReq = slurm.GetNodeReq
|
||||
GetNodeResp = slurm.GetNodeResp
|
||||
GetPartitionReq = slurm.GetPartitionReq
|
||||
GetPartitionResp = slurm.GetPartitionResp
|
||||
GetQosReq = slurm.GetQosReq
|
||||
GetQosResp = slurm.GetQosResp
|
||||
GetReservationReq = slurm.GetReservationReq
|
||||
GetReservationResp = slurm.GetReservationResp
|
||||
GetUserReq = slurm.GetUserReq
|
||||
GetUserResp = slurm.GetUserResp
|
||||
GetWckeyReq = slurm.GetWckeyReq
|
||||
GetWckeyResp = slurm.GetWckeyResp
|
||||
ListAccountReq = slurm.ListAccountReq
|
||||
ListAccountResp = slurm.ListAccountResp
|
||||
ListAssociationReq = slurm.ListAssociationReq
|
||||
ListAssociationResp = slurm.ListAssociationResp
|
||||
ListClusterReq = slurm.ListClusterReq
|
||||
ListClusterResp = slurm.ListClusterResp
|
||||
ListDbDiagnosticsReq = slurm.ListDbDiagnosticsReq
|
||||
ListDbDiagnosticsResp = slurm.ListDbDiagnosticsResp
|
||||
ListDiagnosticsReq = slurm.ListDiagnosticsReq
|
||||
ListDiagnosticsResp = slurm.ListDiagnosticsResp
|
||||
ListJobReq = slurm.ListJobReq
|
||||
ListJobResp = slurm.ListJobResp
|
||||
ListNodeReq = slurm.ListNodeReq
|
||||
ListNodeResp = slurm.ListNodeResp
|
||||
Node = slurm.Node
|
||||
Sockets = slurm.Sockets
|
||||
ListPartitionReq = slurm.ListPartitionReq
|
||||
ListPartitionResp = slurm.ListPartitionResp
|
||||
ListQosReq = slurm.ListQosReq
|
||||
ListQosResp = slurm.ListQosResp
|
||||
ListReservationReq = slurm.ListReservationReq
|
||||
ListReservationResp = slurm.ListReservationResp
|
||||
ListTresReq = slurm.ListTresReq
|
||||
ListTresResp = slurm.ListTresResp
|
||||
ListUserReq = slurm.ListUserReq
|
||||
ListUserResp = slurm.ListUserResp
|
||||
ListWckeyReq = slurm.ListWckeyReq
|
||||
ListWckeyResp = slurm.ListWckeyResp
|
||||
LoadConfigurationReq = slurm.LoadConfigurationReq
|
||||
LoadConfigurationResp = slurm.LoadConfigurationResp
|
||||
PingReq = slurm.PingReq
|
||||
PingResp = slurm.PingResp
|
||||
SetAssociationReq = slurm.SetAssociationReq
|
||||
SetAssociationResp = slurm.SetAssociationResp
|
||||
SetTresReq = slurm.SetTresReq
|
||||
SetTresResp = slurm.SetTresResp
|
||||
SubmitJobReq = slurm.SubmitJobReq
|
||||
SubmitJobResp = slurm.SubmitJobResp
|
||||
UpdateAccountReq = slurm.UpdateAccountReq
|
||||
UpdateAccountResp = slurm.UpdateAccountResp
|
||||
UpdateJobReq = slurm.UpdateJobReq
|
||||
UpdateJobResp = slurm.UpdateJobResp
|
||||
UpdateUserReq = slurm.UpdateUserReq
|
||||
UpdateUserResp = slurm.UpdateUserResp
|
||||
|
||||
Slurm interface {
|
||||
SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error)
|
||||
Ping(ctx context.Context, in *PingReq, opts ...grpc.CallOption) (*PingResp, error)
|
||||
ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
|
||||
GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
|
||||
GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error)
|
||||
UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*UpdateJobResp, error)
|
||||
CancelJob(ctx context.Context, in *CancelJobReq, opts ...grpc.CallOption) (*CancelJobResp, error)
|
||||
SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error)
|
||||
ListUser(ctx context.Context, in *ListUserReq, opts ...grpc.CallOption) (*ListUserResp, error)
|
||||
GetUser(ctx context.Context, in *GetUserReq, opts ...grpc.CallOption) (*GetUserResp, error)
|
||||
UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*UpdateUserResp, error)
|
||||
DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error)
|
||||
ListPartition(ctx context.Context, in *ListPartitionReq, opts ...grpc.CallOption) (*ListPartitionResp, error)
|
||||
GetPartition(ctx context.Context, in *GetPartitionReq, opts ...grpc.CallOption) (*GetPartitionResp, error)
|
||||
ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error)
|
||||
GetNode(ctx context.Context, in *GetNodeReq, opts ...grpc.CallOption) (*GetNodeResp, error)
|
||||
ListReservation(ctx context.Context, in *ListReservationReq, opts ...grpc.CallOption) (*ListReservationResp, error)
|
||||
GetReservation(ctx context.Context, in *GetReservationReq, opts ...grpc.CallOption) (*GetReservationResp, error)
|
||||
LoadConfiguration(ctx context.Context, in *LoadConfigurationReq, opts ...grpc.CallOption) (*LoadConfigurationResp, error)
|
||||
DumpConfiguration(ctx context.Context, in *DumpConfigurationReq, opts ...grpc.CallOption) (*DumpConfigurationResp, error)
|
||||
ListQos(ctx context.Context, in *ListQosReq, opts ...grpc.CallOption) (*ListQosResp, error)
|
||||
GetQos(ctx context.Context, in *GetQosReq, opts ...grpc.CallOption) (*GetQosResp, error)
|
||||
DeleteQos(ctx context.Context, in *DeleteQosReq, opts ...grpc.CallOption) (*DeleteQosResp, error)
|
||||
ListTres(ctx context.Context, in *ListTresReq, opts ...grpc.CallOption) (*ListTresResp, error)
|
||||
SetTres(ctx context.Context, in *SetTresReq, opts ...grpc.CallOption) (*SetTresResp, error)
|
||||
ListAccount(ctx context.Context, in *ListAccountReq, opts ...grpc.CallOption) (*ListAccountResp, error)
|
||||
GetAccount(ctx context.Context, in *GetAccountReq, opts ...grpc.CallOption) (*GetAccountResp, error)
|
||||
UpdateAccount(ctx context.Context, in *UpdateAccountReq, opts ...grpc.CallOption) (*UpdateAccountResp, error)
|
||||
DeleteAccount(ctx context.Context, in *DeleteAccountReq, opts ...grpc.CallOption) (*DeleteAccountResp, error)
|
||||
ListCluster(ctx context.Context, in *ListClusterReq, opts ...grpc.CallOption) (*ListClusterResp, error)
|
||||
GetCluster(ctx context.Context, in *GetClusterReq, opts ...grpc.CallOption) (*GetClusterResp, error)
|
||||
AddCluster(ctx context.Context, in *AddClusterReq, opts ...grpc.CallOption) (*AddClusterResp, error)
|
||||
DeleteCluster(ctx context.Context, in *DeleteClusterReq, opts ...grpc.CallOption) (*DeleteClusterResp, error)
|
||||
ListWckey(ctx context.Context, in *ListWckeyReq, opts ...grpc.CallOption) (*ListWckeyResp, error)
|
||||
GetWckey(ctx context.Context, in *GetWckeyReq, opts ...grpc.CallOption) (*GetWckeyResp, error)
|
||||
AddWckey(ctx context.Context, in *AddWckeyReq, opts ...grpc.CallOption) (*AddWckeyResp, error)
|
||||
DeleteWckey(ctx context.Context, in *DeleteWckeyReq, opts ...grpc.CallOption) (*DeleteWckeyResp, error)
|
||||
ListAssociation(ctx context.Context, in *ListAssociationReq, opts ...grpc.CallOption) (*ListAssociationResp, error)
|
||||
GetAssociation(ctx context.Context, in *GetAssociationReq, opts ...grpc.CallOption) (*GetAssociationResp, error)
|
||||
SetAssociation(ctx context.Context, in *SetAssociationReq, opts ...grpc.CallOption) (*SetAssociationResp, error)
|
||||
DeleteAssociation(ctx context.Context, in *DeleteAssociationReq, opts ...grpc.CallOption) (*DeleteAssociationResp, error)
|
||||
GetDiagnostics(ctx context.Context, in *ListDiagnosticsReq, opts ...grpc.CallOption) (*ListDiagnosticsResp, error)
|
||||
GetDbDiagnostics(ctx context.Context, in *ListDbDiagnosticsReq, opts ...grpc.CallOption) (*ListDbDiagnosticsResp, error)
|
||||
}
|
||||
|
||||
defaultSlurm struct {
|
||||
|
@ -54,9 +152,9 @@ func NewSlurm(cli zrpc.Client) Slurm {
|
|||
}
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error) {
|
||||
func (m *defaultSlurm) Ping(ctx context.Context, in *PingReq, opts ...grpc.CallOption) (*PingResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.SubmitJob(ctx, in, opts...)
|
||||
return client.Ping(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error) {
|
||||
|
@ -64,12 +162,197 @@ func (m *defaultSlurm) ListJob(ctx context.Context, in *ListJobReq, opts ...grpc
|
|||
return client.ListJob(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error) {
|
||||
func (m *defaultSlurm) GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetJob(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*UpdateJobResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.UpdateJob(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) CancelJob(ctx context.Context, in *CancelJobReq, opts ...grpc.CallOption) (*CancelJobResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.CancelJob(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.SubmitJob(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListUser(ctx context.Context, in *ListUserReq, opts ...grpc.CallOption) (*ListUserResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListUser(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetUser(ctx context.Context, in *GetUserReq, opts ...grpc.CallOption) (*GetUserResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetUser(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*UpdateUserResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.UpdateUser(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteUser(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListPartition(ctx context.Context, in *ListPartitionReq, opts ...grpc.CallOption) (*ListPartitionResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListPartition(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetPartition(ctx context.Context, in *GetPartitionReq, opts ...grpc.CallOption) (*GetPartitionResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetPartition(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...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetNode(ctx context.Context, in *GetNodeReq, opts ...grpc.CallOption) (*GetNodeResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetNode(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListReservation(ctx context.Context, in *ListReservationReq, opts ...grpc.CallOption) (*ListReservationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListReservation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetReservation(ctx context.Context, in *GetReservationReq, opts ...grpc.CallOption) (*GetReservationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetReservation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) LoadConfiguration(ctx context.Context, in *LoadConfigurationReq, opts ...grpc.CallOption) (*LoadConfigurationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.LoadConfiguration(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DumpConfiguration(ctx context.Context, in *DumpConfigurationReq, opts ...grpc.CallOption) (*DumpConfigurationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DumpConfiguration(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListQos(ctx context.Context, in *ListQosReq, opts ...grpc.CallOption) (*ListQosResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListQos(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetQos(ctx context.Context, in *GetQosReq, opts ...grpc.CallOption) (*GetQosResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetQos(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteQos(ctx context.Context, in *DeleteQosReq, opts ...grpc.CallOption) (*DeleteQosResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteQos(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListTres(ctx context.Context, in *ListTresReq, opts ...grpc.CallOption) (*ListTresResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListTres(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) SetTres(ctx context.Context, in *SetTresReq, opts ...grpc.CallOption) (*SetTresResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.SetTres(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListAccount(ctx context.Context, in *ListAccountReq, opts ...grpc.CallOption) (*ListAccountResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListAccount(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetAccount(ctx context.Context, in *GetAccountReq, opts ...grpc.CallOption) (*GetAccountResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetAccount(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) UpdateAccount(ctx context.Context, in *UpdateAccountReq, opts ...grpc.CallOption) (*UpdateAccountResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.UpdateAccount(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteAccount(ctx context.Context, in *DeleteAccountReq, opts ...grpc.CallOption) (*DeleteAccountResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteAccount(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListCluster(ctx context.Context, in *ListClusterReq, opts ...grpc.CallOption) (*ListClusterResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListCluster(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetCluster(ctx context.Context, in *GetClusterReq, opts ...grpc.CallOption) (*GetClusterResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetCluster(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) AddCluster(ctx context.Context, in *AddClusterReq, opts ...grpc.CallOption) (*AddClusterResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.AddCluster(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteCluster(ctx context.Context, in *DeleteClusterReq, opts ...grpc.CallOption) (*DeleteClusterResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteCluster(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListWckey(ctx context.Context, in *ListWckeyReq, opts ...grpc.CallOption) (*ListWckeyResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListWckey(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetWckey(ctx context.Context, in *GetWckeyReq, opts ...grpc.CallOption) (*GetWckeyResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetWckey(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) AddWckey(ctx context.Context, in *AddWckeyReq, opts ...grpc.CallOption) (*AddWckeyResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.AddWckey(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteWckey(ctx context.Context, in *DeleteWckeyReq, opts ...grpc.CallOption) (*DeleteWckeyResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteWckey(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) ListAssociation(ctx context.Context, in *ListAssociationReq, opts ...grpc.CallOption) (*ListAssociationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.ListAssociation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetAssociation(ctx context.Context, in *GetAssociationReq, opts ...grpc.CallOption) (*GetAssociationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetAssociation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) SetAssociation(ctx context.Context, in *SetAssociationReq, opts ...grpc.CallOption) (*SetAssociationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.SetAssociation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) DeleteAssociation(ctx context.Context, in *DeleteAssociationReq, opts ...grpc.CallOption) (*DeleteAssociationResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.DeleteAssociation(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetDiagnostics(ctx context.Context, in *ListDiagnosticsReq, opts ...grpc.CallOption) (*ListDiagnosticsResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetDiagnostics(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultSlurm) GetDbDiagnostics(ctx context.Context, in *ListDbDiagnosticsReq, opts ...grpc.CallOption) (*ListDbDiagnosticsResp, error) {
|
||||
client := slurm.NewSlurmClient(m.cli.Conn())
|
||||
return client.GetDbDiagnostics(ctx, in, opts...)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue