handle nil resources limits

Config may not express resource constraints on the job!
This commit is contained in:
Mahmood Ali
2018-11-08 22:14:27 -05:00
parent 26fc1b140f
commit 82b1764531

View File

@@ -303,14 +303,10 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *cstru
Env: cfg.EnvList(),
User: cfg.User,
ResourceLimits: true,
Resources: &executor.Resources{
CPU: cfg.Resources.NomadResources.CPU,
MemoryMB: cfg.Resources.NomadResources.MemoryMB,
DiskMB: cfg.Resources.NomadResources.DiskMB,
},
TaskDir: cfg.TaskDir().Dir,
StdoutPath: cfg.StdoutPath,
StderrPath: cfg.StderrPath,
Resources: toExecResources(cfg.Resources),
TaskDir: cfg.TaskDir().Dir,
StdoutPath: cfg.StdoutPath,
StderrPath: cfg.StderrPath,
}
ps, err := exec.Launch(execCmd)
@@ -348,6 +344,19 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *cstru
return handle, nil, nil
}
func toExecResources(resources *drivers.Resources) *executor.Resources {
if resources == nil || resources.NomadResources == nil {
return nil
}
return &executor.Resources{
CPU: resources.NomadResources.CPU,
MemoryMB: resources.NomadResources.MemoryMB,
DiskMB: resources.NomadResources.DiskMB,
}
}
func (d *Driver) WaitTask(ctx context.Context, taskID string) (<-chan *drivers.ExitResult, error) {
handle, ok := d.tasks.Get(taskID)
if !ok {