import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.unimgr.impl.UnimgrConstants;
+import org.opendaylight.unimgr.impl.UnimgrMapper;
import org.opendaylight.unimgr.impl.UnimgrUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDest;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSource;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
}
}
}
- UnimgrUtils.deleteNode(dataBroker,
- removedEvcIid,
- LogicalDatastoreType.OPERATIONAL);
+ UnimgrUtils.deleteNode(dataBroker, removedEvcIid, LogicalDatastoreType.OPERATIONAL);
}
}
}
ovsdbNodeIid);
if (optionalOvsdNode.isPresent()) {
Node ovsdbNode = optionalOvsdNode.get();
- OvsdbNodeAugmentation ovsdbNodeAugmentation = ovsdbNode
- .getAugmentation(OvsdbNodeAugmentation.class);
+ OvsdbNodeAugmentation ovsdbNodeAugmentation = ovsdbNode.getAugmentation(OvsdbNodeAugmentation.class);
for (ManagedNodeEntry managedNodeEntry: ovsdbNodeAugmentation.getManagedNodeEntry()) {
InstanceIdentifier<Node> bridgeIid = managedNodeEntry
.getBridgeRef()
.getValue()
.firstIdentifierOf(Node.class);
- UnimgrUtils.deleteNode(dataBroker, bridgeIid, LogicalDatastoreType.CONFIGURATION);
- UnimgrUtils.createBridgeNode(dataBroker,
- ovsdbNodeIid,
- uniAugmentation,
- UnimgrConstants.DEFAULT_BRIDGE_NAME);
+ Optional<Node> optBridgeNode = UnimgrUtils.readNode(dataBroker, bridgeIid);
+ if (optBridgeNode.isPresent()) {
+ Node bridgeNode = optBridgeNode.get();
+ InstanceIdentifier<TerminationPoint> iidGreTermPoint = UnimgrMapper.getTerminationPointIid(bridgeNode,
+ UnimgrConstants.DEFAULT_GRE_TUNNEL_NAME);
+ InstanceIdentifier<TerminationPoint> iidEthTermPoint = UnimgrMapper.getTerminationPointIid(bridgeNode,
+ UnimgrConstants.DEFAULT_TUNNEL_IFACE);
+ UnimgrUtils.deleteNode(dataBroker, iidGreTermPoint, LogicalDatastoreType.CONFIGURATION);
+ UnimgrUtils.deleteNode(dataBroker, iidEthTermPoint, LogicalDatastoreType.CONFIGURATION);
+ }
}
}
} else {
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.unimgr.impl.UnimgrConstants;
import org.opendaylight.unimgr.impl.UnimgrMapper;
import org.opendaylight.unimgr.impl.UnimgrUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentation;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
UniAugmentation uniAugmentation = UnimgrUtils.read(dataBroker,
LogicalDatastoreType.OPERATIONAL,
removedUniIid);
- if(uniAugmentation != null) {
+ if (uniAugmentation != null) {
OvsdbNodeRef ovsNodedRef = uniAugmentation.getOvsdbNodeRef();
InstanceIdentifier<Node> ovsdbNodeIid = ovsNodedRef.getValue().firstIdentifierOf(Node.class);
Optional<Node> optionalNode = UnimgrUtils.readNode(dataBroker,
LogicalDatastoreType.OPERATIONAL,
ovsdbNodeIid);
if (optionalNode.isPresent()) {
+ LOG.info("Delete bride node");
Node ovsdbNode = optionalNode.get();
InstanceIdentifier<Node> bridgeIid = UnimgrMapper.getOvsdbBridgeNodeIid(ovsdbNode);
- UnimgrUtils.deleteNode(dataBroker,
- bridgeIid,
- LogicalDatastoreType.CONFIGURATION);
+ Optional<Node> optBridgeNode = UnimgrUtils.readNode(dataBroker, bridgeIid);
+ if (optBridgeNode.isPresent()) {
+ Node bridgeNode = optBridgeNode.get();
+ InstanceIdentifier<TerminationPoint> iidTermPoint = UnimgrMapper.getTerminationPointIid(bridgeNode,
+ UnimgrConstants.DEFAULT_BRIDGE_NAME);
+ UnimgrUtils.deleteNode(dataBroker, iidTermPoint, LogicalDatastoreType.CONFIGURATION);
+ }
+ UnimgrUtils.deleteNode(dataBroker, bridgeIid, LogicalDatastoreType.CONFIGURATION);
}
- InstanceIdentifier<Node> iidUni = UnimgrMapper.getUniIid(dataBroker, uniAugmentation.getIpAddress(), LogicalDatastoreType.OPERATIONAL);
- UnimgrUtils.deleteNode(dataBroker, iidUni, LogicalDatastoreType.OPERATIONAL);
+ InstanceIdentifier<Node> iidUni = UnimgrMapper.getUniIid(dataBroker, uniAugmentation.getIpAddress(),
+ LogicalDatastoreType.OPERATIONAL);
+ if (iidUni != null)
+ UnimgrUtils.deleteNode(dataBroker, iidUni, LogicalDatastoreType.OPERATIONAL);
}
else {
LOG.info("Received Uni Augmentation is null", removedUniIid);