import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
import org.opendaylight.transportpce.tapi.R2RTapiLinkDiscovery;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.network.Nodes;
+import org.opendaylight.transportpce.tapi.TapiStringConstants;
+import org.opendaylight.transportpce.tapi.utils.TapiLink;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCH;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.SupportedIfCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.SupportedIfCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.SwitchingPoolTypes;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.AdministrativeState;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.CapacityUnit;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Context;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.ContextBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.ForwardingDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.LAYERPROTOCOLQUALIFIER;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.LayerProtocolName;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.LifecycleState;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.TerminationDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.TerminationState;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.capacity.TotalSizeBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.capacity.pac.AvailableCapacityBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.capacity.pac.TotalPotentialCapacityBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.context.ConnectivityContext;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.dsr.rev181210.DIGITALSIGNALTYPE100GigE;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.dsr.rev181210.DIGITALSIGNALTYPE10GigELAN;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.dsr.rev181210.DIGITALSIGNALTYPEGigE;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.odu.rev181210.ODUTYPEODU0;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.odu.rev181210.ODUTYPEODU2;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.odu.rev181210.ODUTYPEODU2E;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.odu.rev181210.ODUTYPEODU4;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.photonic.media.rev181210.PHOTONICLAYERQUALIFIEROTSi;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.ForwardingRule;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.ProtectionType;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.RestorationPolicy;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.RuleType;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.link.NodeEdgePoint;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.link.NodeEdgePointBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.link.NodeEdgePointKey;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.link.ResilienceTypeBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.NodeRuleGroup;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.NodeRuleGroupBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.NodeRuleGroupKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePoint;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointKey;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.Rule;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.risk.parameter.pac.RiskCharacteristic;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.risk.parameter.pac.RiskCharacteristicBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.LinkBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.LinkKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.transfer.cost.pac.CostCharacteristicBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.transfer.timing.pac.LatencyCharacteristic;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.transfer.timing.pac.LatencyCharacteristicBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.validation.pac.ValidationMechanism;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.validation.pac.ValidationMechanismBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint32;
-import org.opendaylight.yangtools.yang.common.Uint64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TapiNetworkModelServiceImpl implements TapiNetworkModelService {
private static final Logger LOG = LoggerFactory.getLogger(TapiNetworkModelServiceImpl.class);
- private static final String DSR = "DSR";
- private static final String I_ODU = "iODU";
- private static final String E_ODU = "eODU";
- private static final String OTSI = "OTSi";
- private static final String E_OTSI = "eOTSi";
- private static final String I_OTSI = "iOTSi";
- private static final String PHTNC_MEDIA = "PHOTONIC_MEDIA";
- private static final String MC = "MEDIA_CHANNEL";
- private static final String OTSI_MC = "OTSi_MEDIA_CHANNEL";
- private static final String CLIENT = "-CLIENT";
- private static final String NETWORK = "-NETWORK";
- private static final String XPDR = "-XPDR";
- private final Uuid tapiTopoUuid = new Uuid(UUID.nameUUIDFromBytes(TopologyUtils.T0_FULL_MULTILAYER
+ private final Uuid tapiTopoUuid = new Uuid(UUID.nameUUIDFromBytes(TapiStringConstants.T0_FULL_MULTILAYER
.getBytes(Charset.forName("UTF-8"))).toString());
private final NetworkTransactionService networkTransactionService;
private Map<ServiceInterfacePointKey, ServiceInterfacePoint> sipMap;
private final R2RTapiLinkDiscovery linkDiscovery;
+ private final TapiLink tapiLink;
public TapiNetworkModelServiceImpl(final R2RTapiLinkDiscovery linkDiscovery,
- NetworkTransactionService networkTransactionService) {
+ NetworkTransactionService networkTransactionService, TapiLink tapiLink) {
this.networkTransactionService = networkTransactionService;
this.sipMap = new HashMap<>();
this.linkDiscovery = linkDiscovery;
+ this.tapiLink = tapiLink;
}
@Override
onepMap.putAll(transformSrgToOnep(orNodeId, mapSrg));
// create tapi Node
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node roadmNode =
- createRoadmTapiNode(orNodeId, onepMap);
+ Node roadmNode = createRoadmTapiNode(orNodeId, onepMap);
mergeNodeinTopology(Map.of(roadmNode.key(), roadmNode));
mergeSipsinContext(this.sipMap);
// TODO add states corresponding to device config -> based on mapping.
if (!rdm2rdmLinks.isEmpty()) {
mergeLinkinTopology(rdm2rdmLinks);
}
-
+ LOG.info("TAPI node for or node {} successfully merged", orNodeId);
} else if (NodeTypes.Xpdr.getIntValue() == node.getNodeInfo().getNodeType().getIntValue()) {
List<Mapping> networkMappings = node.nonnullMapping().values()
.stream().filter(k -> k.getLogicalConnectionPoint()
Map<Integer, String> xpdrMap = new HashMap<>();
for (Mapping mapping : networkMappings) {
Integer xpdrNb = Integer.parseInt(mapping.getLogicalConnectionPoint().split("XPDR")[1].split("-")[0]);
- String nodeId = node.getNodeId() + XPDR + xpdrNb;
+ String nodeId = node.getNodeId() + TapiStringConstants.XPDR + xpdrNb;
if (!xpdrMap.containsKey(xpdrNb)) {
List<Mapping> xpdrNetMaps = node.nonnullMapping().values()
- .stream().filter(k -> k.getLogicalConnectionPoint()
- .contains("XPDR" + xpdrNb + NETWORK)).collect(Collectors.toList());
+ .stream().filter(k -> k.getLogicalConnectionPoint()
+ .contains("XPDR" + xpdrNb + TapiStringConstants.NETWORK)).collect(Collectors.toList());
List<Mapping> xpdrClMaps = node.nonnullMapping().values()
- .stream().filter(k -> k.getLogicalConnectionPoint()
- .contains("XPDR" + xpdrNb + CLIENT)).collect(Collectors.toList());
+ .stream().filter(k -> k.getLogicalConnectionPoint()
+ .contains("XPDR" + xpdrNb + TapiStringConstants.CLIENT)).collect(Collectors.toList());
xpdrMap.put(xpdrNb, node.getNodeId());
// create switching pool
// node transformation
Map<NodeKey, Node> nodeMap = new HashMap<>(transformXpdrToTapiNode(
- nodeId, xpdrClMaps, xpdrNetMaps, mapping.getXponderType(), oorOduSwitchingPool,
- mapping.getSupportedInterfaceCapability()));
-
+ nodeId, xpdrClMaps, xpdrNetMaps, mapping.getXponderType(), oorOduSwitchingPool));
// add nodes and sips to tapi context
mergeNodeinTopology(nodeMap);
mergeSipsinContext(this.sipMap);
}
}
+ LOG.info("TAPI node for or node {} successfully merged", orNodeId);
}
// Device not managed yet
}
private Map<NodeKey, Node> transformXpdrToTapiNode(String nodeId, List<Mapping> xpdrClMaps,
List<Mapping> xpdrNetMaps, XpdrNodeTypes xponderType,
- OduSwitchingPools oorOduSwitchingPool,
- List<Class<? extends SupportedIfCapability>>
- supportedInterfaceCapability) {
+ OduSwitchingPools oorOduSwitchingPool) {
Map<NodeKey, Node> nodeMap = new HashMap<>();
LOG.info("creation of a DSR/ODU node for {}", nodeId);
- Uuid nodeUuidDsr = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId, DSR))
+ Uuid nodeUuidDsr = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId, TapiStringConstants.DSR))
.getBytes(Charset.forName("UTF-8"))).toString());
Name nameDsr = new NameBuilder().setValueName("dsr/odu node name").setValue(
- String.join("+", nodeId, DSR)).build();
+ String.join("+", nodeId, TapiStringConstants.DSR)).build();
+ Name nameNodeType = new NameBuilder().setValueName("Node Type")
+ .setValue(getNodeType(xponderType)).build();
List<LayerProtocolName> dsrLayerProtocols = Arrays.asList(LayerProtocolName.DSR,
LayerProtocolName.ODU);
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
- .Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr), dsrLayerProtocols,
- nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool,
- supportedInterfaceCapability);
+ Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr, nameNodeType.key(), nameNodeType),
+ dsrLayerProtocols, nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool);
nodeMap.put(dsrNode.key(), dsrNode);
// node creation [otsi]
LOG.info("creation of an OTSi node for {}", nodeId);
- Uuid nodeUuidOtsi = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId, OTSI))
+ Uuid nodeUuidOtsi = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId, TapiStringConstants.OTSI))
.getBytes(Charset.forName("UTF-8"))).toString());
Name nameOtsi = new NameBuilder().setValueName("otsi node name").setValue(
- String.join("+", nodeId, OTSI)).build();
+ String.join("+", nodeId, TapiStringConstants.OTSI)).build();
List<LayerProtocolName> otsiLayerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA);
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
- .Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi), otsiLayerProtocols,
- nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null,
- supportedInterfaceCapability);
+ Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi, nameNodeType.key(), nameNodeType),
+ otsiLayerProtocols, nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null);
nodeMap.put(otsiNode.key(), otsiNode);
switch (xpdrType) {
case 1:
// Tpdr
- return createTpdrSwitchPool();
+ return createTpdrSwitchPool(xpdrNetMaps);
case 2:
// Mux
return createMuxSwitchPool(xpdrClMaps, xpdrNetMaps, xpdrNb);
}
if (nodeId.contains("ROADM")) {
// Node is in photonic media layer and UUID can be built from nodeId + PHTN_MEDIA
- Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId, PHTNC_MEDIA))
- .getBytes(Charset.forName("UTF-8"))).toString());
+ Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.PHTNC_MEDIA)).getBytes(Charset.forName("UTF-8"))).toString());
deleteNodeFromTopo(nodeUuid);
}
if (nodeId.contains("XPDR") || nodeId.contains("SPDR") || nodeId.contains("MXPDR")) {
private Node createTapiXpdrNode(Map<NameKey, Name> nameMap, List<LayerProtocolName> layerProtocols,
String nodeId, Uuid nodeUuid, List<Mapping> xpdrClMaps, List<Mapping> xpdrNetMaps,
- XpdrNodeTypes xponderType, OduSwitchingPools oorOduSwitchingPool,
- List<Class<? extends SupportedIfCapability>> supportedInterfaceCapability) {
+ XpdrNodeTypes xponderType, OduSwitchingPools oorOduSwitchingPool) {
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> onepl = new HashMap<>();
Map<NodeRuleGroupKey, NodeRuleGroup> nodeRuleGroupList = new HashMap<>();
Map<RuleKey, Rule> ruleList = new HashMap<>();
if (layerProtocols.contains(LayerProtocolName.DSR)) {
// neps for dsr/odu layer
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> dsroduNeps =
- createXpdrDsrOduNeps(nodeId, xpdrClMaps, xpdrNetMaps, xponderType, supportedInterfaceCapability);
+ createXpdrDsrOduNeps(nodeId, xpdrClMaps, xpdrNetMaps, xponderType);
onepl.putAll(dsroduNeps);
nodeRuleGroupList = createNodeRuleGroupForDsrNode(nodeId, oorOduSwitchingPool, ruleList, onepl);
} else if (layerProtocols.contains(LayerProtocolName.PHOTONICMEDIA)) {
// neps for photonic layer
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> phtmdNeps =
- createXpdrPhtnMdNeps(nodeId, xpdrNetMaps, supportedInterfaceCapability);
+ createXpdrPhtnMdNeps(nodeId, xpdrNetMaps);
onepl.putAll(phtmdNeps);
nodeRuleGroupList = createNodeRuleGroupForOtsiNode(nodeId, xpdrNetMaps, ruleList);
} else {
}
private Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> createXpdrPhtnMdNeps(String nodeId,
- List<Mapping> xpdrNetMaps, List<Class<? extends SupportedIfCapability>> supportedInterfaceCapability) {
+ List<Mapping> xpdrNetMaps) {
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> onepl = new HashMap<>();
// iNep creation on otsi node
for (int i = 0; i < xpdrNetMaps.size(); i++) {
Uuid nepUuid1 = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, I_OTSI, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8")))
- .toString());
+ (String.join("+", nodeId, TapiStringConstants.I_OTSI,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
Name onedName = new NameBuilder()
- .setValueName("iNodeEdgePoint")
- .setValue(String.join("+", nodeId, I_OTSI, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .build();
+ .setValueName("iNodeEdgePoint")
+ .setValue(String.join("+", nodeId, TapiStringConstants.I_OTSI,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint()))
+ .build();
+
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrNetMaps.get(i).getSupportedInterfaceCapability();
OwnedNodeEdgePoint onep = createNep(nepUuid1, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
- Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- true, String.join("+", nodeId, I_OTSI), supportedInterfaceCapability,
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
+ true, String.join("+", nodeId, TapiStringConstants.I_OTSI), newSupIfCapList,
+ transformOperState(xpdrNetMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// eNep creation on otsi node
for (int i = 0; i < xpdrNetMaps.size(); i++) {
Uuid nepUuid2 = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, E_OTSI, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
+ (String.join("+", nodeId, TapiStringConstants.E_OTSI,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
Name onedName = new NameBuilder()
- .setValueName("eNodeEdgePoint")
- .setValue(String.join("+", nodeId, E_OTSI, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .build();
+ .setValueName("eNodeEdgePoint")
+ .setValue(String.join("+", nodeId, TapiStringConstants.E_OTSI,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint()))
+ .build();
+
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrNetMaps.get(i).getSupportedInterfaceCapability();
OwnedNodeEdgePoint onep = createNep(nepUuid2, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
- Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- false, String.join("+", nodeId, E_OTSI), supportedInterfaceCapability,
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
+ false, String.join("+", nodeId, TapiStringConstants.E_OTSI), newSupIfCapList,
+ transformOperState(xpdrNetMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// Photonic Media Nep creation on otsi node
for (int i = 0; i < xpdrNetMaps.size(); i++) {
Uuid nepUuid3 = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, PHTNC_MEDIA, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
+ (String.join("+", nodeId, TapiStringConstants.PHTNC_MEDIA,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
Name onedName = new NameBuilder()
- .setValueName("PhotMedNodeEdgePoint")
- .setValue(String.join("+", nodeId, PHTNC_MEDIA, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .build();
+ .setValueName("PhotMedNodeEdgePoint")
+ .setValue(String.join("+", nodeId, TapiStringConstants.PHTNC_MEDIA,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint()))
+ .build();
+
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrNetMaps.get(i).getSupportedInterfaceCapability();
OwnedNodeEdgePoint onep = createNep(nepUuid3, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
- Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- false, String.join("+", nodeId, PHTNC_MEDIA), supportedInterfaceCapability,
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
+ false, String.join("+", nodeId, TapiStringConstants.PHTNC_MEDIA), newSupIfCapList,
+ transformOperState(xpdrNetMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
return onepl;
}
private Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> createXpdrDsrOduNeps(String nodeId, List<Mapping> xpdrClMaps,
- List<Mapping> xpdrNetMaps, XpdrNodeTypes xponderType,
- List<Class<? extends SupportedIfCapability>> supportedInterfaceCapability) {
+ List<Mapping> xpdrNetMaps,
+ XpdrNodeTypes xponderType) {
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> onepl = new HashMap<>();
// client nep creation on DSR node
for (int i = 0; i < xpdrClMaps.size(); i++) {
- LOG.info("Client NEP = {}", String.join("+", nodeId, DSR, xpdrClMaps.get(i).getLogicalConnectionPoint()));
+ LOG.info("Client NEP = {}", String.join("+", nodeId, TapiStringConstants.DSR,
+ xpdrClMaps.get(i).getLogicalConnectionPoint()));
Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, DSR, xpdrClMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
- NameBuilder nameBldr = new NameBuilder().setValue(
- String.join("+", nodeId, DSR, xpdrClMaps.get(i).getLogicalConnectionPoint()));
+ (String.join("+", nodeId, TapiStringConstants.DSR,
+ xpdrClMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
+ NameBuilder nameBldr = new NameBuilder().setValue(String.join("+", nodeId,
+ TapiStringConstants.DSR, xpdrClMaps.get(i).getLogicalConnectionPoint()));
Name name;
if (OpenroadmNodeType.TPDR.getName().equalsIgnoreCase(xponderType.getName())) {
name = nameBldr.setValueName("100G-tpdr").build();
name = nameBldr.setValueName("NodeEdgePoint_C").build();
}
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrClMaps.get(i).getSupportedInterfaceCapability();
+
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrClMaps.get(i).getLogicalConnectionPoint(),
- Map.of(name.key(), name), LayerProtocolName.DSR, LayerProtocolName.DSR, true,
- String.join("+", nodeId, DSR), supportedInterfaceCapability,
- transformOperState(xpdrClMaps.get(i).getPortOperState()),
- transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
+ Map.of(name.key(), name), LayerProtocolName.DSR, LayerProtocolName.DSR, true,
+ String.join("+", nodeId, TapiStringConstants.DSR), newSupIfCapList,
+ transformOperState(xpdrClMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// network nep creation on I_ODU node
for (int i = 0; i < xpdrNetMaps.size(); i++) {
- LOG.info("iODU NEP = {}", String.join("+", nodeId, I_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()));
+ LOG.info("iODU NEP = {}", String.join("+", nodeId, TapiStringConstants.I_ODU,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint()));
Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, I_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
+ (String.join("+", nodeId, TapiStringConstants.I_ODU,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
Name onedName = new NameBuilder()
- .setValueName("iNodeEdgePoint_N")
- .setValue(String.join("+", nodeId, I_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .build();
+ .setValueName("iNodeEdgePoint_N")
+ .setValue(String.join("+", nodeId, TapiStringConstants.I_ODU,
+ xpdrNetMaps.get(i).getLogicalConnectionPoint()))
+ .build();
+
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrNetMaps.get(i).getSupportedInterfaceCapability();
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
- Map.of(onedName.key(), onedName),
- LayerProtocolName.ODU, LayerProtocolName.DSR, false,
- String.join("+", nodeId, I_ODU), supportedInterfaceCapability,
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ Map.of(onedName.key(), onedName),
+ LayerProtocolName.ODU, LayerProtocolName.DSR, true,
+ String.join("+", nodeId, TapiStringConstants.I_ODU), newSupIfCapList,
+ transformOperState(xpdrNetMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// network nep creation on E_ODU node
- for (int i = 0; i < xpdrNetMaps.size(); i++) {
- LOG.info("eODU NEP = {}", String.join("+", nodeId, E_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()));
+ for (int i = 0; i < xpdrClMaps.size(); i++) {
+ LOG.info("eODU NEP = {}", String.join("+", nodeId, TapiStringConstants.E_ODU,
+ xpdrClMaps.get(i).getLogicalConnectionPoint()));
Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, E_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
+ (String.join("+", nodeId, TapiStringConstants.E_ODU,
+ xpdrClMaps.get(i).getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString());
Name onedName = new NameBuilder()
- .setValueName("eNodeEdgePoint_N")
- .setValue(String.join("+", nodeId, E_ODU, xpdrNetMaps.get(i).getLogicalConnectionPoint()))
- .build();
+ .setValueName("eNodeEdgePoint_N")
+ .setValue(String.join("+", nodeId, TapiStringConstants.E_ODU,
+ xpdrClMaps.get(i).getLogicalConnectionPoint()))
+ .build();
- OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
- Map.of(onedName.key(), onedName),
- LayerProtocolName.ODU, LayerProtocolName.DSR, true,
- String.join("+", nodeId, E_ODU), supportedInterfaceCapability,
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ List<Class<? extends SupportedIfCapability>> newSupIfCapList =
+ xpdrClMaps.get(i).getSupportedInterfaceCapability();
+
+ OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrClMaps.get(i).getLogicalConnectionPoint(),
+ Map.of(onedName.key(), onedName),
+ LayerProtocolName.ODU, LayerProtocolName.DSR, false,
+ String.join("+", nodeId, TapiStringConstants.E_ODU), newSupIfCapList,
+ transformOperState(xpdrClMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
return onepl;
private AdministrativeState transformAdminState(String adminString) {
AdminStates adminState = org.opendaylight.transportpce.networkmodel.util.TopologyUtils
- .setNetworkAdminState(adminString);
+ .setNetworkAdminState(adminString);
return adminState.equals(AdminStates.InService) ? AdministrativeState.UNLOCKED : AdministrativeState.LOCKED;
}
}
LOG.debug("Node layer {}", nodeProtocol.getName());
onepBldr.setSupportedCepLayerProtocolQualifier(createSupportedLayerProtocolQualifier(
- supportedInterfaceCapability, nodeProtocol));
+ supportedInterfaceCapability, nepProtocol));
onepBldr.setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
.setAdministrativeState(adminState).setOperationalState(operState)
.setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
AdministrativeState adminState) {
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> onepMap = new HashMap<>();
// PHOTONIC MEDIA nep
- Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId, PHTNC_MEDIA, tpId))
- .getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId,
+ TapiStringConstants.PHTNC_MEDIA, tpId)).getBytes(Charset.forName("UTF-8"))).toString());
Name nepName = new NameBuilder()
- .setValueName("NodeEdgePoint name")
- .setValue(String.join("+", orNodeId, PHTNC_MEDIA, tpId))
+ .setValueName(TapiStringConstants.PHTNC_MEDIA + "NodeEdgePoint")
+ .setValue(String.join("+", orNodeId, TapiStringConstants.PHTNC_MEDIA, tpId))
.build();
- OwnedNodeEdgePointBuilder onepBldr = new OwnedNodeEdgePointBuilder()
- .setUuid(nepUuid)
- .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
- .setName(Map.of(nepName.key(), nepName))
- .setSupportedCepLayerProtocolQualifier(List.of(PHOTONICLAYERQUALIFIEROMS.class))
- .setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
- .setAdministrativeState(adminState).setOperationalState(operState)
- .setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
- .setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL);
- OwnedNodeEdgePoint onep = onepBldr.build();
+ OwnedNodeEdgePoint onep = new OwnedNodeEdgePointBuilder()
+ .setUuid(nepUuid)
+ .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
+ .setName(Map.of(nepName.key(), nepName))
+ .setSupportedCepLayerProtocolQualifier(List.of(PHOTONICLAYERQUALIFIEROMS.class))
+ .setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
+ .setAdministrativeState(adminState).setOperationalState(operState)
+ .setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
+ .setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL)
+ .build();
onepMap.put(onep.key(), onep);
// MC nep
- Uuid nepUuid1 = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId, MC, tpId))
- .getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nepUuid1 = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId,
+ TapiStringConstants.MC, tpId)).getBytes(Charset.forName("UTF-8"))).toString());
Name nepName1 = new NameBuilder()
- .setValueName("NodeEdgePoint name")
- .setValue(String.join("+", orNodeId, MC, tpId))
+ .setValueName(TapiStringConstants.MC + "NodeEdgePoint")
+ .setValue(String.join("+", orNodeId, TapiStringConstants.MC, tpId))
.build();
OwnedNodeEdgePointBuilder onepBldr1 = new OwnedNodeEdgePointBuilder()
.setUuid(nepUuid1)
.setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL);
if (withSip) {
onepBldr1.setMappedServiceInterfacePoint(createMSIP(1, LayerProtocolName.PHOTONICMEDIA,
- tpId, String.join("+", orNodeId, MC), null, operState, adminState));
+ tpId, String.join("+", orNodeId, TapiStringConstants.MC), null,
+ operState, adminState));
}
OwnedNodeEdgePoint onep1 = onepBldr1.build();
onepMap.put(onep1.key(), onep1);
// OTSiMC nep
- Uuid nepUuid2 = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId, OTSI_MC, tpId))
- .getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nepUuid2 = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId, TapiStringConstants.OTSI_MC,
+ tpId)).getBytes(Charset.forName("UTF-8"))).toString());
Name nepName2 = new NameBuilder()
- .setValueName("NodeEdgePoint name")
- .setValue(String.join("+", orNodeId, OTSI_MC, tpId))
+ .setValueName(TapiStringConstants.OTSI_MC + "NodeEdgePoint")
+ .setValue(String.join("+", orNodeId, TapiStringConstants.OTSI_MC, tpId))
.build();
- OwnedNodeEdgePointBuilder onepBldr2 = new OwnedNodeEdgePointBuilder()
- .setUuid(nepUuid2)
- .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
- .setName(Map.of(nepName2.key(), nepName2))
- .setSupportedCepLayerProtocolQualifier(List.of(PHOTONICLAYERQUALIFIEROMS.class))
- .setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
- .setAdministrativeState(adminState).setOperationalState(operState)
- .setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
- .setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL);
- OwnedNodeEdgePoint onep2 = onepBldr2.build();
+
+ OwnedNodeEdgePoint onep2 = new OwnedNodeEdgePointBuilder()
+ .setUuid(nepUuid2)
+ .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
+ .setName(Map.of(nepName2.key(), nepName2))
+ .setSupportedCepLayerProtocolQualifier(List.of(PHOTONICLAYERQUALIFIEROMS.class))
+ .setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
+ .setAdministrativeState(adminState).setOperationalState(operState)
+ .setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
+ .setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL)
+ .build();
onepMap.put(onep2.key(), onep2);
return onepMap;
}
private Map<MappedServiceInterfacePointKey, MappedServiceInterfacePoint>
- createMSIP(int nb, LayerProtocolName layerProtocol, String tpid, String nodeid,
+ createMSIP(int nb, LayerProtocolName layerProtocol, String tpid, String nodeid,
List<Class<? extends SupportedIfCapability>> supportedInterfaceCapability,
OperationalState operState, AdministrativeState adminState) {
Map<MappedServiceInterfacePointKey, MappedServiceInterfacePoint> msipl = new HashMap<>();
tpid)).getBytes(Charset.forName("UTF-8"))).toString());
MappedServiceInterfacePoint msip = new MappedServiceInterfacePointBuilder()
.setServiceInterfacePointUuid(sipUuid).build();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.tapi.context.ServiceInterfacePoint sip
- = createSIP(sipUuid, layerProtocol, tpid, nodeid, supportedInterfaceCapability,
- operState, adminState);
+ ServiceInterfacePoint sip = createSIP(sipUuid, layerProtocol, tpid, nodeid, supportedInterfaceCapability,
+ operState, adminState);
this.sipMap.put(sip.key(), sip);
LOG.info("SIP created {}", sip.getUuid());
// this.tapiSips.put(sip.key(), sip);
.build();
}
- private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node
- createRoadmTapiNode(String orNodeId, Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> oneplist) {
+ private Node createRoadmTapiNode(String orNodeId, Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> oneplist) {
// UUID
Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId,
- PHTNC_MEDIA)).getBytes(Charset.forName("UTF-8"))).toString());
+ TapiStringConstants.PHTNC_MEDIA)).getBytes(Charset.forName("UTF-8"))).toString());
// Names
Name nodeNames = new NameBuilder().setValueName("roadm node name")
- .setValue(String.join("+", orNodeId, PHTNC_MEDIA)).build();
+ .setValue(String.join("+", orNodeId, TapiStringConstants.PHTNC_MEDIA)).build();
+ Name nameNodeType = new NameBuilder().setValueName("Node Type")
+ .setValue(OpenroadmNodeType.ROADM.getName()).build();
// Protocol Layer
List<LayerProtocolName> layerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA);
// Empty random creation of mandatory fields for avoiding errors....
.build();
return new NodeBuilder()
.setUuid(nodeUuid)
- .setName(Map.of(nodeNames.key(), nodeNames))
+ .setName(Map.of(nodeNames.key(), nodeNames, nameNodeType.key(), nameNodeType))
.setLayerProtocolName(layerProtocols)
.setAdministrativeState(AdministrativeState.UNLOCKED)
.setOperationalState(OperationalState.ENABLED)
.setLifecycleState(LifecycleState.INSTALLED)
.setOwnedNodeEdgePoint(oneplist)
- .setNodeRuleGroup(createNodeRuleGroupForRdmNode(nodeUuid, oneplist.values()))
+ .setNodeRuleGroup(createNodeRuleGroupForRdmNode(orNodeId, nodeUuid, oneplist.values()))
.setCostCharacteristic(Map.of(costCharacteristic.key(), costCharacteristic))
.setLatencyCharacteristic(Map.of(latencyCharacteristic.key(), latencyCharacteristic))
.setErrorCharacteristic("error")
.build();
}
- private Map<NodeRuleGroupKey, NodeRuleGroup> createNodeRuleGroupForRdmNode(Uuid nodeUuid,
+ private Map<NodeRuleGroupKey, NodeRuleGroup> createNodeRuleGroupForRdmNode(String orNodeId, Uuid nodeUuid,
Collection<OwnedNodeEdgePoint> onepl) {
- Map<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey,
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint>
+ Map<NodeEdgePointKey, NodeEdgePoint>
nepMap = new HashMap<>();
for (OwnedNodeEdgePoint onep : onepl) {
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint
- nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePointBuilder()
- .setTopologyUuid(tapiTopoUuid)
- .setNodeUuid(nodeUuid)
- .setNodeEdgePointUuid(onep.key().getUuid())
- .build();
+ NodeEdgePoint nep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(nodeUuid)
+ .setNodeEdgePointUuid(onep.key().getUuid())
+ .build();
nepMap.put(nep.key(), nep);
}
Map<NodeRuleGroupKey, NodeRuleGroup> nodeRuleGroupMap = new HashMap<>();
.build();
ruleList.put(rule.key(), rule);
NodeRuleGroup nodeRuleGroup = new NodeRuleGroupBuilder()
- .setUuid(new Uuid(UUID.nameUUIDFromBytes(("rdm infra node rule group")
+ .setUuid(new Uuid(UUID.nameUUIDFromBytes((orNodeId + " node rule group")
.getBytes(Charset.forName("UTF-8"))).toString()))
.setRule(ruleList)
.setNodeEdgePoint(nepMap)
Uuid nodeUuidOtsi) {
Map<LinkKey, Link> linkMap = new HashMap<>();
for (Mapping mapping : xpdrNetMaps) {
- Map<NodeEdgePointKey, NodeEdgePoint> nepList = new HashMap<>();
- String sourceKey = String.join("+", nodeId, I_ODU, mapping.getLogicalConnectionPoint());
- Uuid sourceUuidTp = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, I_ODU, mapping.getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
- String destKey = String.join("+", nodeId, I_OTSI, mapping.getLogicalConnectionPoint());
- Uuid destUuidTp = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, I_OTSI, mapping.getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString());
- NodeEdgePoint sourceNep = new NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(nodeUuidDsr)
- .setNodeEdgePointUuid(sourceUuidTp)
- .build();
- nepList.put(sourceNep.key(), sourceNep);
- NodeEdgePoint destNep = new NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(nodeUuidOtsi)
- .setNodeEdgePointUuid(destUuidTp)
- .build();
- nepList.put(destNep.key(), destNep);
- Name linkName = new NameBuilder().setValueName("transitional link name")
- .setValue(String.join("--",nodeId, sourceKey, destKey))
- .build();
- CostCharacteristic costCharacteristic = new CostCharacteristicBuilder()
- .setCostAlgorithm("Restricted Shortest Path - RSP")
- .setCostName("HOP_COUNT")
- .setCostValue("12345678")
- .build();
- LatencyCharacteristic latencyCharacteristic = new LatencyCharacteristicBuilder()
- .setFixedLatencyCharacteristic("12345678")
- .setQueingLatencyCharacteristic("12345678")
- .setJitterCharacteristic("12345678")
- .setWanderCharacteristic("12345678")
- .setTrafficPropertyName("FIXED_LATENCY")
- .build();
- RiskCharacteristic riskCharacteristic = new RiskCharacteristicBuilder()
- .setRiskCharacteristicName("risk characteristic")
- .setRiskIdentifierList(List.of("risk identifier1", "risk identifier2"))
- .build();
- ValidationMechanism validationMechanism = new ValidationMechanismBuilder()
- .setValidationMechanism("validation mechanism")
- .setValidationRobustness("validation robustness")
- .setLayerProtocolAdjacencyValidated("layer protocol adjacency")
- .build();
- Link transiLink = new LinkBuilder()
- .setUuid(new Uuid(
- UUID.nameUUIDFromBytes((String.join("--", nodeId, sourceKey, destKey))
- .getBytes(Charset.forName("UTF-8")))
- .toString()))
- .setName(Map.of(linkName.key(), linkName))
- .setTransitionedLayerProtocolName(Arrays.asList(LayerProtocolName.ODU.getName(),
- LayerProtocolName.PHOTONICMEDIA.getName()))
- .setNodeEdgePoint(nepList)
- .setLayerProtocolName(Arrays.asList(LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.ODU))
- .setDirection(ForwardingDirection.BIDIRECTIONAL)
- .setAvailableCapacity(new AvailableCapacityBuilder().setTotalSize(
- new TotalSizeBuilder().setUnit(CapacityUnit.GBPS).setValue(Uint64.valueOf(100)).build())
- .build())
- .setResilienceType(new ResilienceTypeBuilder().setProtectionType(ProtectionType.NOPROTECTON)
- .setRestorationPolicy(RestorationPolicy.NA)
- .build())
- .setAdministrativeState(transformAdminState(mapping.getPortAdminState()))
- .setOperationalState(transformOperState(mapping.getPortOperState()))
- .setLifecycleState(LifecycleState.INSTALLED)
- .setTotalPotentialCapacity(new TotalPotentialCapacityBuilder().setTotalSize(
- new TotalSizeBuilder().setUnit(CapacityUnit.GBPS).setValue(Uint64.valueOf(100)).build())
- .build())
- .setCostCharacteristic(Map.of(costCharacteristic.key(), costCharacteristic))
- .setLatencyCharacteristic(Map.of(latencyCharacteristic.key(), latencyCharacteristic))
- .setRiskCharacteristic(Map.of(riskCharacteristic.key(), riskCharacteristic))
- .setErrorCharacteristic("error")
- .setLossCharacteristic("loss")
- .setRepeatDeliveryCharacteristic("repeat delivery")
- .setDeliveryOrderCharacteristic("delivery order")
- .setUnavailableTimeCharacteristic("unavailable time")
- .setServerIntegrityProcessCharacteristic("server integrity process")
- .setValidationMechanism(Map.of(validationMechanism.key(), validationMechanism))
- .build();
+ Link transiLink = tapiLink.createTapiLink(nodeId, mapping.getLogicalConnectionPoint(), nodeId,
+ mapping.getLogicalConnectionPoint(), TapiStringConstants.TRANSITIONAL_LINK, TapiStringConstants.DSR,
+ TapiStringConstants.OTSI, TapiStringConstants.I_ODU, TapiStringConstants.I_OTSI,
+ "inService", "inService", Arrays.asList(LayerProtocolName.ODU,
+ LayerProtocolName.PHOTONICMEDIA),
+ Arrays.asList(LayerProtocolName.ODU.getName(), LayerProtocolName.PHOTONICMEDIA.getName()),
+ this.tapiTopoUuid);
linkMap.put(transiLink.key(), transiLink);
}
// return a map of links and then we can do merge the corresponding link map into the topology context
return linkMap;
}
- private OduSwitchingPools createTpdrSwitchPool() {
- return new OduSwitchingPoolsBuilder().build();
+ private OduSwitchingPools createTpdrSwitchPool(List<Mapping> xpdrNetMaps) {
+ Map<NonBlockingListKey, NonBlockingList> nblMap = new HashMap<>();
+ int count = 1;
+ for (int i = 1; i <= xpdrNetMaps.size(); i++) {
+ LOG.info("XPDr net LCP = {}", xpdrNetMaps.get(i - 1).getLogicalConnectionPoint());
+ LOG.info("XPDr net associated LCP = {}", xpdrNetMaps.get(i - 1).getConnectionMapLcp());
+ TpId tpid1 = new TpId(xpdrNetMaps.get(i - 1).getLogicalConnectionPoint());
+ TpId tpid2 = new TpId(xpdrNetMaps.get(i - 1).getConnectionMapLcp());
+ List<TpId> tpList = new ArrayList<>();
+ tpList.add(tpid1);
+ tpList.add(tpid2);
+ NonBlockingList nbl = new NonBlockingListBuilder()
+ .setNblNumber(Uint16.valueOf(count))
+ .setTpList(tpList)
+ .build();
+ nblMap.put(nbl.key(), nbl);
+ count++;
+ }
+ return new OduSwitchingPoolsBuilder()
+ .setNonBlockingList(nblMap)
+ .setSwitchingPoolNumber(Uint16.valueOf(1))
+ .build();
}
private OduSwitchingPools createSwtchSwitchPool(List<Mapping> xpdrClMaps, List<Mapping> xpdrNetMaps,
List<TpId> tpl = new ArrayList<>();
TpId tpId = null;
for (int i = 1; i <= xpdrClMaps.size(); i++) {
- tpId = new TpId("XPDR" + xpdrNb + CLIENT + i);
+ tpId = new TpId("XPDR" + xpdrNb + TapiStringConstants.CLIENT + i);
tpl.add(tpId);
}
for (int i = 1; i <= xpdrNetMaps.size(); i++) {
- tpId = new TpId("XPDR" + xpdrNb + NETWORK + i);
+ tpId = new TpId("XPDR" + xpdrNb + TapiStringConstants.NETWORK + i);
tpl.add(tpId);
}
Map<NonBlockingListKey, NonBlockingList> nbMap = new HashMap<>();
NonBlockingList nbl = new NonBlockingListBuilder()
- .setNblNumber(Uint16.valueOf(1))
- .setTpList(tpl)
- .build();
+ .setNblNumber(Uint16.valueOf(1))
+ .setTpList(tpl)
+ .build();
nbMap.put(nbl.key(),nbl);
return new OduSwitchingPoolsBuilder()
- .setSwitchingPoolNumber(Uint16.valueOf(1))
- .setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
- .setNonBlockingList(nbMap)
- .build();
+ .setSwitchingPoolNumber(Uint16.valueOf(1))
+ .setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
+ .setNonBlockingList(nbMap)
+ .build();
}
private OduSwitchingPools createMuxSwitchPool(List<Mapping> xpdrClMaps, List<Mapping> xpdrNetMaps, Integer xpdrNb) {
Map<NonBlockingListKey, NonBlockingList> nbMap = new HashMap<>();
for (int i = 1; i <= xpdrClMaps.size(); i++) {
List<TpId> tpList = new ArrayList<>();
- TpId tpId = new TpId("XPDR" + xpdrNb + CLIENT + i);
+ TpId tpId = new TpId("XPDR" + xpdrNb + TapiStringConstants.CLIENT + i);
tpList.add(tpId);
tpId = new TpId("XPDR" + xpdrNb + "-NETWORK1");
tpList.add(tpId);
NonBlockingList nbl = new NonBlockingListBuilder()
- .setNblNumber(Uint16.valueOf(i))
- .setTpList(tpList)
- .setAvailableInterconnectBandwidth(Uint32.valueOf(xpdrNetMaps.size() * 10L))
- .setInterconnectBandwidthUnit(Uint32.valueOf(1000000000))
- .build();
+ .setNblNumber(Uint16.valueOf(i))
+ .setTpList(tpList)
+ .setAvailableInterconnectBandwidth(Uint32.valueOf(xpdrNetMaps.size() * 10L))
+ .setInterconnectBandwidthUnit(Uint32.valueOf(1000000000))
+ .build();
nbMap.put(nbl.key(),nbl);
}
return new OduSwitchingPoolsBuilder()
// create NodeRuleGroup
int count = 1;
for (Mapping tpMapping : xpdrNetMaps) {
- Map<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey,
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint>
- nepList = new HashMap<>();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePoint inep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
- .node.rule.group.NodeEdgePointBuilder()
- .setTopologyUuid(tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, OTSI)).getBytes(Charset.forName("UTF-8")))
- .toString()))
- .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, I_OTSI, tpMapping.getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString()))
- .build();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePoint enep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
- .node.rule.group.NodeEdgePointBuilder()
- .setTopologyUuid(tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, OTSI)).getBytes(Charset.forName("UTF-8")))
- .toString()))
- .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, E_OTSI, tpMapping.getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString()))
- .build();
+ Map<NodeEdgePointKey, NodeEdgePoint> nepList = new HashMap<>();
+ NodeEdgePoint inep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.OTSI)).getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.I_OTSI, tpMapping.getLogicalConnectionPoint()))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .build();
+ NodeEdgePoint enep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.OTSI)).getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId, TapiStringConstants.E_OTSI,
+ tpMapping.getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString()))
+ .build();
nepList.put(inep.key(), inep);
nepList.put(enep.key(), enep);
// Empty random creation of mandatory fields for avoiding errors....
OwnedNodeEdgePoint> onepl) {
// create NodeRuleGroup
if (oorOduSwitchingPool == null) {
- LOG.info("TPDR node --> no switching pool");
+ LOG.info("No switching pool created for node = {}", nodeId);
return new HashMap<>();
}
LOG.info("ONEPL = {}", onepl.values());
int count = 1;
for (NonBlockingList nbl : oorOduSwitchingPool.nonnullNonBlockingList().values()) {
LOG.info("Non blocking list = {}", nbl);
- Map<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey,
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint>
- nepList = new HashMap<>();
+ Map<NodeEdgePointKey, NodeEdgePoint> nepList = new HashMap<>();
for (TpId tp : nbl.getTpList()) {
- LOG.info("EDOU TP = {}", String.join("+", nodeId, E_ODU, tp.getValue()));
- LOG.info("DSR TP = {}", String.join("+", nodeId, DSR, tp.getValue()));
- Uuid tpUuid = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, E_ODU, tp.getValue())).getBytes(Charset.forName("UTF-8")))
- .toString());
- Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, DSR, tp.getValue())).getBytes(Charset.forName("UTF-8")))
- .toString());
+ LOG.info("EDOU TP = {}", String.join("+", nodeId, TapiStringConstants.E_ODU, tp.getValue()));
+ LOG.info("DSR TP = {}", String.join("+", nodeId, TapiStringConstants.DSR, tp.getValue()));
+ Uuid tpUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.E_ODU, tp.getValue())).getBytes(Charset.forName("UTF-8"))).toString());
+ Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.DSR, tp.getValue())).getBytes(Charset.forName("UTF-8"))).toString());
if (onepl.containsKey(new OwnedNodeEdgePointKey(tpUuid))
- || onepl.containsKey(new OwnedNodeEdgePointKey(tp1Uuid))) {
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint
- nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePointBuilder()
- .setTopologyUuid(tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, DSR)).getBytes(Charset.forName("UTF-8")))
- .toString()))
- .setNodeEdgePointUuid((tp.getValue().contains("CLIENT")) ? tp1Uuid : tpUuid)
- .build();
- nepList.put(nep.key(), nep);
+ && onepl.containsKey(new OwnedNodeEdgePointKey(tp1Uuid))) {
+ NodeEdgePoint nep1 = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId,TapiStringConstants. DSR))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(tp1Uuid)
+ .build();
+ NodeEdgePoint nep2 = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId,TapiStringConstants. DSR))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(tpUuid)
+ .build();
+ nepList.put(nep1.key(), nep1);
+ nepList.put(nep2.key(), nep2);
}
}
// Empty random creation of mandatory fields for avoiding errors....
LOG.info("SIC list = {}", sicList);
for (Class<? extends SupportedIfCapability> supInterCapa : sicList) {
SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder()
- .withKey(new SupportedInterfaceCapabilityKey(convertSupIfCapa(supInterCapa)))
- .setIfCapType(convertSupIfCapa(supInterCapa))
+ .withKey(new SupportedInterfaceCapabilityKey(supInterCapa))
+ .setIfCapType(supInterCapa)
.build();
supIfMap.put(supIfCapa.key(), supIfCapa);
}
for (SupportedInterfaceCapability sic : supIfMap.values()) {
switch (lpn.getName()) {
case "DSR":
- case "ODU":
switch (sic.getIfCapType().getSimpleName()) {
+ // TODO: it may be needed to add more cases clauses if the interface capabilities of a
+ // port are extended in the config file
+ case "If1GEODU0":
+ sclpqList.add(ODUTYPEODU0.class);
+ sclpqList.add(DIGITALSIGNALTYPEGigE.class);
+ break;
case "If10GEODU2e":
sclpqList.add(ODUTYPEODU2E.class);
sclpqList.add(DIGITALSIGNALTYPE10GigELAN.class);
break;
}
break;
+ case "ODU":
+ switch (sic.getIfCapType().getSimpleName()) {
+ // TODO: it may be needed to add more cases clauses if the interface capabilities of a
+ // port are extended in the config file
+ case "If1GEODU0":
+ sclpqList.add(ODUTYPEODU0.class);
+ break;
+ case "If10GEODU2e":
+ sclpqList.add(ODUTYPEODU2E.class);
+ break;
+ case "If10GEODU2":
+ case "If10GE":
+ sclpqList.add(ODUTYPEODU2.class);
+ break;
+ case "If100GEODU4":
+ case "If100GE":
+ case "IfOCHOTU4ODU4":
+ case "IfOCH":
+ sclpqList.add(ODUTYPEODU4.class);
+ break;
+ default:
+ LOG.error("IfCapability type not managed");
+ break;
+ }
+ break;
case "PHOTONIC_MEDIA":
if (sic.getIfCapType().getSimpleName().equals("IfOCHOTU4ODU4")
- || sic.getIfCapType().getSimpleName().equals("IfOCH")) {
+ || sic.getIfCapType().getSimpleName().equals("IfOCH")) {
sclpqList.add(PHOTONICLAYERQUALIFIEROTSi.class);
sclpqList.add(PHOTONICLAYERQUALIFIEROMS.class);
}
return sclpqList;
}
- private static Class<? extends SupportedIfCapability> convertSupIfCapa(Class<? extends
- SupportedIfCapability> ifCapType) {
- LOG.info("Interface Capability type = {}", ifCapType.getSimpleName());
- switch (ifCapType.getSimpleName()) {
- case "If100GEODU4":
- return If100GEODU4.class;
- case "IfOCHOTU4ODU4":
- return IfOCHOTU4ODU4.class;
- case "If1GEODU0":
- return If1GEODU0.class;
- case "If10GEODU2e":
- return If10GEODU2e.class;
- case "If10GEODU2":
- return If10GEODU2.class;
- case "If100GE":
- return If100GE.class;
- case "If10GE":
- return If10GE.class;
- case "If1GE":
- return If1GE.class;
- case "IfOCH":
- return IfOCH.class;
+ private String getNodeType(XpdrNodeTypes xponderType) {
+ switch (xponderType.getIntValue()) {
+ case 1:
+ return OpenroadmNodeType.TPDR.getName();
+ case 2:
+ return OpenroadmNodeType.MUXPDR.getName();
+ case 3:
+ return OpenroadmNodeType.SWITCH.getName();
default:
- return null;
+ LOG.info("XpdrType {} not supported", xponderType);
+ break;
}
+ return null;
}
private void mergeNodeinTopology(Map<NodeKey, Node> nodeMap) {
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
- .augmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1.class)
- .child(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext.class)
- .child(Topology.class, new TopologyKey(tapiTopoUuid))
+ .augmentation(Context1.class).child(TopologyContext.class)
+ .child(Topology.class, new TopologyKey(this.tapiTopoUuid))
.build();
- Topology topology = new TopologyBuilder().setUuid(tapiTopoUuid).setNode(nodeMap).build();
+ Topology topology = new TopologyBuilder().setUuid(this.tapiTopoUuid).setNode(nodeMap).build();
// merge in datastore
this.networkTransactionService.merge(LogicalDatastoreType.OPERATIONAL, topoIID,
} catch (InterruptedException | ExecutionException e) {
LOG.error("Error populating TAPI topology: ", e);
}
- LOG.info("Roadm Node added succesfully.");
+ LOG.info("Node added succesfully.");
}
private void mergeLinkinTopology(Map<LinkKey, Link> linkMap) {
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
- .augmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1.class)
- .child(org.opendaylight.yang.gen.v1.urn
- .onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext.class)
- .child(Topology.class, new TopologyKey(tapiTopoUuid))
- .build();
+ .augmentation(Context1.class).child(TopologyContext.class)
+ .child(Topology.class, new TopologyKey(this.tapiTopoUuid))
+ .build();
- Topology topology = new TopologyBuilder().setUuid(tapiTopoUuid).setLink(linkMap).build();
+ Topology topology = new TopologyBuilder().setUuid(this.tapiTopoUuid).setLink(linkMap).build();
// merge in datastore
this.networkTransactionService.merge(LogicalDatastoreType.OPERATIONAL, topoIID,
try {
InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Context.class)
.augmentation(Context1.class).child(TopologyContext.class).child(Topology.class,
- new TopologyKey(tapiTopoUuid)).child(Link.class, new LinkKey(linkUuid)).build();
+ new TopologyKey(this.tapiTopoUuid)).child(Link.class, new LinkKey(linkUuid)).build();
this.networkTransactionService.delete(LogicalDatastoreType.OPERATIONAL, linkIID);
this.networkTransactionService.commit().get();
LOG.info("TAPI link deleted successfully.");
try {
InstanceIdentifier<Node> nodeIDD = InstanceIdentifier.builder(Context.class)
.augmentation(Context1.class).child(TopologyContext.class).child(Topology.class,
- new TopologyKey(tapiTopoUuid)).child(Node.class, new NodeKey(nodeUuid)).build();
+ new TopologyKey(this.tapiTopoUuid)).child(Node.class, new NodeKey(nodeUuid)).build();
this.networkTransactionService.delete(LogicalDatastoreType.OPERATIONAL, nodeIDD);
this.networkTransactionService.commit().get();
LOG.info("TAPI Node deleted successfully.");
private void updateConnectivityServicesState(Uuid sipUuid, String nodeId) {
// TODO: check if this IID is correct
InstanceIdentifier<ConnectivityContext> connectivitycontextIID = InstanceIdentifier.builder(Context.class)
- .augmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1.class)
- .child(ConnectivityContext.class)
- .build();
+ .augmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1.class)
+ .child(ConnectivityContext.class)
+ .build();
ConnectivityContext connContext = null;
try {
Optional<ConnectivityContext> optConnContext =
LOG.error("Error committing into datastore", e);
}
}
-
}