summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTonis Tiigi <tonistiigi@gmail.com>2016-06-09 13:27:25 -0700
committerTonis Tiigi <tonistiigi@gmail.com>2016-06-13 18:24:17 -0700
commit89a55568377860b22324920a4fe1b899adf558ac (patch)
tree869cc8bb1db639df6732c6d653bc8eb5cc502c6e
parent0c843376771c640ce06b88ef084c86bc5e48d7c4 (diff)
downloaddocker-89a55568377860b22324920a4fe1b899adf558ac.tar.gz
Fix accept policy initialization
- Set secret when using default policy - Always initialize policy for all roles Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
-rw-r--r--api/client/swarm/opts.go22
1 files changed, 10 insertions, 12 deletions
diff --git a/api/client/swarm/opts.go b/api/client/swarm/opts.go
index db2c243bae..fa543b6596 100644
--- a/api/client/swarm/opts.go
+++ b/api/client/swarm/opts.go
@@ -16,7 +16,10 @@ const (
)
var (
- defaultPolicy = swarm.Policy{Role: WORKER, Autoaccept: true}
+ defaultPolicies = []swarm.Policy{
+ {Role: WORKER, Autoaccept: true},
+ {Role: MANAGER, Autoaccept: false},
+ }
)
// NodeAddrOption is a pflag.Value for listen and remote addresses
@@ -101,17 +104,12 @@ func (o *AutoAcceptOption) Type() string {
// Policies returns a representation of this option for the api
func (o *AutoAcceptOption) Policies(secret string) []swarm.Policy {
policies := []swarm.Policy{}
-
- if len(o.values) == 0 {
- return append(policies, defaultPolicy)
- }
-
- for role, enabled := range o.values {
- policies = append(policies, swarm.Policy{
- Role: swarm.NodeRole(strings.ToUpper(role)),
- Autoaccept: enabled,
- Secret: secret,
- })
+ for _, p := range defaultPolicies {
+ if len(o.values) != 0 {
+ p.Autoaccept = o.values[string(p.Role)]
+ }
+ p.Secret = secret
+ policies = append(policies, p)
}
return policies
}