forked from JointCloud/pcm-coordinator
96 lines
3.1 KiB
Protocol Buffer
96 lines
3.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
package slurm;
|
|
|
|
option go_package = "/slurmpb";
|
|
import "idl/static.proto";
|
|
|
|
message QosReq{
|
|
SlurmVersion slurmVersion = 1;
|
|
string name=2;
|
|
}
|
|
|
|
message QosResp{
|
|
repeated Slurmdb_qos_rec slurmdb_qos_rec = 1;
|
|
}
|
|
|
|
message DeleteQosReq{
|
|
SlurmVersion slurmVersion = 1;
|
|
string names=2;
|
|
}
|
|
|
|
message DeleteQosResp {
|
|
string result =1;
|
|
}
|
|
|
|
message AddQosReq {
|
|
SlurmVersion slurmVersion = 1;
|
|
Slurmdb_qos_rec slurmdb_qos_rec=2;
|
|
}
|
|
|
|
message AddQosResp {
|
|
string result =1;
|
|
}
|
|
|
|
message Qos_info_msg {
|
|
uint32 Record_count = 1;
|
|
repeated Slurmdb_qos_rec slurmdb_qos_rec = 2;
|
|
}
|
|
|
|
message Slurmdb_qos_rec{
|
|
string Description=1;
|
|
uint32 Id=2;
|
|
uint32 Flags =3; /* flags for various things to enforce or
|
|
override other limits */
|
|
uint32 Grace_time =4; /* preemption grace time */
|
|
uint64 Grp_cpu_mins =5; /* max number of cpu minutes all jobs
|
|
* running under this qos can run for */
|
|
uint64 Grp_cpu_run_mins=6; /* max number of cpu minutes all jobs
|
|
* running under this qos can
|
|
* having running at one time */
|
|
uint32 Grp_cpus =7; /* max number of cpus this qos
|
|
can allocate at one time */
|
|
uint32 Grp_jobs=8; /* max number of jobs this qos can run
|
|
* at one time */
|
|
uint32 Grp_mem =9; /* max amount of memory this qos
|
|
can allocate at one time */
|
|
uint32 Grp_nodes=10; /* max number of nodes this qos
|
|
can allocate at once */
|
|
uint32 Grp_submit_jobs=11; /* max number of jobs this qos can submit at
|
|
* one time */
|
|
uint32 Grp_wall =12; /* total time in hours this qos can run for */
|
|
|
|
uint64 Max_cpu_mins_pj=13; /* max number of cpu mins a job can
|
|
* use with this qos */
|
|
uint64 Max_cpu_run_mins_pu=14; /* max number of cpu mins a user can
|
|
* allocate at a given time when
|
|
* using this qos (Not yet valid option) */
|
|
uint32 Max_cpus_pj =15; /* max number of cpus a job can
|
|
* allocate with this qos */
|
|
uint32 Max_cpus_pu=16; /* max number of cpus a user can
|
|
* allocate with this qos at one time */
|
|
uint32 Max_jobs_pu =17; /* max number of jobs a user can
|
|
* run with this qos at one time */
|
|
uint32 Max_nodes_pj =18; /* max number of nodes a job can
|
|
* allocate with this qos at one time */
|
|
uint32 Max_nodes_pu=19; /* max number of nodes a user can
|
|
* allocate with this qos at one time */
|
|
uint32 Max_submit_jobs_pu=20; /* max number of jobs a user can
|
|
submit with this qos at once */
|
|
uint32 Max_wall_pj =21; /* longest time this
|
|
* qos can run a job */
|
|
|
|
string Name =22;
|
|
//bitstr_t *preempt_bitstr; /* other qos' this qos can preempt */
|
|
|
|
repeated string preempt_list = 23; /* List preempt_list; list of char *'s only used to add or
|
|
* change the other qos' this can preempt,
|
|
* when doing a get use the preempt_bitstr */
|
|
uint32 preempt_mode=24; /* See PREEMPT_MODE_* in slurm/slurm.h */
|
|
uint32 priority=25; /* ranged int needs to be a unint for
|
|
* heterogeneous systems */
|
|
//assoc_mgr_qos_usage_t *usage; /* For internal use only, DON'T PACK */
|
|
double usage_factor=26; /* double, factor to apply to usage in this qos */
|
|
double usage_thres=27; /* double, percent of effective usage of an
|
|
association when breached will deny
|
|
pending and new jobs */
|
|
} |