[ONOS-6609] OVSDB device is not removed properly

Change-Id: I475c1f124d513bf4b422bfac5db62913f9685256
diff --git a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java
index 50b8c83..4c29a58 100644
--- a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java
+++ b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java
@@ -196,6 +196,13 @@
             }
             if ((event.type() == DeviceEvent.Type.DEVICE_ADDED)) {
                 executor.execute(() -> discoverPorts(deviceId));
+            } else if ((event.type() == DeviceEvent.Type.DEVICE_REMOVED)) {
+                log.debug("removing device {}", event.subject().id());
+                OvsdbNodeId ovsdbNodeId = changeDeviceIdToNodeId(deviceId);
+                OvsdbClientService client = controller.getOvsdbClient(ovsdbNodeId);
+                if (client != null) {
+                    client.disconnect();
+                }
             }
         }