Pull task environments into their own type to be reusable across drivers and executors

This commit is contained in:
Alex Dadgar
2015-09-26 17:56:14 -07:00
parent 148e415f43
commit 75f93ce9fb
5 changed files with 20 additions and 52 deletions

View File

@@ -137,7 +137,7 @@ func (d *JavaDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle,
// Build the argument list.
cmdArgs := []string{"-jar", filepath.Join(allocdir.TaskLocal, fName)}
if argRaw, ok := task.Config["args"]; ok {
parsed, err := args.ParseAndReplace(argRaw, envVars)
parsed, err := args.ParseAndReplace(argRaw, envVars.Map())
if err != nil {
return nil, err
}
@@ -149,7 +149,7 @@ func (d *JavaDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle,
cmd := executor.Command("java", cmdArgs...)
// Populate environment variables
cmd.Command().Env = PopulateEnvironment(envVars)
cmd.Command().Env = envVars.List()
if err := cmd.Limit(task.Resources); err != nil {
return nil, fmt.Errorf("failed to constrain resources: %s", err)