Browse code

Vendoring libnetwork to fix #25109

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit b1ae883d3f8c35f9142966af7bf5278e7a10b268)
Signed-off-by: Tibor Vass <tibor@docker.com>

Madhu Venugopal authored on 2016/07/28 00:41:46
Showing 3 changed files
... ...
@@ -65,7 +65,7 @@ clone git github.com/RackSec/srslog 259aed10dfa74ea2961eddd1d9847619f6e98837
65 65
 clone git github.com/imdario/mergo 0.2.1
66 66
 
67 67
 #get libnetwork packages
68
-clone git github.com/docker/libnetwork c7dc6dc476a5f00f9b28efebe591347dd64264fc
68
+clone git github.com/docker/libnetwork 443b7be96fdf0ed8f65ec92953aa8df4f9a725dc
69 69
 clone git github.com/docker/go-events afb2b9f2c23f33ada1a22b03651775fdc65a5089
70 70
 clone git github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
71 71
 clone git github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec
... ...
@@ -726,6 +726,12 @@ func (sb *sandbox) restoreOslSandbox() error {
726 726
 		joinInfo := ep.joinInfo
727 727
 		i := ep.iface
728 728
 		ep.Unlock()
729
+
730
+		if i == nil {
731
+			log.Errorf("error restoring endpoint %s for container %s", ep.Name(), sb.ContainerID())
732
+			continue
733
+		}
734
+
729 735
 		ifaceOptions = append(ifaceOptions, sb.osSbox.InterfaceOptions().Address(i.addr), sb.osSbox.InterfaceOptions().Routes(i.routes))
730 736
 		if i.addrv6 != nil && i.addrv6.IP.To16() != nil {
731 737
 			ifaceOptions = append(ifaceOptions, sb.osSbox.InterfaceOptions().AddressIPv6(i.addrv6))
... ...
@@ -245,6 +245,10 @@ func (c *controller) sandboxCleanup(activeSandboxes map[string]interface{}) {
245 245
 					ep = &endpoint{id: eps.Eid, network: n, sandboxID: sbs.ID}
246 246
 				}
247 247
 			}
248
+			if _, ok := activeSandboxes[sb.ID()]; ok && err != nil {
249
+				logrus.Errorf("failed to restore endpoint %s in %s for container %s due to %v", eps.Eid, eps.Nid, sb.ContainerID(), err)
250
+				continue
251
+			}
248 252
 			heap.Push(&sb.endpoints, ep)
249 253
 		}
250 254