E593 Merge pull request #1509 from selansen/master · docker/cli@69bd272 · GitHub
[go: up one dir, main page]

Skip to content

Commit 69bd272

Browse files
Merge pull request #1509 from selansen/master
Data Path Port configuration support
2 parents 2d692ae + e3e976a commit 69bd272

File tree

17 files changed

+746
-439
lines changed

17 files changed

+746
-439
lines changed

cli/command/swarm/init.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type initOptions struct {
2020
// Not a NodeAddrOption because it has no default port.
2121
advertiseAddr string
2222
dataPathAddr string
23+
dataPathPort uint32
2324
forceNewCluster bool
2425
availability string
2526
defaultAddrPools []net.IPNet
@@ -45,6 +46,8 @@ func newInitCommand(dockerCli command.Cli) *cobra.Command {
4546
flags.StringVar(&opts.advertiseAddr, flagAdvertiseAddr, "", "Advertised address (format: <ip|interface>[:port])")
4647
flags.StringVar(&opts.dataPathAddr, flagDataPathAddr, "", "Address or interface to use for data path traffic (format: <ip|interface>)")
4748
flags.SetAnnotation(flagDataPathAddr, "version", []string{"1.31"})
49+
flags.Uint32Var(&opts.dataPathPort, flagDataPathPort, 0, "Port number to use for data path traffic (1024 - 49151). If no value is set or is set to 0, the default port (4789) is used.")
50+
flags.SetAnnotation(flagDataPathPort, "version", []string{"1.40"})
4851
flags.BoolVar(&opts.forceNewCluster, "force-new-cluster", false, "Force create a new cluster from current state")
4952
flags.BoolVar(&opts.autolock, flagAutolock, false, "Enable manager autolocking (requiring an unlock key to start a stopped manager)")
5053
flags.StringVar(&opts.availability, flagAvailability, "active", `Availability of the node ("active"|"pause"|"drain")`)
@@ -69,6 +72,7 @@ func runInit(dockerCli command.Cli, flags *pflag.FlagSet, opts initOptions) erro
6972
ListenAddr: opts.listenAddr.String(),
7073
AdvertiseAddr: opts.advertiseAddr,
7174
DataPathAddr: opts.dataPathAddr,
75+
DataPathPort: opts.dataPathPort,
7276
DefaultAddrPool: defaultAddrPool,
7377
ForceNewCluster: opts.forceNewCluster,
7478
Spec: opts.swarmOptions.ToSpec(flags),

cli/command/swarm/opts.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const (
2222
flagListenAddr = "listen-addr"
2323
flagAdvertiseAddr = "advertise-addr"
2424
flagDataPathAddr = "data-path-addr"
25+
flagDataPathPort = "data-path-port"
2526
flagDefaultAddrPool = "default-addr-pool"
2627
flagDefaultAddrPoolMaskLength = "default-addr-pool-mask-length"
2728
flagQuiet = "quiet"

cli/command/system/info.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,9 @@ func printSwarmInfo(dockerCli command.Cli, info types.Info) {
235235
fmt.Fprintln(dockerCli.Out(), " Default Address Pool:", strAddrPool.String())
236236
fmt.Fprintln(dockerCli.Out(), " SubnetSize:", info.Swarm.Cluster.SubnetSize)
237237
}
238+
if info.Swarm.Cluster.DataPathPort > 0 {
239+
fmt.Fprintln(dockerCli.Out(), " Data Path Port:", info.Swarm.Cluster.DataPathPort)
240+
}
238241
fmt.Fprintln(dockerCli.Out(), " Orchestration:")
239242

240243
taskHistoryRetentionLimit := int64(0)

contrib/completion/bash/docker

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3701,7 +3701,7 @@ _docker_swarm_init() {
37013701
COMPREPLY=( $( compgen -W "active drain pause" -- "$cur" ) )
37023702
return
37033703
;;
3704-
--cert-expiry|--default-addr-pool|--default-addr-pool-mask-length|--dispatcher-heartbeat|--external-ca|--max-snapshots|--snapshot-interval|--task-history-limit )
3704+
--cert-expiry|--data-path-port|--default-addr-pool|--default-addr-pool-mask-length|--dispatcher-heartbeat|--external-ca|--max-snapshots|--snapshot-interval|--task-history-limit )
37053705
return
37063706
;;
37073707
--data-path-addr)
@@ -3721,7 +3721,7 @@ _docker_swarm_init() {
37213721

37223722
case "$cur" in
37233723
-*)
3724-
COMPREPLY=( $( compgen -W "--advertise-addr --autolock --availability --cert-expiry --data-path-addr --default-addr-pool --default-addr-pool-mask-length --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit" -- "$cur" ) )
3724+
COMPREPLY=( $( compgen -W "--advertise-addr --autolock --availability --cert-expiry --data-path-addr --data-path-port --default-addr-pool --default-addr-pool-mask-length --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit " -- "$cur" ) )
37253725
;;
37263726
esac
37273727
}

contrib/completion/zsh/_docker

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2285,6 +2285,7 @@ __docker_swarm_subcommand() {
22852285
$opts_help \
22862286
"($help)--advertise-addr=[Advertised address]:ip\:port: " \
22872287
"($help)--data-path-addr=[Data path IP or interface]:ip " \
2288+
"($help)--data-path-port=[Data Path Port]:port " \
22882289
"($help)--default-addr-pool=[Default address pool]" \
22892290
"($help)--default-addr-pool-mask-length=[Default address pool subnet mask length]" \
22902291
"($help)--autolock[Enable manager autolocking]" \

docs/reference/commandline/swarm_init.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Options:
2626
--availability string Availability of the node ("active"|"pause"|"drain") (default "active")
2727
--cert-expiry duration Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s)
2828
--data-path-addr string Address or interface to use for data path traffic (format: <ip|interface>)
29+
--data-path-port uint32 Port number to use for data path traffic (1024 - 49151). If no value is set or is set to 0, the default port (4789) is used.
2930
--default-addr-pool IPnet List of default address pool (format: <cidr>)
3031
--default-addr-pool-mask-length Subnet mask length for default address pool (default 24)
3132
--dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
@@ -130,6 +131,32 @@ management traffic of the cluster.
130131
If unspecified, Docker will use the same IP address or interface that is used for the
131132
advertise address.
132133

134+
### `--data-path-port`
135+
136+
This flag allows you to configure the UDP port number to use for data path
137+
traffic. The provided port number must be within the 1024 - 49151 range. If
138+
this flag is not set or is set to 0, the default port number 4789 is used.
139+
The data path port can only be configured when initializing the swarm, and
140+
applies to all nodes that join the swarm.
141+
The following example initializes a new Swarm, and configures the data path
142+
port to UDP port 7777;
143+
144+
```bash
145+
docker swarm init --data-path-port=7777
146+
```
147+
After the swarm is initialized, use the `docker info` command to verify that
148+
the port is configured:
149+
150+
```bash
151+
docker info
152+
...
153+
ClusterID: 9vs5ygs0gguyyec4iqf2314c0
154+
Managers: 1
155+
Nodes: 1
156+
Data Path Port: 7777
157+
...
158+
```
159+
133160
### `--default-addr-pool`
134161
This flag specifies default subnet pools for global scope networks.
< B018 /code>
135162
Format example is `--default-addr-pool 30.30.0.0/16 --default-addr-pool 40.40.0.0/16`

vendor.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ github.com/cpuguy83/go-md2man v1.0.8
1212
github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76 # v1.1.0
1313
github.com/dgrijalva/jwt-go a2c85815a77d0f951e33ba4db5ae93629a1530af
1414
github.com/docker/distribution 83389a148052d74ac602f5f1d62f86ff2f3c4aa5
15-
github.com/docker/docker bd224b5fe564f343e22fa76ae8569ec949f35802
15+
github.com/docker/docker 0b7cb16dde4a20d024c7be59801d63bcfd18611b
1616
github.com/docker/docker-credential-helpers 5241b46610f2491efdf9d1c85f1ddf5b02f6d962
1717
# the docker/go package contains a customized version of canonical/json
1818
# and is used by Notary. The package is periodically rebased on current Go versions.
@@ -23,7 +23,7 @@ github.com/docker/go-metrics d466d4f6fd960e01820085bd7e1a24426ee7ef18
2323
github.com/docker/go-units 47565b4f722fb6ceae66b95f853feed578a4a51c # v0.3.3
2424
github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a
2525
github.com/docker/licensing f2eae57157a06681b024f1690923d03e414179a0
26-
github.com/docker/swarmkit 9f271c2963d18a7c60d2c4001fb418ca4037df19
26+
github.com/docker/swarmkit 8af8c420f491f006ab1730e08d446a795b1667d7
2727
github.com/flynn-archive/go-shlex 3f9db97f856818214da2e1057f8ad84803971cff
2828
github.com/ghodss/yaml 0ca9ea5df5451ffdf184b4428c902747c2c11cd7 # v1.0.0
2929
github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef

vendor/github.com/docker/docker/api/types/swarm/swarm.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/docker/docker/vendor.conf

Lines changed: 14 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/docker/swarmkit/api/genericresource/resource_management.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
0