Merge pull request #2514 from jterry75/runtime_v2_shim_command

Runtime v2 absolute shim path to executable
This commit is contained in:
Derek McGowan 2018-07-31 16:26:23 -07:00 committed by GitHub
commit 9dc55ea1d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,14 +49,20 @@ func Command(ctx context.Context, runtime, containerdAddress, path string, cmdAr
} }
args = append(args, cmdArgs...) args = append(args, cmdArgs...)
name := BinaryName(runtime) name := BinaryName(runtime)
if _, err := exec.LookPath(name); err != nil { var cmdPath string
if eerr, ok := err.(*exec.Error); ok { var lerr error
if cmdPath, lerr = exec.LookPath(name); lerr != nil {
if eerr, ok := lerr.(*exec.Error); ok {
if eerr.Err == exec.ErrNotFound { if eerr.Err == exec.ErrNotFound {
return nil, errors.Wrapf(os.ErrNotExist, "runtime %q binary not installed %q", runtime, name) return nil, errors.Wrapf(os.ErrNotExist, "runtime %q binary not installed %q", runtime, name)
} }
} }
} }
cmd := exec.Command(name, args...) cmdPath, err = filepath.Abs(cmdPath)
if err != nil {
return nil, err
}
cmd := exec.Command(cmdPath, args...)
cmd.Dir = path cmd.Dir = path
cmd.Env = append(os.Environ(), "GOMAXPROCS=2") cmd.Env = append(os.Environ(), "GOMAXPROCS=2")
cmd.SysProcAttr = getSysProcAttr() cmd.SysProcAttr = getSysProcAttr()