diff options
author | baude <bbaude@redhat.com> | 2018-04-02 09:20:13 -0500 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-04-03 22:23:23 +0000 |
commit | 35a10c9ba541807b96b01cc66f79c72606d9ed99 (patch) | |
tree | 86bc9000c6b161fd53023f33ae4fa37ee22fcb53 | |
parent | b1a8d769b84c52ea5ea74263cff6f582b1bdfcf0 (diff) | |
download | podman-35a10c9ba541807b96b01cc66f79c72606d9ed99.tar.gz podman-35a10c9ba541807b96b01cc66f79c72606d9ed99.tar.bz2 podman-35a10c9ba541807b96b01cc66f79c72606d9ed99.zip |
Only allocate tty when -t
In our ezrly development, we always allocated a tty when not -d. Now we should only allocated when the user asks for it.
Resolves: #573
Signed-off-by: baude <bbaude@redhat.com>
Closes: #574
Approved by: rhatdan
-rw-r--r-- | cmd/podman/create.go | 6 | ||||
-rw-r--r-- | libpod/container_attach.go | 16 | ||||
-rw-r--r-- | test/e2e/run_privileged_test.go | 2 |
3 files changed, 3 insertions, 21 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go index fe6d30c9e..a25f31717 100644 --- a/cmd/podman/create.go +++ b/cmd/podman/create.go @@ -447,13 +447,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string, return nil, err } - // Because we cannot do a non-terminal attach, we need to set tty to true - // if detach is not false - // TODO Allow non-terminal attach tty := c.Bool("tty") - if !c.Bool("detach") && !tty { - tty = true - } pidMode := container.PidMode(c.String("pid")) if !pidMode.Valid() { diff --git a/libpod/container_attach.go b/libpod/container_attach.go index 3b8f29edb..40d359ddd 100644 --- a/libpod/container_attach.go +++ b/libpod/container_attach.go @@ -83,18 +83,6 @@ func (c *Container) attachContainerSocket(resize <-chan remotecommand.TerminalSi outputStream := os.Stdout errorStream := os.Stderr defer inputStream.Close() - - // TODO Renable this when tty/terminal discussion is had. - /* - tty, err := strconv.ParseBool(c.runningSpec.Annotations["io.kubernetes.cri-o.TTY"]) - if err != nil { - return errors.Wrapf(err, "unable to parse annotations in %s", c.ID) - } - if !tty { - return errors.Errorf("no tty available for %s", c.ID()) - } - */ - if terminal.IsTerminal(int(inputStream.Fd())) { oldTermState, err := term.SaveState(inputStream.Fd()) if err != nil { @@ -104,8 +92,8 @@ func (c *Container) attachContainerSocket(resize <-chan remotecommand.TerminalSi defer term.RestoreTerminal(inputStream.Fd(), oldTermState) } - // Put both input and output into raw - if !noStdIn { + // Put both input and output into raw when we have a terminal + if !noStdIn && c.config.Spec.Process.Terminal { term.SetRawTerminal(inputStream.Fd()) } diff --git a/test/e2e/run_privileged_test.go b/test/e2e/run_privileged_test.go index 6692c91c7..426b83d3c 100644 --- a/test/e2e/run_privileged_test.go +++ b/test/e2e/run_privileged_test.go @@ -69,7 +69,7 @@ var _ = Describe("Podman privileged container tests", func() { }) It("podman non-privileged should have very few devices", func() { - session := podmanTest.Podman([]string{"run", "busybox", "ls", "-l", "/dev"}) + session := podmanTest.Podman([]string{"run", "-t", "busybox", "ls", "-l", "/dev"}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) Expect(len(session.OutputToStringArray())).To(Equal(18)) |