Merge pull request #146 from tiborvass/custom-shim-binary
Have containerd-shim filename depend on containerd filename
This commit is contained in:
		
						commit
						d0f2c32679
					
				
					 1 changed files with 5 additions and 3 deletions
				
			
		|  | @ -17,6 +17,8 @@ import ( | ||||||
| 	ocs "github.com/opencontainers/specs/specs-go" | 	ocs "github.com/opencontainers/specs/specs-go" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | var shimBinary = os.Args[0] + "-shim" | ||||||
|  | 
 | ||||||
| func getRootIDs(s *specs.Spec) (int, int, error) { | func getRootIDs(s *specs.Spec) (int, int, error) { | ||||||
| 	if s == nil { | 	if s == nil { | ||||||
| 		return 0, 0, nil | 		return 0, 0, nil | ||||||
|  | @ -130,7 +132,7 @@ func (c *container) Start(checkpoint string, s Stdio) (Process, error) { | ||||||
| 	if err := os.Mkdir(processRoot, 0755); err != nil { | 	if err := os.Mkdir(processRoot, 0755); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	cmd := exec.Command("containerd-shim", | 	cmd := exec.Command(shimBinary, | ||||||
| 		c.id, c.bundle, c.runtime, | 		c.id, c.bundle, c.runtime, | ||||||
| 	) | 	) | ||||||
| 	cmd.Dir = processRoot | 	cmd.Dir = processRoot | ||||||
|  | @ -170,7 +172,7 @@ func (c *container) Exec(pid string, pspec specs.ProcessSpec, s Stdio) (pp Proce | ||||||
| 			c.RemoveProcess(pid) | 			c.RemoveProcess(pid) | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
| 	cmd := exec.Command("containerd-shim", | 	cmd := exec.Command(shimBinary, | ||||||
| 		c.id, c.bundle, c.runtime, | 		c.id, c.bundle, c.runtime, | ||||||
| 	) | 	) | ||||||
| 	cmd.Dir = processRoot | 	cmd.Dir = processRoot | ||||||
|  | @ -204,7 +206,7 @@ func (c *container) startCmd(pid string, cmd *exec.Cmd, p *process) error { | ||||||
| 	if err := cmd.Start(); err != nil { | 	if err := cmd.Start(); err != nil { | ||||||
| 		if exErr, ok := err.(*exec.Error); ok { | 		if exErr, ok := err.(*exec.Error); ok { | ||||||
| 			if exErr.Err == exec.ErrNotFound || exErr.Err == os.ErrNotExist { | 			if exErr.Err == exec.ErrNotFound || exErr.Err == os.ErrNotExist { | ||||||
| 				return fmt.Errorf("containerd-shim not installed on system") | 				return fmt.Errorf("%s not installed on system", shimBinary) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		return err | 		return err | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue