Documentation ¶
Index ¶
- type Config
- type Feature
- type PartitionResources
- type Slurm
- func (s *Slurm) CancelJob(ctx context.Context, req *api.CancelJobRequest) (*api.CancelJobResponse, error)
- func (s *Slurm) JobInfo(ctx context.Context, req *api.JobInfoRequest) (*api.JobInfoResponse, error)
- func (s *Slurm) JobSteps(ctx context.Context, req *api.JobStepsRequest) (*api.JobStepsResponse, error)
- func (s *Slurm) OpenFile(r *api.OpenFileRequest, req api.WorkloadManager_OpenFileServer) error
- func (s *Slurm) Partitions(context.Context, *api.PartitionsRequest) (*api.PartitionsResponse, error)
- func (s *Slurm) Resources(_ context.Context, req *api.ResourcesRequest) (*api.ResourcesResponse, error)
- func (s *Slurm) SubmitJob(ctx context.Context, req *api.SubmitJobRequest) (*api.SubmitJobResponse, error)
- func (s *Slurm) TailFile(req api.WorkloadManager_TailFileServer) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config map[string]PartitionResources
Config is a red-box configuration for each partition available.
type Feature ¶
type Feature struct { Name string `yaml:"name"` Version string `yaml:"version"` Quantity int64 `yaml:"quantity"` }
Feature represents slurm partition feature.
type PartitionResources ¶
type PartitionResources struct { AutoNodes bool `yaml:"auto_nodes"` AutoCPUPerNode bool `yaml:"auto_cpu_per_node"` AutoMemPerNode bool `yaml:"auto_mem_per_node"` AutoWallTime bool `yaml:"auto_wall_time"` Nodes int64 `yaml:"nodes"` CPUPerNode int64 `yaml:"cpu_per_node"` MemPerNode int64 `yaml:"mem_per_node"` WallTime time.Duration `yaml:"wall_time"` AdditionalFeatures []Feature `yaml:"additional_features"` }
PartitionResources configure how red-box will see slurm partition resources. In auto mode red-box will attempt to query partition resources from slurm, but administrator can set up them manually.
type Slurm ¶
type Slurm struct {
// contains filtered or unexported fields
}
Slurm implements WorkloadManagerServer.
func (*Slurm) CancelJob ¶
func (s *Slurm) CancelJob(ctx context.Context, req *api.CancelJobRequest) (*api.CancelJobResponse, error)
CancelJob cancels job.
func (*Slurm) JobInfo ¶
func (s *Slurm) JobInfo(ctx context.Context, req *api.JobInfoRequest) (*api.JobInfoResponse, error)
JobInfo returns information about a job from 'scontrol show jobid'. Safe to call before job finished. After it could return an error.
func (*Slurm) JobSteps ¶
func (s *Slurm) JobSteps(ctx context.Context, req *api.JobStepsRequest) (*api.JobStepsResponse, error)
JobSteps returns information about job steps from 'sacct'. Safe to call after job started. Before it could return an error.
func (*Slurm) OpenFile ¶
func (s *Slurm) OpenFile(r *api.OpenFileRequest, req api.WorkloadManager_OpenFileServer) error
OpenFile opens requested file and return chunks with bytes.
func (*Slurm) Partitions ¶
func (s *Slurm) Partitions(context.Context, *api.PartitionsRequest) (*api.PartitionsResponse, error)
Partitions returns partition names.
func (*Slurm) Resources ¶
func (s *Slurm) Resources(_ context.Context, req *api.ResourcesRequest) (*api.ResourcesResponse, error)
Resources return available resources on slurm cluster in a requested partition.
func (*Slurm) SubmitJob ¶
func (s *Slurm) SubmitJob(ctx context.Context, req *api.SubmitJobRequest) (*api.SubmitJobResponse, error)
SubmitJob submits job and returns id of it in case of success.
func (*Slurm) TailFile ¶
func (s *Slurm) TailFile(req api.WorkloadManager_TailFileServer) error
TailFile tails a file till close requested. To start receiving file bytes client should send a request with file path and action start, to stop client should send a request with action readToEndAndClose (file path is not required) and after reaching end method will send EOF error.