From 4fd54c2aea7a1e2bbd9de8cba616d4a154779a2a Mon Sep 17 00:00:00 2001 From: John Stephens Date: Thu, 27 Sep 2018 12:22:41 -0700 Subject: [PATCH] Do not fail with an empty transparent IPv4 address When dockerd.exe is not stopped cleanly (such as when Windows is restarted), the endpoints are not cleaned up. When using a transparent network, the endpoint IPv4 address is blank. When dockerd.exe starts up again, libnetwork restores the endpoint, which would not have been stored on a clean shutdown of dockerd.exe. That fails because the IPv4 address is blank. This change warns instead of failing. Signed-off-by: John Stephens --- libnetwork/drivers/windows/windows_store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libnetwork/drivers/windows/windows_store.go b/libnetwork/drivers/windows/windows_store.go index f717c1a613..eae1edc6f1 100644 --- a/libnetwork/drivers/windows/windows_store.go +++ b/libnetwork/drivers/windows/windows_store.go @@ -261,7 +261,7 @@ func (ep *hnsEndpoint) UnmarshalJSON(b []byte) error { } if v, ok := epMap["Addr"]; ok { if ep.addr, err = types.ParseCIDR(v.(string)); err != nil { - return types.InternalErrorf("failed to decode endpoint IPv4 address (%s) after json unmarshal: %v", v.(string), err) + logrus.Warnf("failed to decode endpoint IPv4 address (%s) after json unmarshal: %v", v.(string), err) } } if v, ok := epMap["gateway"]; ok {