Merge pull request #127 from Random-Liu/containerd-spec-tty
Use containerd spec generator to set tty.
This commit is contained in:
commit
83a20c9fd1
@ -202,6 +202,11 @@ func (c *criContainerdService) generateContainerSpec(id string, sandboxPid uint3
|
||||
g.SetProcessCwd(imageConfig.WorkingDir)
|
||||
}
|
||||
|
||||
g.SetProcessTerminal(config.GetTty())
|
||||
if config.GetTty() {
|
||||
g.AddProcessEnv("TERM", "xterm")
|
||||
}
|
||||
|
||||
// Apply envs from image config first, so that envs from container config
|
||||
// can override them.
|
||||
if err := addImageEnvs(&g, imageConfig.Env); err != nil {
|
||||
@ -230,8 +235,6 @@ func (c *criContainerdService) generateContainerSpec(id string, sandboxPid uint3
|
||||
g.SetLinuxCgroupsPath(cgroupsPath)
|
||||
}
|
||||
|
||||
g.SetProcessTerminal(config.GetTty())
|
||||
|
||||
if err := setOCICapabilities(&g, securityContext.GetCapabilities(), securityContext.GetPrivileged()); err != nil {
|
||||
return nil, fmt.Errorf("failed to set capabilities %+v: %v",
|
||||
securityContext.GetCapabilities(), err)
|
||||
|
@ -191,6 +191,11 @@ func TestContainerSpecTty(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
specCheck(t, testID, testPid, spec)
|
||||
assert.Equal(t, tty, spec.Process.Terminal)
|
||||
if tty {
|
||||
assert.Contains(t, spec.Process.Env, "TERM=xterm")
|
||||
} else {
|
||||
assert.NotContains(t, spec.Process.Env, "TERM=xterm")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user