Search in sources :

Example 1 with ManagedNodeEntry

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);
        }
    }
}
Also used : Node(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node) ManagedNodeEntry(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry)

Aggregations

ManagedNodeEntry (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry)1 Node (org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node)1