DockerCLI/cli/command/service
Sebastiaan van Stijn e6ebaf55dd
Fix --network-add adding duplicate networks
When adding a network using `docker service update --network-add`,
the new network was added by _name_.

Existing entries in a service spec are listed by network ID, which
resulted in the CLI not detecting duplicate entries for the same
network.

This patch changes the behavior to always use the network-ID,
so that duplicate entries are correctly caught.

Before this change;

    $ docker network create -d overlay foo
    $ docker service create --name=test --network=foo nginx:alpine
    $ docker service update --network-add foo test
    $ docker service inspect --format '{{ json .Spec.TaskTemplate.Networks}}' test
    [
      {
        "Target": "9ot0ieagg5xv1gxd85m7y33eq"
      },
      {
        "Target": "9ot0ieagg5xv1gxd85m7y33eq"
      }
    ]

After this change:

    $ docker network create -d overlay foo
    $ docker service create --name=test --network=foo nginx:alpine
    $ docker service update --network-add foo test
    service is already attached to network foo

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-01-09 20:42:09 +01:00
..
progress Merge pull request #259 from aaronlehmann/service-progress-surface-error 2017-07-09 00:04:38 -07:00
testdata Sort services names in a natural order 2017-07-19 18:18:06 +03:00
client_test.go Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00
cmd.go Error out on orchestrator command that don't support k8s yet 2017-12-26 11:46:59 +01:00
create.go Added support of Generic resources in compose file 2017-11-28 21:52:09 +01:00
generic_resource_opts.go Added support for generic resource update 2017-11-28 18:03:10 +01:00
generic_resource_opts_test.go Added Generic Resource tests 2017-11-28 18:03:10 +01:00
helpers.go Use non-detached mode as default for service commands 2017-09-13 12:27:55 +02:00
inspect.go Remove use of deprecated IsErr...NotFound checks 2017-10-03 12:01:24 +02:00
inspect_test.go updated vendoring 2017-09-01 19:41:06 -04:00
list.go Sort services names in a natural order 2017-07-19 18:18:06 +03:00
list_test.go Move internal/test package out of cli. 2017-08-22 10:14:25 -04:00
logs.go Update gometalinter 2017-10-26 12:21:02 -04:00
opts.go Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00
opts_test.go Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00
parse.go Handle case of configs on old daemon 2017-06-07 17:02:46 +02:00
ps.go Do not truncate ID on docker service ps --quiet 2017-09-30 22:23:37 +02:00
ps_test.go Do not truncate ID on docker service ps --quiet 2017-09-30 22:23:37 +02:00
remove.go Add 'docker service rollback' subcommand 2017-08-16 22:18:36 +02:00
rollback.go Update code for upstream cobra 2017-10-25 14:49:26 -04:00
rollback_test.go Use new internal testutil.ErrorContains() 2017-08-22 10:14:25 -04:00
scale.go Use non-detached mode as default for service commands 2017-09-13 12:27:55 +02:00
trust.go Move notary to its new location 2017-10-30 17:21:41 +01:00
update.go Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00
update_test.go Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00