-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Add --tty
to docker service create/update
#28076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
LGTM |
Just a quick check; if we want to add this to
We should have a look at that before going forward with this, so that we don't lock ourselves in |
This is how it should work. As a rule, |
The changes so far look good, but this PR should also add |
@aaronlehmann ah yes you're right, thanks! And i agree, we should have it in update as well |
72acbea
to
9f03a40
Compare
--tty
to docker service create
--tty
to docker service create/update
Thanks @thaJeztah @aaronlehmann. The PR has been updated with |
The behavior of
|
@@ -490,6 +494,7 @@ const ( | |||
flagRestartMaxAttempts = "restart-max-attempts" | |||
flagRestartWindow = "restart-window" | |||
flagStopGracePeriod = "stop-grace-period" | |||
flagTty = "tty" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flagTTY
@@ -272,6 +272,14 @@ func updateService(flags *pflag.FlagSet, spec *swarm.ServiceSpec) error { | |||
return err | |||
} | |||
|
|||
if anyChanged(flags, flagTty) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if flags.Changed(flagTTY) {
@@ -636,3 +636,72 @@ func (s *DockerSwarmSuite) TestSwarmServiceEnvFile(c *check.C) { | |||
c.Assert(err, checker.IsNil) | |||
c.Assert(out, checker.Contains, "[VAR1=C VAR2]") | |||
} | |||
|
|||
func (s *DockerSwarmSuite) TestSwarmServiceTty(c *check.C) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TestSwarmServiceTTY
c.Assert(out, checker.Contains, expectedOutput, check.Commentf("Expected '%s', but got %q", expectedOutput, out)) | ||
} | ||
|
||
func (s *DockerSwarmSuite) TestSwarmServiceTtyUpdate(c *check.C) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TestSwarmServiceTTYUpdate
|
||
// Without --tty | ||
expectedOutput := "none" | ||
out, err := d.Cmd("service", "create", "--name", name, "busybox", "sh", "-c", "if [ -t 0 ]; then echo TTY > /status && top; else echo none > /status && top; fi") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull out this shell code into a variable so it can be reused.
9f03a40
to
0c086c8
Compare
Thanks @aaronlehmann for the review. Comments have been addressed. Please take a look and let me know if there are other issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
/cc @albers @sdurrheimer for completion scripts :)
@yongtang I guess this needs an update to the API docs (and API changes for 1.25) as well, can you include those changes in this PR? |
@thaJeztah Sure let me update the PR shortly. |
0c086c8
to
9c21521
Compare
@thaJeztah The PR has been updated with doc changes. Please take a look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs LGTM, thanks for the fast update @yongtang!
This fix tries to add `--tty` to `docker service create/update`. As was specified in 25644, `TTY` flag has been added to SwarmKit and is already vendored. This fix add `--tty` to `docker service create/update`. Related document has been updated. Additional integration tests has been added. This fix fixes 25644. Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
9c21521
to
599be5a
Compare
@thaJeztah Updated docs again for examples 😅 |
Perfect, thank you! |
LGTM |
Pull request moby#27745 added support for the client to talk to older versions of the daemon. Various flags were added to docker 1.13 that are not compatible with older daemons. This PR adds annotations to those flags, so that they are automatically hidden if the daemon is older than docker 1.13 (API 1.25). Not all new flags affect the API (some are client-side only). The following PR's added new flags to docker 1.13 that affect the API; - moby#23430 added `--cpu-rt-period`and `--cpu-rt-runtime` - moby#27800 / moby#25317 added `--group` / `--group-add` / `--group-rm` - moby#27702 added `--network` to `docker build` - moby#25962 added `--attachable` to `docker network create` - moby#27998 added `--compose-file` to `docker stack deploy` - moby#22566 added `--stop-timeout` to `docker run` and `docker create` - moby#26061 added `--init` to `docker run` and `docker create` - moby#26941 added `--init-path` to `docker run` and `docker create` - moby#27958 added `--cpus` on `docker run` / `docker create` - moby#27567 added `--dns`, `--dns-opt`, and `--dns-search` to `docker service create` - moby#27596 added `--force` to `docker service update` - moby#27857 added `--hostname` to `docker service create` - moby#28031 added `--hosts`, `--host-add` / `--host-rm` to `docker service create` and `docker service update` - moby#28076 added `--tty` on `docker service create` / `docker service update` - moby#26421 added `--update-max-failure-ratio`, `--update-monitor` and `--rollback` on `docker service update` - moby#27369 added `--health-cmd`, `--health-interval`, `--health-retries`, `--health-timeout` and `--no-healthcheck` options to `docker service create` and `docker service update` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Pull request moby/moby#27745 added support for the client to talk to older versions of the daemon. Various flags were added to docker 1.13 that are not compatible with older daemons. This PR adds annotations to those flags, so that they are automatically hidden if the daemon is older than docker 1.13 (API 1.25). Not all new flags affect the API (some are client-side only). The following PR's added new flags to docker 1.13 that affect the API; - moby/moby#23430 added `--cpu-rt-period`and `--cpu-rt-runtime` - moby/moby#27800 / moby/moby#25317 added `--group` / `--group-add` / `--group-rm` - moby/moby#27702 added `--network` to `docker build` - moby/moby#25962 added `--attachable` to `docker network create` - moby/moby#27998 added `--compose-file` to `docker stack deploy` - moby/moby#22566 added `--stop-timeout` to `docker run` and `docker create` - moby/moby#26061 added `--init` to `docker run` and `docker create` - moby/moby#26941 added `--init-path` to `docker run` and `docker create` - moby/moby#27958 added `--cpus` on `docker run` / `docker create` - moby/moby#27567 added `--dns`, `--dns-opt`, and `--dns-search` to `docker service create` - moby/moby#27596 added `--force` to `docker service update` - moby/moby#27857 added `--hostname` to `docker service create` - moby/moby#28031 added `--hosts`, `--host-add` / `--host-rm` to `docker service create` and `docker service update` - moby/moby#28076 added `--tty` on `docker service create` / `docker service update` - moby/moby#26421 added `--update-max-failure-ratio`, `--update-monitor` and `--rollback` on `docker service update` - moby/moby#27369 added `--health-cmd`, `--health-interval`, `--health-retries`, `--health-timeout` and `--no-healthcheck` options to `docker service create` and `docker service update` Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: 5d2722f83db9e301c6dcbe1c562c2051a52905db Component: cli
- What I did
This fix tries to add
--tty
todocker service create/update
. As was specified in #25644,TTY
flag has been added to SwarmKit and is already vendored.- How I did it
This fix add
--tty
todocker service create/update
.Related document has been updated.
- How to verify it
Additional integration tests has been added.
- Description for the changelog
Add
--tty
flag todocker service create/update
.- A picture of a cute animal (not mandatory but encouraged)
This fix fixes #25644.
Signed-off-by: Yong Tang yong.tang.github@outlook.com