use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry in project netvirt by opendaylight.
the class ElanBridgeManager method handleNewProviderNetBridges.
public void handleNewProviderNetBridges(Node originalNode, Node updatedNode) {
if (!isOvsdbNode(updatedNode)) {
return;
}
List<ManagedNodeEntry> originalManagedNodes = getManagedNodeEntries(originalNode);
if (originalManagedNodes == null) {
return;
}
List<ManagedNodeEntry> updatedManagedNodes = getManagedNodeEntries(updatedNode);
if (updatedManagedNodes == null) {
return;
}
updatedManagedNodes.removeAll(originalManagedNodes);
if (updatedManagedNodes.isEmpty()) {
return;
}
LOG.debug("handleNewProviderNetBridges checking if any of these are provider nets {}", updatedManagedNodes);
Node brInt = southboundUtils.readBridgeNode(updatedNode, INTEGRATION_BRIDGE);
if (brInt == null) {
LOG.info("handleNewProviderNetBridges, br-int not found");
return;
}
Collection<String> providerVals = getOpenvswitchOtherConfigMap(updatedNode, PROVIDER_MAPPINGS_KEY).values();
for (ManagedNodeEntry nodeEntry : updatedManagedNodes) {
String bridgeName = nodeEntry.getBridgeRef().getValue().firstKeyOf(Node.class).getNodeId().getValue();
bridgeName = bridgeName.substring(bridgeName.lastIndexOf('/') + 1);
if (bridgeName.equals(INTEGRATION_BRIDGE)) {
continue;
}
if (providerVals.contains(bridgeName)) {
patchBridgeToBrInt(brInt, southboundUtils.readBridgeNode(updatedNode, bridgeName), bridgeName);
}
}
}
Aggregations