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>
This commit is contained in:
parent
a0e8922d13
commit
91725ddc92
1 changed files with 6 additions and 1 deletions
|
@ -188,7 +188,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…
Add table
Reference in a new issue