Merge pull request #2512 from crosbymichael/gpupath
Add nvidia Opts to lookup containerd binary or hook path
This commit is contained in:
		| @@ -69,9 +69,12 @@ func WithGPUs(opts ...Opts) oci.SpecOpts { | |||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		path, err := exec.LookPath("containerd") | 		if c.OCIHookPath == "" { | ||||||
| 		if err != nil { | 			path, err := exec.LookPath("containerd") | ||||||
| 			return err | 			if err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 			c.OCIHookPath = path | ||||||
| 		} | 		} | ||||||
| 		nvidiaPath, err := exec.LookPath(nvidiaCLI) | 		nvidiaPath, err := exec.LookPath(nvidiaCLI) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| @@ -81,7 +84,7 @@ func WithGPUs(opts ...Opts) oci.SpecOpts { | |||||||
| 			s.Hooks = &specs.Hooks{} | 			s.Hooks = &specs.Hooks{} | ||||||
| 		} | 		} | ||||||
| 		s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{ | 		s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{ | ||||||
| 			Path: path, | 			Path: c.OCIHookPath, | ||||||
| 			Args: append([]string{ | 			Args: append([]string{ | ||||||
| 				"containerd", | 				"containerd", | ||||||
| 				"oci-hook", | 				"oci-hook", | ||||||
| @@ -101,6 +104,7 @@ type config struct { | |||||||
| 	LDCache      string | 	LDCache      string | ||||||
| 	LDConfig     string | 	LDConfig     string | ||||||
| 	Requirements []string | 	Requirements []string | ||||||
|  | 	OCIHookPath  string | ||||||
| } | } | ||||||
|  |  | ||||||
| func (c *config) args() []string { | func (c *config) args() []string { | ||||||
| @@ -179,3 +183,23 @@ func WithRequiredCUDAVersion(major, minor int) Opts { | |||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // WithOCIHookPath sets the hook path for the binary | ||||||
|  | func WithOCIHookPath(path string) Opts { | ||||||
|  | 	return func(c *config) error { | ||||||
|  | 		c.OCIHookPath = path | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // WithLookupOCIHookPath sets the hook path for the binary via a binary name | ||||||
|  | func WithLookupOCIHookPath(name string) Opts { | ||||||
|  | 	return func(c *config) error { | ||||||
|  | 		path, err := exec.LookPath(name) | ||||||
|  | 		if err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
|  | 		c.OCIHookPath = path | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kenfe-Mickaël Laventure
					Kenfe-Mickaël Laventure