@@ -211,6 +211,10 @@ func (o *OvsMonitor) bridgeAdded(bridgeUUID string, row *libovsdb.RowUpdate) {
211211}
212212
213213func (o * OvsMonitor ) bridgeDeleted (bridgeUUID string , row * libovsdb.RowUpdate ) {
214+ // for some reason ovs can trigger multiple time this event
215+ if _ , ok := o .bridgeCache [bridgeUUID ]; ! ok {
216+ return
217+ }
214218 delete (o .bridgeCache , bridgeUUID )
215219
216220 logging .GetLogger ().Infof ("Bridge \" %s(%s)\" got deleted" ,
@@ -262,6 +266,10 @@ func (o *OvsMonitor) interfaceAdded(interfaceUUID string, row *libovsdb.RowUpdat
262266}
263267
264268func (o * OvsMonitor ) interfaceDeleted (interfaceUUID string , row * libovsdb.RowUpdate ) {
269+ // for some reason ovs can trigger multiple time this event
270+ if _ , ok := o .interfaceCache [interfaceUUID ]; ! ok {
271+ return
272+ }
265273 delete (o .interfaceCache , interfaceUUID )
266274
267275 logging .GetLogger ().Infof ("Interface \" %s(%s)\" got deleted" ,
@@ -312,6 +320,10 @@ func (o *OvsMonitor) portAdded(portUUID string, row *libovsdb.RowUpdate) {
312320}
313321
314322func (o * OvsMonitor ) portDeleted (portUUID string , row * libovsdb.RowUpdate ) {
323+ // for some reason ovs can trigger multiple time this event
324+ if _ , ok := o .portCache [portUUID ]; ! ok {
325+ return
326+ }
315327 delete (o .portCache , portUUID )
316328
317329 logging .GetLogger ().Infof ("Port \" %s(%s)\" got deleted" ,
0 commit comments