libnet/d/ipvlan: gracefully migrate from older dbs
IPVLAN networks created on Moby v20.10 do not have the IpvlanFlag
configuration value persisted in the libnetwork database as that config
value did not exist before v23.0.0. Gracefully migrate configurations on
unmarshal to prevent type-assertion panics at daemon start after upgrade.
Fixes #44925
Signed-off-by: Cory Snider <csnider@mirantis.com>
(cherry picked from commit 91725ddc92
)
Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
parent
b67344b81c
commit
427101f656
1 changed files with 6 additions and 1 deletions
|
@ -193,7 +193,12 @@ func (config *configuration) UnmarshalJSON(b []byte) error {
|
|||
config.Mtu = int(nMap["Mtu"].(float64))
|
||||
config.Parent = nMap["Parent"].(string)
|
||||
config.IpvlanMode = nMap["IpvlanMode"].(string)
|
||||
config.IpvlanFlag = nMap["IpvlanFlag"].(string)
|
||||
if v, ok := nMap["IpvlanFlag"]; ok {
|
||||
config.IpvlanFlag = v.(string)
|
||||
} else {
|
||||
// Migrate config from an older daemon which did not have the flag configurable.
|
||||
config.IpvlanFlag = flagBridge
|
||||
}
|
||||
config.Internal = nMap["Internal"].(bool)
|
||||
config.CreatedSlaveLink = nMap["CreatedSubIface"].(bool)
|
||||
if v, ok := nMap["Ipv4Subnets"]; ok {
|
||||
|
|
Loading…
Reference in a new issue