ONOS-5682 Trigger DeviceEvent when virtual device or port is added/updated/removed
Change-Id: I4f9b62551c4106c5dd8d2ccc977a09e4e8c93a43
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java
index d3390a6..f525028 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java
+++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java
@@ -543,7 +543,7 @@
virtualPortSet = new HashSet<>();
}
- Device device = deviceIdVirtualDeviceMap.get(deviceId);
+ VirtualDevice device = deviceIdVirtualDeviceMap.get(deviceId);
checkNotNull(device, "The device has not been created for deviceId: " + deviceId);
boolean exist = virtualPortSet.stream().anyMatch(
@@ -556,7 +556,7 @@
virtualPortSet.add(virtualPort);
networkIdVirtualPortSetMap.put(networkId, virtualPortSet);
notifyDelegate(new VirtualNetworkEvent(VirtualNetworkEvent.Type.VIRTUAL_PORT_ADDED,
- networkId, virtualPort));
+ networkId, device, virtualPort));
return virtualPort;
}
@@ -572,7 +572,7 @@
p.number().equals(portNumber)).findFirst().get();
checkNotNull(vPort, "The virtual port has not been added.");
- Device device = deviceIdVirtualDeviceMap.get(deviceId);
+ VirtualDevice device = deviceIdVirtualDeviceMap.get(deviceId);
checkNotNull(device, "The device has not been created for deviceId: "
+ deviceId);
@@ -581,12 +581,15 @@
virtualPortSet.add(vPort);
networkIdVirtualPortSetMap.put(networkId, virtualPortSet);
notifyDelegate(new VirtualNetworkEvent(VirtualNetworkEvent.Type.VIRTUAL_PORT_UPDATED,
- networkId, vPort));
+ networkId, device, vPort));
}
@Override
public void removePort(NetworkId networkId, DeviceId deviceId, PortNumber portNumber) {
checkState(networkExists(networkId), "The network has not been added.");
+ VirtualDevice device = deviceIdVirtualDeviceMap.get(deviceId);
+ checkNotNull(device, "The device has not been created for deviceId: "
+ + deviceId);
Set<VirtualPort> virtualPortSet = new HashSet<>();
networkIdVirtualPortSetMap.get(networkId).forEach(port -> {
@@ -608,7 +611,7 @@
if (portRemoved.get()) {
virtualPortSet.forEach(virtualPort -> notifyDelegate(
new VirtualNetworkEvent(VirtualNetworkEvent.Type.VIRTUAL_PORT_REMOVED,
- networkId, virtualPort)
+ networkId, device, virtualPort)
));
}
}