pcm-coordinator/adaptor/pcm_slurm/idl/slurmdb_qos.proto

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 */
}