d/config: fix default-network-opts in daemon.json

Prevent the daemon from erroring out if daemon.json contains default
network options for network drivers aside from bridge. Configuring
defaults for the bridge driver previously worked by coincidence because
the unrelated CLI flag '--bridge' exists.

Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
Cory Snider 2023-04-03 15:35:21 -04:00
parent 816cd9802f
commit 750218c5e5
2 changed files with 13 additions and 6 deletions

View file

@ -76,12 +76,13 @@ var builtinRuntimes = map[string]bool{
// Use this to differentiate these options
// with others like the ones in TLSOptions.
var flatOptions = map[string]bool{
"cluster-store-opts": true,
"log-opts": true,
"runtimes": true,
"default-ulimits": true,
"features": true,
"builder": true,
"cluster-store-opts": true,
"default-network-opts": true,
"log-opts": true,
"runtimes": true,
"default-ulimits": true,
"features": true,
"builder": true,
}
// skipValidateOptions contains configuration keys

View file

@ -25,6 +25,11 @@ func TestGetConflictFreeConfiguration(t *testing.T) {
},
"log-opts": {
"tag": "test_tag"
},
"default-network-opts": {
"overlay": {
"com.docker.network.driver.mtu": "1337"
}
}
}`)
@ -33,6 +38,7 @@ func TestGetConflictFreeConfiguration(t *testing.T) {
flags.BoolVarP(&debug, "debug", "D", false, "")
flags.Var(opts.NewNamedUlimitOpt("default-ulimits", nil), "default-ulimit", "")
flags.Var(opts.NewNamedMapOpts("log-opts", nil, nil), "log-opt", "")
flags.Var(opts.NewNamedMapMapOpts("default-network-opts", nil, nil), "default-network-opt", "")
cc, err := getConflictFreeConfiguration(configFile, flags)
assert.NilError(t, err)