boolean createMappingData(String nodeId, String nodeVersion);
/**
- * This method removes mapping data from the datastore after disconnecting ODL
- * from a Netconf device.
+ * This method removes all mapping data of a given node from the datastore
+ * after disconnecting ODL from a Netconf device.
*
* @param nodeId
* node ID
*/
- void deleteMappingData(String nodeId);
+ void deletePortMappingNode(String nodeId);
/**
* This method for a given node's termination point returns the Mapping object
*/
Mapping getMapping(String nodeId, String circuitPackName, String portName);
+ /**
+ * This method removes a given mapping data from the mapping list
+ * stored in the datastore while the Netconf device is already
+ * connected to the controller.
+ *
+ * @param nodeId
+ * node ID
+ * @param logicalConnectionPoint
+ * key of the mapping inside the mapping list
+ */
+ void deleteMapping(String nodeId, String logicalConnectionPoint);
+
/**
* This method, for a given node media channel-capabilities, returns the object
* based on portmapping.yang model stored in the MD-SAL data store which is
return null;
}
+
+ @Override
+ public void deleteMapping(String nodeId, String logicalConnectionPoint) {
+ LOG.info("Deleting Mapping {} of node '{}'", logicalConnectionPoint, nodeId);
+ WriteTransaction rw = this.dataBroker.newWriteOnlyTransaction();
+ InstanceIdentifier<Mapping> mappingIID = InstanceIdentifier.create(Network.class)
+ .child(Nodes.class, new NodesKey(nodeId)).child(Mapping.class, new MappingKey(logicalConnectionPoint));
+ rw.delete(LogicalDatastoreType.CONFIGURATION, mappingIID);
+ try {
+ rw.commit().get(1, TimeUnit.SECONDS);
+ LOG.info("Mapping {} removed for node '{}'", logicalConnectionPoint, nodeId);
+ } catch (InterruptedException | ExecutionException | TimeoutException e) {
+ LOG.error("Error for removing mapping {} for node '{}'", logicalConnectionPoint, nodeId);
+ }
+ }
+
@Override
public McCapabilities getMcCapbilities(String nodeId, String mcLcp) {
/*
@Override
- public void deleteMappingData(String nodeId) {
+ public void deletePortMappingNode(String nodeId) {
LOG.info("Deleting Mapping Data corresponding at node '{}'", nodeId);
WriteTransaction rw = this.dataBroker.newWriteOnlyTransaction();
InstanceIdentifier<Nodes> nodesIID = InstanceIdentifier.create(Network.class)
} catch (InterruptedException | ExecutionException | TimeoutException e) {
LOG.error("Error for removing port mapping infos for node '{}'", nodeId, e);
}
-
}
@Override
.getMapping("node", "logicalConnectionPoint"), mapping);
//test delete portmapping for existing node
- portMapping.deleteMappingData("node");
+ portMapping.deletePortMappingNode("node");
//test get portmapping that was deleted above and doesn't exist anymore
assertNull(portMapping.getMapping("node", "logicalConnectionPoint"));
}
LOG.info("deleteOpenROADMnode: {} version {}", nodeId, deviceVersion.getName());
- this.portMapping.deleteMappingData(nodeId);
+ this.portMapping.deletePortMappingNode(nodeId);
this.networkTransactionService.commit().get(1, TimeUnit.SECONDS);
LOG.info("all nodes and links deleted ! ");