From 724a0461bcd676aea459454b5e9cba9cd26e826b Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Tue, 8 Nov 2016 18:29:10 -0800 Subject: [PATCH] Add `--dns-option` to `docker run` and hide `--dns-opt` This fix is a follow up to #27567 based on: https://github.com/docker/docker/pull/27567#issuecomment-259295055 In #27567, `--dns-options` has been added to `service create/update`, together with `--dns` and `--dns-search`. The `--dns-opt` was used in `docker run`. This fix add `--dns-option` (not `--dns-options`) to `docker run/create`, and hide `--dns-opt`. It is still possible to use `--dns-opt` with `docker run/create`, though it will not show up in help output. This fix change `--dns-options`to --dns-option` for `docker service create` and `docker service update`. This fix also updates the docs and bash/zsh completion scripts. Signed-off-by: Yong Tang Upstream-commit: b38ca0f4c3024fb78e86c7a36bc6e624f4c60e18 Component: cli --- components/cli/command/service/create.go | 2 +- components/cli/command/service/opts.go | 22 +++++++++---------- components/cli/command/service/update.go | 20 ++++++++--------- components/cli/command/service/update_test.go | 4 ++-- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/components/cli/command/service/create.go b/components/cli/command/service/create.go index d6c3ebdb9c..2b9a6df991 100644 --- a/components/cli/command/service/create.go +++ b/components/cli/command/service/create.go @@ -42,7 +42,7 @@ func newCreateCommand(dockerCli *command.DockerCli) *cobra.Command { flags.VarP(&opts.endpoint.ports, flagPublish, "p", "Publish a port as a node port") flags.Var(&opts.groups, flagGroup, "Set one or more supplementary user groups for the container") flags.Var(&opts.dns, flagDNS, "Set custom DNS servers") - flags.Var(&opts.dnsOptions, flagDNSOptions, "Set DNS options") + flags.Var(&opts.dnsOption, flagDNSOption, "Set DNS options") flags.Var(&opts.dnsSearch, flagDNSSearch, "Set custom DNS search domains") flags.SetInterspersed(false) diff --git a/components/cli/command/service/opts.go b/components/cli/command/service/opts.go index 827c4e5cdc..6240fdc739 100644 --- a/components/cli/command/service/opts.go +++ b/components/cli/command/service/opts.go @@ -318,7 +318,7 @@ type serviceOptions struct { mounts opts.MountOpt dns opts.ListOpts dnsSearch opts.ListOpts - dnsOptions opts.ListOpts + dnsOption opts.ListOpts resources resourceOptions stopGrace DurationOpt @@ -349,12 +349,12 @@ func newServiceOptions() *serviceOptions { endpoint: endpointOptions{ ports: opts.NewListOpts(ValidatePort), }, - groups: opts.NewListOpts(nil), - logDriver: newLogDriverOptions(), - dns: opts.NewListOpts(opts.ValidateIPAddress), - dnsOptions: opts.NewListOpts(nil), - dnsSearch: opts.NewListOpts(opts.ValidateDNSSearch), - networks: opts.NewListOpts(nil), + groups: opts.NewListOpts(nil), + logDriver: newLogDriverOptions(), + dns: opts.NewListOpts(opts.ValidateIPAddress), + dnsOption: opts.NewListOpts(nil), + dnsSearch: opts.NewListOpts(opts.ValidateDNSSearch), + networks: opts.NewListOpts(nil), } } @@ -400,7 +400,7 @@ func (opts *serviceOptions) ToService() (swarm.ServiceSpec, error) { DNSConfig: &swarm.DNSConfig{ Nameservers: opts.dns.GetAll(), Search: opts.dnsSearch.GetAll(), - Options: opts.dnsOptions.GetAll(), + Options: opts.dnsOption.GetAll(), }, StopGracePeriod: opts.stopGrace.Value(), }, @@ -500,9 +500,9 @@ const ( flagDNS = "dns" flagDNSRemove = "dns-rm" flagDNSAdd = "dns-add" - flagDNSOptions = "dns-options" - flagDNSOptionsRemove = "dns-options-rm" - flagDNSOptionsAdd = "dns-options-add" + flagDNSOption = "dns-option" + flagDNSOptionRemove = "dns-option-rm" + flagDNSOptionAdd = "dns-option-add" flagDNSSearch = "dns-search" flagDNSSearchRemove = "dns-search-rm" flagDNSSearchAdd = "dns-search-add" diff --git a/components/cli/command/service/update.go b/components/cli/command/service/update.go index 4a77229497..d4a672261b 100644 --- a/components/cli/command/service/update.go +++ b/components/cli/command/service/update.go @@ -48,9 +48,9 @@ func newUpdateCommand(dockerCli *command.DockerCli) *cobra.Command { flags.Var(newListOptsVar(), flagMountRemove, "Remove a mount by its target path") flags.Var(newListOptsVar(), flagPublishRemove, "Remove a published port by its target port") flags.Var(newListOptsVar(), flagConstraintRemove, "Remove a constraint") - flags.Var(newListOptsVar(), flagDNSRemove, "Remove custom DNS servers") - flags.Var(newListOptsVar(), flagDNSOptionsRemove, "Remove DNS options") - flags.Var(newListOptsVar(), flagDNSSearchRemove, "Remove DNS search domains") + flags.Var(newListOptsVar(), flagDNSRemove, "Remove a custom DNS server") + flags.Var(newListOptsVar(), flagDNSOptionRemove, "Remove a DNS option") + flags.Var(newListOptsVar(), flagDNSSearchRemove, "Remove a DNS search domain") flags.Var(&opts.labels, flagLabelAdd, "Add or update a service label") flags.Var(&opts.containerLabels, flagContainerLabelAdd, "Add or update a container label") flags.Var(&opts.env, flagEnvAdd, "Add or update an environment variable") @@ -58,9 +58,9 @@ func newUpdateCommand(dockerCli *command.DockerCli) *cobra.Command { flags.Var(&opts.constraints, flagConstraintAdd, "Add or update a placement constraint") flags.Var(&opts.endpoint.ports, flagPublishAdd, "Add or update a published port") flags.Var(&opts.groups, flagGroupAdd, "Add an additional supplementary user group to the container") - flags.Var(&opts.dns, flagDNSAdd, "Add or update custom DNS servers") - flags.Var(&opts.dnsOptions, flagDNSOptionsAdd, "Add or update DNS options") - flags.Var(&opts.dnsSearch, flagDNSSearchAdd, "Add or update custom DNS search domains") + flags.Var(&opts.dns, flagDNSAdd, "Add or update a custom DNS server") + flags.Var(&opts.dnsOption, flagDNSOptionAdd, "Add or update a DNS option") + flags.Var(&opts.dnsSearch, flagDNSSearchAdd, "Add or update a custom DNS search domain") return cmd } @@ -264,7 +264,7 @@ func updateService(flags *pflag.FlagSet, spec *swarm.ServiceSpec) error { } } - if anyChanged(flags, flagDNSAdd, flagDNSRemove, flagDNSOptionsAdd, flagDNSOptionsRemove, flagDNSSearchAdd, flagDNSSearchRemove) { + if anyChanged(flags, flagDNSAdd, flagDNSRemove, flagDNSOptionAdd, flagDNSOptionRemove, flagDNSSearchAdd, flagDNSSearchRemove) { if cspec.DNSConfig == nil { cspec.DNSConfig = &swarm.DNSConfig{} } @@ -555,12 +555,12 @@ func updateDNSConfig(flags *pflag.FlagSet, config **swarm.DNSConfig) error { sort.Strings(newConfig.Search) options := (*config).Options - if flags.Changed(flagDNSOptionsAdd) { - values := flags.Lookup(flagDNSOptionsAdd).Value.(*opts.ListOpts).GetAll() + if flags.Changed(flagDNSOptionAdd) { + values := flags.Lookup(flagDNSOptionAdd).Value.(*opts.ListOpts).GetAll() options = append(options, values...) } options = removeDuplicates(options) - toRemove = buildToRemoveSet(flags, flagDNSOptionsRemove) + toRemove = buildToRemoveSet(flags, flagDNSOptionRemove) for _, option := range options { if _, exists := toRemove[option]; !exists { newConfig.Options = append(newConfig.Options, option) diff --git a/components/cli/command/service/update_test.go b/components/cli/command/service/update_test.go index 91829b8615..b99064352a 100644 --- a/components/cli/command/service/update_test.go +++ b/components/cli/command/service/update_test.go @@ -142,8 +142,8 @@ func TestUpdateDNSConfig(t *testing.T) { // Invalid dns search domain assert.Error(t, flags.Set("dns-search-add", "example$com"), "example$com is not a valid domain") - flags.Set("dns-options-add", "ndots:9") - flags.Set("dns-options-rm", "timeout:3") + flags.Set("dns-option-add", "ndots:9") + flags.Set("dns-option-rm", "timeout:3") config := &swarm.DNSConfig{ Nameservers: []string{"3.3.3.3", "5.5.5.5"},