Explorar el Código

Dont notify the leave if the serf is not inited

Overlay driver allows local containers to communicate in overly network
even when the serf is not fully inited. But when the container leaves an
overlay network, it gets stuck waiting on a nil notifyCh, when the serf
is not fully initialized.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Madhu Venugopal hace 9 años
padre
commit
473ce7db08
Se han modificado 1 ficheros con 6 adiciones y 4 borrados
  1. 6 4
      libnetwork/drivers/overlay/joinleave.go

+ 6 - 4
libnetwork/drivers/overlay/joinleave.go

@@ -118,10 +118,12 @@ func (d *driver) Leave(nid, eid string) error {
 		return fmt.Errorf("could not find network with id %s", nid)
 	}
 
-	d.notifyCh <- ovNotify{
-		action: "leave",
-		nid:    nid,
-		eid:    eid,
+	if d.notifyCh != nil {
+		d.notifyCh <- ovNotify{
+			action: "leave",
+			nid:    nid,
+			eid:    eid,
+		}
 	}
 
 	n.leaveSandbox()