volcano.sh/volcano@v1.9.0/pkg/scheduler/plugins/extender/argument.go (about)

     1  package extender
     2  
     3  import "volcano.sh/volcano/pkg/scheduler/api"
     4  
     5  type OnSessionOpenRequest struct {
     6  	Jobs           map[api.JobID]*api.JobInfo
     7  	Nodes          map[string]*api.NodeInfo
     8  	Queues         map[api.QueueID]*api.QueueInfo
     9  	NamespaceInfo  map[api.NamespaceName]*api.NamespaceInfo
    10  	RevocableNodes map[string]*api.NodeInfo
    11  	NodeList       []string
    12  }
    13  
    14  type OnSessionOpenResponse struct{}
    15  
    16  type OnSessionCloseRequest struct{}
    17  type OnSessionCloseResponse struct{}
    18  
    19  type PredicateRequest struct {
    20  	Task *api.TaskInfo `json:"task"`
    21  	Node *api.NodeInfo `json:"node"`
    22  }
    23  
    24  type PredicateResponse struct {
    25  	Status []*api.Status `json:"status"`
    26  }
    27  
    28  type PrioritizeRequest struct {
    29  	Task  *api.TaskInfo   `json:"task"`
    30  	Nodes []*api.NodeInfo `json:"nodes"`
    31  }
    32  
    33  type PrioritizeResponse struct {
    34  	NodeScore    map[string]float64 `json:"nodeScore"`
    35  	ErrorMessage string             `json:"errorMessage"`
    36  }
    37  
    38  type PreemptableRequest struct {
    39  	Evictor  *api.TaskInfo   `json:"evictor"`
    40  	Evictees []*api.TaskInfo `json:"evictees"`
    41  }
    42  
    43  type PreemptableResponse struct {
    44  	Status  int             `json:"status"`
    45  	Victims []*api.TaskInfo `json:"victims"`
    46  }
    47  
    48  type ReclaimableRequest PreemptableRequest
    49  type ReclaimableResponse PreemptableResponse
    50  
    51  type JobEnqueueableRequest struct {
    52  	Job *api.JobInfo `json:"job"`
    53  }
    54  
    55  type JobEnqueueableResponse struct {
    56  	Status int `json:"status"`
    57  }
    58  
    59  type QueueOverusedRequest struct {
    60  	Queue *api.QueueInfo `json:"queue"`
    61  }
    62  type QueueOverusedResponse struct {
    63  	Overused bool `json:"overused"`
    64  }
    65  
    66  type JobReadyRequest struct {
    67  	Job *api.JobInfo `json:"job"`
    68  }
    69  
    70  type JobReadyResponse struct {
    71  	Status bool `json:"status"`
    72  }