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.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
|
// Apply envs from image config first, so that envs from container config
|
||||||
// can override them.
|
// can override them.
|
||||||
if err := addImageEnvs(&g, imageConfig.Env); err != nil {
|
if err := addImageEnvs(&g, imageConfig.Env); err != nil {
|
||||||
@ -230,8 +235,6 @@ func (c *criContainerdService) generateContainerSpec(id string, sandboxPid uint3
|
|||||||
g.SetLinuxCgroupsPath(cgroupsPath)
|
g.SetLinuxCgroupsPath(cgroupsPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
g.SetProcessTerminal(config.GetTty())
|
|
||||||
|
|
||||||
if err := setOCICapabilities(&g, securityContext.GetCapabilities(), securityContext.GetPrivileged()); err != nil {
|
if err := setOCICapabilities(&g, securityContext.GetCapabilities(), securityContext.GetPrivileged()); err != nil {
|
||||||
return nil, fmt.Errorf("failed to set capabilities %+v: %v",
|
return nil, fmt.Errorf("failed to set capabilities %+v: %v",
|
||||||
securityContext.GetCapabilities(), err)
|
securityContext.GetCapabilities(), err)
|
||||||
|
@ -191,6 +191,11 @@ func TestContainerSpecTty(t *testing.T) {
|
|||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
specCheck(t, testID, testPid, spec)
|
specCheck(t, testID, testPid, spec)
|
||||||
assert.Equal(t, tty, spec.Process.Terminal)
|
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