description
"Version 1.2.1";
}
- enum "2.2" {
+ enum "2.2.1" {
value 2;
description
- "Version 2.2";
+ "Version 2.2.1";
}
}
}
public static final String DEFAULT_NETCONF_NODEID = "controller-config";
- public static final String OPENROADM_DEVICE_VERSION_2_2 = "(http://org/openroadm/device?revision=2017-12-15)org-openroadm-device";
+ public static final String OPENROADM_DEVICE_VERSION_2_2_1 = "(http://org/openroadm/device?revision=2018-10-19)org-openroadm-device";
public static final String OPENROADM_DEVICE_VERSION_1_2_1 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
package org.opendaylight.transportpce.common.crossconnect;
import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
import java.math.BigDecimal;
import java.util.List;
protected CrossConnect crossConnect;
private final MappingUtils mappingUtils;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
public CrossConnectImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
CrossConnectImpl121 crossConnectImpl121,
- CrossConnectImpl22 crossConnectImpl22) {
+ CrossConnectImpl221 crossConnectImpl221) {
this.deviceTransactionManager = deviceTransactionManager;
this.mappingUtils = mappingUtils;
this.crossConnectImpl121 = crossConnectImpl121;
- this.crossConnectImpl22 = crossConnectImpl22;
+ this.crossConnectImpl221 = crossConnectImpl221;
this.crossConnect = null;
}
if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return crossConnectImpl121.getCrossConnect(nodeId,connectionNumber);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- return crossConnectImpl22.getCrossConnect(nodeId,connectionNumber);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ return crossConnectImpl221.getCrossConnect(nodeId,connectionNumber);
}
return null;
}
LOG.info("Device Version is 1.2.1");
return crossConnectImpl121.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
LOG.info("Device Version is 2.2");
- return crossConnectImpl22.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
+ return crossConnectImpl221.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
}
LOG.info("Device Version not found");
return null;
if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return crossConnectImpl121.deleteCrossConnect(nodeId, connectionNumber);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- return crossConnectImpl22.deleteCrossConnect(nodeId, connectionNumber);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ return crossConnectImpl221.deleteCrossConnect(nodeId, connectionNumber);
}
return false;
}
if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return crossConnectImpl121.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- return crossConnectImpl22.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ return crossConnectImpl221.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
}
return null;
}
if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return crossConnectImpl121.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- return crossConnectImpl22.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ return crossConnectImpl221.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
}
return false;
}
import org.opendaylight.transportpce.common.device.DeviceTransaction;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.OpticalControlMode;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.PowerDBm;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.GetConnectionPortTrailInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.GetConnectionPortTrailOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.OrgOpenroadmDeviceService;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.connection.DestinationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.connection.SourceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.get.connection.port.trail.output.Ports;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PowerDBm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.GetConnectionPortTrailInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.GetConnectionPortTrailOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceService;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.connection.DestinationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.connection.SourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.get.connection.port.trail.output.Ports;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class CrossConnectImpl22 {
+public class CrossConnectImpl221 {
- private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl22.class);
+ private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl221.class);
private final DeviceTransactionManager deviceTransactionManager;
- public CrossConnectImpl22(DeviceTransactionManager deviceTransactionManager) {
+ public CrossConnectImpl221(DeviceTransactionManager deviceTransactionManager) {
this.deviceTransactionManager = deviceTransactionManager;
}
if (mapObject.isPresent()) {
Nodes mapping = mapObject.get();
switch (mapping.getOpenroadmVersion()) {
- case _22:
- return StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+ case _221:
+ return StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
case _121:
return StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
default:
package org.opendaylight.transportpce.common.mapping;
import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
private final DataBroker dataBroker;
private final MappingUtils mappingUtils;
- private final PortMappingVersion22 portMappingVersion22;
+ private final PortMappingVersion221 portMappingVersion22;
private final PortMappingVersion121 portMappingVersion121;
- public PortMappingImpl(DataBroker dataBroker,PortMappingVersion22 portMappingVersion22,MappingUtils mappingUtils,
+ public PortMappingImpl(DataBroker dataBroker, PortMappingVersion221 portMappingVersion22, MappingUtils mappingUtils,
PortMappingVersion121 portMappingVersion121) {
this.dataBroker = dataBroker;
if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return portMappingVersion121.createMappingData(nodeId);
}
- else if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+ else if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
return portMappingVersion22.createMappingData(nodeId);
}
else {
if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
return portMappingVersion121.updateMapping(nodeId,oldMapping);
}
- else if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+ else if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
return portMappingVersion22.updateMapping(nodeId,oldMapping);
}
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.MappingKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.CircuitPack;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.pack.Ports;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.pack.PortsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacks;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.degree.ConnectionPorts;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.Interface;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Degree;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.DegreeKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Info;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Protocols;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.port.Interfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CircuitPack;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.Ports;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.PortsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.degree.ConnectionPorts;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Degree;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.DegreeKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Info;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Protocols;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.port.Interfaces;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.InterfaceType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpenROADMOpticalMultiplex;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpticalTransport;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.Protocols1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.lldp.container.Lldp;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.lldp.container.lldp.PortConfig;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.Protocols1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.lldp.container.Lldp;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.lldp.container.lldp.PortConfig;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class PortMappingVersion22 {
+public class PortMappingVersion221 {
private static final Logger LOG = LoggerFactory.getLogger(PortMappingImpl.class);
private final DataBroker dataBroker;
private final DeviceTransactionManager deviceTransactionManager;
private final OpenRoadmInterfaces openRoadmInterfaces;
- public PortMappingVersion22(DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager,
- OpenRoadmInterfaces openRoadmInterfaces) {
+ public PortMappingVersion221(DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager,
+ OpenRoadmInterfaces openRoadmInterfaces) {
this.dataBroker = dataBroker;
this.deviceTransactionManager = deviceTransactionManager;
this.openRoadmInterfaces = openRoadmInterfaces;
public boolean createMappingData(String nodeId) {
- LOG.info("Create Mapping Data for node 2.2 {}", nodeId);
+ LOG.info("Create Mapping Data for node 2.2.1 {}", nodeId);
List<Mapping> portMapList = new ArrayList<>();
InstanceIdentifier<Info> infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class);
Optional<Info> deviceInfoOptional = this.deviceTransactionManager
- private HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+ private HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
.CircuitPacks>> getSrgCps(String deviceId, Info ordmInfo) {
- HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+ HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
.CircuitPacks>> cpPerSrg = new HashMap<>();
Integer maxSrg;
// Get value for max Srg from info subtree, required for iteration
maxSrg = 20;
}
for (int srgCounter = 1; srgCounter <= maxSrg; srgCounter++) {
- List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg.CircuitPacks> srgCps =
+ List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg.CircuitPacks> srgCps =
new ArrayList<>();
LOG.info("Getting Circuitpacks for Srg Number {}", srgCounter);
InstanceIdentifier<SharedRiskGroup> srgIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
private boolean createPpPortMapping(String nodeId, Info deviceInfo, List<Mapping> portMapList) {
// Creating mapping data for SRG's PP
- HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+ HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
.CircuitPacks>> srgCps = getSrgCps(nodeId, deviceInfo);
- Set<Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215
+ Set<Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019
.srg.CircuitPacks>>> circuitPacks = srgCps.entrySet();
- for (Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+ for (Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
.CircuitPacks>> entry : circuitPacks) {
Integer srgIndex = entry.getKey();
- for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg.CircuitPacks cp : entry
+ for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg.CircuitPacks cp : entry
.getValue()) {
String circuitPackName = cp.getCircuitPackName();
InstanceIdentifier<CircuitPacks> cpIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
NodesBuilder nodesBldr = new NodesBuilder();
nodesBldr.withKey(new NodesKey(deviceInfo.getNodeId().getValue())).setNodeId(deviceInfo.getNodeId().getValue());
nodesBldr.setNodeType(NodeTypes.forValue(nodeType));
- nodesBldr.setOpenroadmVersion(Nodes.OpenroadmVersion._22);
+ nodesBldr.setOpenroadmVersion(Nodes.OpenroadmVersion._221);
if (portMapList != null) {
nodesBldr.setMapping(portMapList);
}
package org.opendaylight.transportpce.common.openroadminterfaces;
import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
import java.util.Optional;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
private final DeviceTransactionManager deviceTransactionManager;
OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
+ OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
MappingUtils mappingUtils;
- public OpenRoadmInterfacesImpl(DeviceTransactionManager deviceTransactionManager,MappingUtils mappingUtils,
- OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121,OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22) {
+ public OpenRoadmInterfacesImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
+ OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121, OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221) {
this.deviceTransactionManager = deviceTransactionManager;
this.mappingUtils = mappingUtils;
this.openRoadmInterfacesImpl121 = openRoadmInterfacesImpl121;
- this.openRoadmInterfacesImpl22 = openRoadmInterfacesImpl22;
+ this.openRoadmInterfacesImpl221 = openRoadmInterfacesImpl221;
}
@Override
InterfaceBuilder ifBuilder121 = convertInstanceOfInterface(ifBuilder, InterfaceBuilder.class);
openRoadmInterfacesImpl121.postInterface(nodeId,ifBuilder121);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder
ifBuilder22 = convertInstanceOfInterface(ifBuilder, org.opendaylight.yang.gen.v1.http.org.openroadm
- .device.rev171215.interfaces.grp.InterfaceBuilder.class);
- openRoadmInterfacesImpl22.postInterface(nodeId,ifBuilder22);
+ .device.rev181019.interfaces.grp.InterfaceBuilder.class);
+ openRoadmInterfacesImpl221.postInterface(nodeId,ifBuilder22);
}
}
LOG.info("Device Version is 1.2.1");
return (Optional<T>) openRoadmInterfacesImpl121.getInterface(nodeId,interfaceName);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- return (Optional<T>) openRoadmInterfacesImpl22.getInterface(nodeId,interfaceName);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ return (Optional<T>) openRoadmInterfacesImpl221.getInterface(nodeId,interfaceName);
}
return null;
}
LOG.info("Device Version is 1.2.1");
openRoadmInterfacesImpl121.deleteInterface(nodeId,interfaceName);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- openRoadmInterfacesImpl22.deleteInterface(nodeId,interfaceName);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ openRoadmInterfacesImpl221.deleteInterface(nodeId,interfaceName);
}
}
LOG.info("Device Version is 1.2.1");
openRoadmInterfacesImpl121.postEquipmentState(nodeId, circuitPackName, activate);
}
- else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
- openRoadmInterfacesImpl22.postEquipmentState(nodeId, circuitPackName, activate);
+ else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+ openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
}
}
import org.opendaylight.transportpce.common.Timeouts;
import org.opendaylight.transportpce.common.device.DeviceTransaction;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacks;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.Interface;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.States;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOdu;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOtu;
import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev171215.maint.loopback.MaintLoopbackBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev171215.maint.testsignal.MaintTestsignalBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.odu.container.OduBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.otu.container.OtuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.odu.container.OduBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.otu.container.OtuBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class OpenRoadmInterfacesImpl22 {
+public class OpenRoadmInterfacesImpl221 {
- private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfacesImpl22.class);
+ private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfacesImpl221.class);
private final DeviceTransactionManager deviceTransactionManager;
- public OpenRoadmInterfacesImpl22(DeviceTransactionManager deviceTransactionManager) {
+ public OpenRoadmInterfacesImpl221(DeviceTransactionManager deviceTransactionManager) {
this.deviceTransactionManager = deviceTransactionManager;
}
oduBuilder.setOdu(odu.build());
ifBuilder.addAugmentation(Interface1.class, oduBuilder.build());
} else if (ifBuilder.getType() == OtnOtu.class) {
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder
otuBuilder =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder(
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder(
intf2Delete.augmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1
.class));
OtuBuilder otu = new OtuBuilder(otuBuilder.getOtu());
if (otu.getMaintLoopback() != null) {
}
otuBuilder.setOtu(otu.build());
ifBuilder.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1.class,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
otuBuilder.build());
}
ifBuilder.setAdministrativeState(AdminStates.OutOfService);
<argument ref="deviceTransactionManager" />
</bean>
- <bean id="openRoadmInterfaces22" class="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22" >
+ <bean id="openRoadmInterfaces221" class="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221" >
<argument ref="deviceTransactionManager" />
</bean>
<argument ref="deviceTransactionManager" />
<argument ref="mappingUtils" />
<argument ref="openRoadmInterfaces121" />
- <argument ref="openRoadmInterfaces22" />
+ <argument ref="openRoadmInterfaces221" />
</bean>
- <bean id="portMapping22" class="org.opendaylight.transportpce.common.mapping.PortMappingVersion22" >
+ <bean id="portMapping221" class="org.opendaylight.transportpce.common.mapping.PortMappingVersion221" >
<argument ref="dataBroker" />
<argument ref="deviceTransactionManager" />
<argument ref="openRoadmInterfaces" />
<bean id="portMapping" class="org.opendaylight.transportpce.common.mapping.PortMappingImpl" >
<argument ref="dataBroker" />
<argument ref="mappingUtils" />
- <argument ref="portMapping22" />
+ <argument ref="portMapping221" />
<argument ref="portMapping121" />
</bean>
<argument ref="deviceTransactionManager" />
</bean>
- <bean id="crossConnect22" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22" >
+ <bean id="crossConnect221" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221" >
<argument ref="deviceTransactionManager" />
</bean>
<argument ref="deviceTransactionManager" />
<argument ref="mappingUtils" />
<argument ref="crossConnect121" />
- <argument ref="crossConnect22" />
+ <argument ref="crossConnect221" />
</bean>
<bean id="FixedFlexImpl" class="org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl" >
import org.opendaylight.controller.md.sal.binding.api.MountPoint;
import org.opendaylight.controller.md.sal.binding.api.NotificationService;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
import org.opendaylight.transportpce.common.StringConstants;
import org.opendaylight.transportpce.common.Timeouts;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.networkmodel.dto.NodeRegistration;
+import org.opendaylight.transportpce.networkmodel.dto.NodeRegistration22;
import org.opendaylight.transportpce.networkmodel.listeners.AlarmNotificationListener;
+import org.opendaylight.transportpce.networkmodel.listeners.AlarmNotificationListener221;
import org.opendaylight.transportpce.networkmodel.listeners.DeOperationsListener;
+import org.opendaylight.transportpce.networkmodel.listeners.DeOperationsListener221;
import org.opendaylight.transportpce.networkmodel.listeners.DeviceListener;
+import org.opendaylight.transportpce.networkmodel.listeners.DeviceListener221;
import org.opendaylight.transportpce.networkmodel.listeners.LldpListener;
+import org.opendaylight.transportpce.networkmodel.listeners.LldpListener221;
import org.opendaylight.transportpce.networkmodel.listeners.TcaListener;
+import org.opendaylight.transportpce.networkmodel.listeners.TcaListener221;
import org.opendaylight.transportpce.networkmodel.service.NetworkModelService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev161014.OrgOpenroadmAlarmListener;
import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev161014.OrgOpenroadmDeOperationsListener;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceListener;
import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.OrgOpenroadmLldpListener;
import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev161014.OrgOpenroadmTcaListener;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.CreateSubscriptionInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.NotificationsService;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.StreamNameType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.Netconf;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf.Streams;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
private final DataBroker dataBroker;
private final DeviceTransactionManager deviceTransactionManager;
private final Map<String, NodeRegistration> registrations;
+ private final Map<String, NodeRegistration22> registrations22;
public NetConfTopologyListener(final NetworkModelService networkModelService, final DataBroker dataBroker,
final R2RLinkDiscovery linkDiscovery, DeviceTransactionManager deviceTransactionManager) {
this.dataBroker = dataBroker;
this.deviceTransactionManager = deviceTransactionManager;
this.registrations = new ConcurrentHashMap<>();
+ this.registrations22 = new ConcurrentHashMap<>();
}
- private void onDeviceConnected(final String nodeId) {
+ private void onDeviceConnected(final String nodeId, String openRoadmVersion) {
LOG.info("onDeviceConnected: {}", nodeId);
+ LOG.info(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1);
+ LOG.info(openRoadmVersion);
Optional<MountPoint> mountPointOpt = this.deviceTransactionManager.getDeviceMountPoint(nodeId);
MountPoint mountPoint;
if (mountPointOpt.isPresent()) {
return;
}
- final OrgOpenroadmAlarmListener alarmListener = new AlarmNotificationListener(this.dataBroker);
- LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
- final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
+ if (openRoadmVersion.equals(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1)) {
+
+ final OrgOpenroadmAlarmListener alarmListener = new AlarmNotificationListener(this.dataBroker);
+ LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
+ final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
+ notificationService.get().registerNotificationListener(alarmListener);
+
+ final OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener();
+ LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
+ final ListenerRegistration<OrgOpenroadmDeOperationsListener>
+ accessDeOperationasNotificationListenerRegistration =
+ notificationService.get().registerNotificationListener(deOperationsListener);
+
+ final OrgOpenroadmDeviceListener deviceListener = new DeviceListener();
+ LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
+ final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
+ notificationService.get().registerNotificationListener(deviceListener);
+
+ final OrgOpenroadmLldpListener lldpListener = new LldpListener(this.linkDiscovery, nodeId);
+ LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
+ final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
+ notificationService.get().registerNotificationListener(lldpListener);
+
+ final OrgOpenroadmTcaListener tcaListener = new TcaListener();
+ LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
+ final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
+ notificationService.get().registerNotificationListener(tcaListener);
+
+ String streamName = "NETCONF"; //getSupportedStream(nodeId);
+
+ if (streamName == null) {
+ streamName = "OPENROADM";
+ }
+
+ final Optional<RpcConsumerRegistry> service = mountPoint.getService(RpcConsumerRegistry.class)
+ .toJavaUtil();
+ if (service.isPresent()) {
+ final NotificationsService rpcService = service.get().getRpcService(NotificationsService.class);
+ if (rpcService == null) {
+ LOG.error("Failed to get RpcService for node {}", nodeId);
+ } else {
+ final CreateSubscriptionInputBuilder createSubscriptionInputBuilder =
+ new CreateSubscriptionInputBuilder();
+ createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
+ LOG.info("Triggering notification stream {} for node {}", streamName, nodeId);
+ rpcService.createSubscription(createSubscriptionInputBuilder.build());
+ }
+ } else {
+ LOG.error("Failed to get RpcService for node {}", nodeId);
+ }
+ NodeRegistration nodeRegistration = new NodeRegistration(nodeId,
+ accessAlarmNotificationListenerRegistration,
+ accessDeOperationasNotificationListenerRegistration, accessDeviceNotificationListenerRegistration,
+ null, accessTcaNotificationListenerRegistration);
+ registrations.put(nodeId, nodeRegistration);
+
+ } else if (openRoadmVersion.equals(StringConstants.OPENROADM_DEVICE_VERSION_2_2_1)) {
+ final org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener
+ alarmListener = new AlarmNotificationListener221(dataBroker);
+ LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
+ final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019
+ .OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
notificationService.get().registerNotificationListener(alarmListener);
- final OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener();
- LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
- final ListenerRegistration<OrgOpenroadmDeOperationsListener>
- accessDeOperationasNotificationListenerRegistration =
+ final org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019
+ .OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener221();
+ LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
+ final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019
+ .OrgOpenroadmDeOperationsListener> accessDeOperationasNotificationListenerRegistration =
notificationService.get().registerNotificationListener(deOperationsListener);
- final OrgOpenroadmDeviceListener deviceListener = new DeviceListener();
- LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
- final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
+ final org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener
+ deviceListener = new DeviceListener221();
+ LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
+ final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019
+ .OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
notificationService.get().registerNotificationListener(deviceListener);
- final OrgOpenroadmLldpListener lldpListener = new LldpListener(this.linkDiscovery, nodeId);
- LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
- final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
+ final org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener
+ lldpListener = new LldpListener221(linkDiscovery, nodeId);
+ LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
+ final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm
+ .lldp.rev181019.OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
notificationService.get().registerNotificationListener(lldpListener);
- final OrgOpenroadmTcaListener tcaListener = new TcaListener();
- LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
- final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
+ final org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener
+ tcaListener = new TcaListener221();
+ LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
+ final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019
+ .OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
notificationService.get().registerNotificationListener(tcaListener);
+
+ String streamName = "NETCONF";
+ //getSupportedStream(nodeId);
+ if (streamName == null) {
+ streamName = "OPENROADM";
+ }
+ final Optional<RpcConsumerRegistry> service = mountPoint.getService(RpcConsumerRegistry.class).toJavaUtil();
+ if (service.isPresent()) {
+ final NotificationsService rpcService = service.get().getRpcService(NotificationsService.class);
+ if (rpcService == null) {
+ LOG.error("Failed to get RpcService for node {}", nodeId);
+ } else {
+ final CreateSubscriptionInputBuilder createSubscriptionInputBuilder =
+ new CreateSubscriptionInputBuilder();
+ createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
+ LOG.info("Triggering notification stream {} for node {}", streamName, nodeId);
+ rpcService.createSubscription(createSubscriptionInputBuilder.build());
+ }
+ } else {
+ LOG.error("Failed to get RpcService for node {}", nodeId);
+ }
+ NodeRegistration22 nodeRegistration22 = new NodeRegistration22(nodeId,
+ accessAlarmNotificationListenerRegistration,
+ accessDeOperationasNotificationListenerRegistration, accessDeviceNotificationListenerRegistration,
+ accessLldpNotificationListenerRegistration, accessTcaNotificationListenerRegistration);
+ registrations22.put(nodeId, nodeRegistration22);
+
+ }
+
}
private void onDeviceDisConnected(final String nodeId) {
case Connected:
this.networkModelService.createOpenROADMnode(nodeId, deviceCapabilities.get(0)
.getCapability());
- onDeviceConnected(nodeId);
+ onDeviceConnected(nodeId,deviceCapabilities.get(0).getCapability());
break;
case Connecting:
case UnableToConnect:
break;
}
}
- LOG.error("Not an openROADM node");
+
} catch (NullPointerException e) {
LOG.error("Cannot get available Capabilities");
}
this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL,
streamsIID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (!ordmInfoObject.isPresent()) {
- LOG.error("Info subtree is not present");
- return null;
+ LOG.error("Get Stream RPC is not supported");
+ return "NETCONF";
}
for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf
.streams.Stream strm : ordmInfoObject.get().getStream()) {
return "NETCONF";
} catch (NullPointerException ex) {
LOG.error("NullPointerException thrown while getting Info from a non Open ROADM device {}", nodeId);
- return null;
+ return "NETCONF";
}
}
}
--- /dev/null
+/*
+ * Copyright © 2016 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.transportpce.networkmodel.dto;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.OrgOpenroadmDeOperationsListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
+
+public class NodeRegistration22 {
+
+ private final String nodeId;
+ private final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration;
+ private final ListenerRegistration<OrgOpenroadmDeOperationsListener>
+ accessDeOperationasNotificationListenerRegistration;
+ private final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration;
+ private final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration;
+ private final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration;
+
+ public NodeRegistration22(String nodeId,
+ ListenerRegistration<OrgOpenroadmAlarmListener>
+ accessAlarmNotificationListenerRegistration,
+ ListenerRegistration<OrgOpenroadmDeOperationsListener>
+ accessDeOperationasNotificationListenerRegistration,
+ ListenerRegistration<OrgOpenroadmDeviceListener>
+ accessDeviceNotificationListenerRegistration,
+ ListenerRegistration<OrgOpenroadmLldpListener>
+ accessLldpNotificationListenerRegistration,
+ ListenerRegistration<OrgOpenroadmTcaListener>
+ accessTcaNotificationListenerRegistration) {
+ this.nodeId = nodeId;
+ this.accessAlarmNotificationListenerRegistration = accessAlarmNotificationListenerRegistration;
+ this.accessDeOperationasNotificationListenerRegistration = accessDeOperationasNotificationListenerRegistration;
+ this.accessDeviceNotificationListenerRegistration = accessDeviceNotificationListenerRegistration;
+ this.accessLldpNotificationListenerRegistration = accessLldpNotificationListenerRegistration;
+ this.accessTcaNotificationListenerRegistration = accessTcaNotificationListenerRegistration;
+ }
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public ListenerRegistration<OrgOpenroadmAlarmListener> getAccessAlarmNotificationListenerRegistration() {
+ return accessAlarmNotificationListenerRegistration;
+ }
+
+ public ListenerRegistration<OrgOpenroadmDeOperationsListener>
+ getAccessDeOperationasNotificationListenerRegistration() {
+ return accessDeOperationasNotificationListenerRegistration;
+ }
+
+ public ListenerRegistration<OrgOpenroadmDeviceListener> getAccessDeviceNotificationListenerRegistration() {
+ return accessDeviceNotificationListenerRegistration;
+ }
+
+ public ListenerRegistration<OrgOpenroadmLldpListener> getAccessLldpNotificationListenerRegistration() {
+ return accessLldpNotificationListenerRegistration;
+ }
+
+ public ListenerRegistration<OrgOpenroadmTcaListener> getAccessTcaNotificationListenerRegistration() {
+ return accessTcaNotificationListenerRegistration;
+ }
+
+}
--- /dev/null
+/*
+ * Copyright © 2017 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.ExecutionException;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.ServiceNodelist;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.Nodelist;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.NodesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.AlarmNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.alarm.ProbableCause;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.ResourceType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.Resource;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.CircuitPack;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Connection;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Degree;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.InternalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.PhysicalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Port;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Service;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Shelf;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Srg;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AlarmNotificationListener221.class);
+ private static final String PIPE = "|";
+ private final DataBroker dataBroker;
+
+ public AlarmNotificationListener221(DataBroker dataBroker) {
+ this.dataBroker = dataBroker;
+ }
+
+
+ /**
+ * Callback for alarm-notification.
+ *
+ * @param notification AlarmNotification object
+ */
+ @Override
+ public void onAlarmNotification(AlarmNotification notification) {
+ List<Nodes> allNodeList = new ArrayList<>();
+ InstanceIdentifier<ServiceNodelist> serviceNodeListIID = InstanceIdentifier.create(ServiceNodelist.class);
+ try {
+ ReadOnlyTransaction rtx = dataBroker.newReadOnlyTransaction();
+ com.google.common.base.Optional<ServiceNodelist> serviceListObject =
+ rtx.read(LogicalDatastoreType.OPERATIONAL, serviceNodeListIID).get();
+ if (serviceListObject.isPresent()) {
+ for (Nodelist nodelist : serviceListObject.get().getNodelist()) {
+ allNodeList.addAll(nodelist.getNodes());
+ }
+ }
+ } catch (InterruptedException | ExecutionException ex) {
+ LOG.warn("Exception thrown while reading Logical Connection Point value from {} {}", ex);
+ }
+ StringBuilder sb = new StringBuilder(notification.getResource().getDevice().getNodeId().getValue())
+ .append(PIPE);
+ sb.append(buildCause(notification.getProbableCause()));
+ sb.append(notification.getId() != null ? notification.getId() : "").append(PIPE)
+ .append(notification.getRaiseTime() != null ? notification.getRaiseTime().toString() : "").append(PIPE)
+ .append(notification.getSeverity() != null ? notification.getSeverity().getName() : "").append(PIPE)
+ .append(notification.getCircuitId() != null ? notification.getCircuitId() : "").append(PIPE);
+
+ sb.append(buildType(notification));
+
+ String message = sb.toString();
+ Nodes build = new NodesBuilder().setNodeId(notification.getResource().getDevice().getNodeId().getValue())
+ .build();
+ if (allNodeList.contains(build)) {
+ LOG.info(message);
+ } else {
+ LOG.warn(message);
+ }
+ }
+
+ private String buildCause(ProbableCause probableCause) {
+ StringBuilder sb = new StringBuilder();
+ if (probableCause == null) {
+ return "||||";
+ }
+ sb.append((probableCause.getCause() != null) ? probableCause.getCause().getName() : "").append(PIPE)
+ .append((probableCause.getDirection() != null) ? probableCause.getDirection().getName() : "")
+ .append(PIPE).append((probableCause.getExtension() != null) ? probableCause.getExtension() : "")
+ .append(PIPE).append((probableCause.getLocation() != null) ? probableCause.getLocation().getName() : "")
+ .append(PIPE);
+ return sb.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static <T extends Resource> Optional<T> tryCastToParticularResource(Class<T> resourceClass,
+ Resource resource) {
+ if (resource == null) {
+ LOG.error("Resource is null.");
+ } else if (!resourceClass.isInstance(resource)) {
+ LOG.error("Resource implement different type than expected. Expected {}, actual {}.",
+ resourceClass.getSimpleName(), resource.getClass().getSimpleName());
+ } else {
+ return Optional.of((T) resource);
+ }
+ return Optional.empty();
+ }
+
+ private static String buildType(AlarmNotification notification) {
+ String circuitPack = "";
+ String connection = "";
+ String degree = "";
+ String iface = "";
+ String internalLink = "";
+ String physicalLink = "";
+ String service = "";
+ String shelf = "";
+ String sharedRiskGroup = "";
+ String port = "";
+ String portCircuitPack = "";
+
+ Resource resource = notification.getResource().getResource().getResource();
+ ResourceType wantedResourceType = notification.getResource().getResourceType();
+
+ switch (wantedResourceType.getType()) {
+ case CircuitPack:
+ Optional<CircuitPack> circuitPackOptional = tryCastToParticularResource(CircuitPack.class, resource);
+ if (circuitPackOptional.isPresent()) {
+ circuitPack = circuitPackOptional.get().getCircuitPackName();
+ }
+ break;
+
+ case Connection:
+ Optional<Connection> connectionOptional = tryCastToParticularResource(Connection.class, resource);
+ if (connectionOptional.isPresent()) {
+ connection = connectionOptional.get().getConnectionName();
+ }
+ break;
+
+ case Degree:
+ Optional<Degree> degreeOptional = tryCastToParticularResource(Degree.class, resource);
+ if (degreeOptional.isPresent()) {
+ degree = degreeOptional.get().getDegreeNumber().toString();
+ }
+ break;
+
+ case Interface:
+ Optional<Interface> interfaceOptional = tryCastToParticularResource(Interface.class, resource);
+ if (interfaceOptional.isPresent()) {
+ iface = interfaceOptional.get().getInterfaceName();
+ }
+ break;
+
+ case InternalLink:
+ Optional<InternalLink> internalLinkOptional = tryCastToParticularResource(InternalLink.class, resource);
+ if (internalLinkOptional.isPresent()) {
+ internalLink = internalLinkOptional.get().getInternalLinkName();
+ }
+ break;
+
+ case PhysicalLink:
+ Optional<PhysicalLink> physicalLinkOptional = tryCastToParticularResource(PhysicalLink.class, resource);
+ if (physicalLinkOptional.isPresent()) {
+ physicalLink = physicalLinkOptional.get().getPhysicalLinkName();
+ }
+ break;
+
+ case Service:
+ Optional<Service> serviceOptional = tryCastToParticularResource(Service.class, resource);
+ if (serviceOptional.isPresent()) {
+ service = serviceOptional.get().getServiceName();
+ }
+ break;
+
+ case Shelf:
+ Optional<Shelf> shelfOptional = tryCastToParticularResource(Shelf.class, resource);
+ if (shelfOptional.isPresent()) {
+ shelf = shelfOptional.get().getShelfName();
+ }
+ break;
+
+ case SharedRiskGroup:
+ Optional<Srg> sharedRiskGroupOptional = tryCastToParticularResource(Srg.class, resource);
+ if (sharedRiskGroupOptional.isPresent()) {
+ sharedRiskGroup = sharedRiskGroupOptional.get().getSrgNumber().toString();
+ }
+ break;
+
+ case Port:
+ Optional<Port> portContainerOptional = tryCastToParticularResource(Port.class, resource);
+ if (portContainerOptional.isPresent()) {
+ port = portContainerOptional.get().getPort().getPortName();
+ portCircuitPack = portContainerOptional.get().getPort().getCircuitPackName();
+ }
+ break;
+
+ default:
+ LOG.warn("Unknown resource type {}", wantedResourceType);
+ }
+ StringBuilder sb = new StringBuilder(circuitPack);
+ sb.append(PIPE).append(connection).append(PIPE).append(degree).append(PIPE).append(iface);
+ sb.append(PIPE).append(internalLink).append(PIPE).append(physicalLink).append(PIPE).append(service);
+ sb.append(PIPE).append(shelf).append(PIPE).append(sharedRiskGroup).append(PIPE).append(port);
+ sb.append(PIPE).append(portCircuitPack);
+ return sb.toString();
+ }
+}
--- /dev/null
+/*
+ * Copyright © 2017 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.OrgOpenroadmDeOperationsListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.RestartNotification;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DeOperationsListener221 implements OrgOpenroadmDeOperationsListener {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DeOperationsListener221.class);
+
+ /**
+ * Callback for restart-notification.
+ *
+ * @param notification RestartNotification object
+ */
+ @Override
+ public void onRestartNotification(RestartNotification notification) {
+ LOG.info("Notification {} received {}", RestartNotification.QNAME, notification);
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright © 2017 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.ChangeNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CreateTechInfoNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OtdrScanResult;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DeviceListener221 implements OrgOpenroadmDeviceListener {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DeviceListener221.class);
+
+ /**
+ * Callback for change-notification.
+ *
+ * @param notification ChangeNotification object
+ */
+ @Override
+ public void onChangeNotification(ChangeNotification notification) {
+
+ LOG.info("Notification {} received {}", ChangeNotification.QNAME, notification);
+ }
+
+ @Override
+ public void onCreateTechInfoNotification(CreateTechInfoNotification notification) {
+
+ }
+
+ /**
+ * Callback for otdr-scan-result.
+ *
+ * @param notification OtdrScanResult object
+ */
+ @Override
+ public void onOtdrScanResult(OtdrScanResult notification) {
+
+ LOG.info("Notification {} received {}", OtdrScanResult.QNAME, notification);
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright © 2017 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.LldpNbrInfoChange;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceNotificationType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NodeId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class LldpListener221 implements OrgOpenroadmLldpListener {
+
+ private static final Logger LOG = LoggerFactory.getLogger(LldpListener221.class);
+ private final R2RLinkDiscovery linkDiscovery;
+ private final NodeId nodeId;
+
+ public LldpListener221(final R2RLinkDiscovery linkDiscovery, final String nodeId) {
+ this.linkDiscovery = linkDiscovery;
+ this.nodeId = new NodeId(nodeId);
+ }
+
+ /**
+ * Callback for lldp-nbr-info-change.
+ * @param notification LldpNbrInfoChange object
+ */
+ @Override
+ public void onLldpNbrInfoChange(LldpNbrInfoChange notification) {
+ LOG.info("Notification {} received {}", LldpNbrInfoChange.QNAME, notification);
+ if (notification.getNotificationType().equals(ResourceNotificationType.ResourceCreation)) {
+ linkDiscovery.createR2RLink(nodeId,notification.getResource(),
+ notification.getNbrInfo().getRemoteSysName(),
+ notification.getNbrInfo().getRemotePortId());
+ } else if (notification.getNotificationType().equals(ResourceNotificationType.ResourceDeletion)) {
+ linkDiscovery.deleteR2RLink(nodeId,notification.getResource(),
+ notification.getNbrInfo().getRemoteSysName(),
+ notification.getNbrInfo().getRemotePortId());
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright © 2017 AT&T and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.TcaNotification;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TcaListener221 implements OrgOpenroadmTcaListener {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TcaListener221.class);
+
+ /**
+ * Callback for tca-notification.
+ * @param notification TcaNotification object
+ */
+ @Override
+ public void onTcaNotification(TcaNotification notification) {
+ LOG.info("Notification {} received {}", TcaNotification.QNAME, notification);
+ }
+
+}
\ No newline at end of file
writeTransaction.submit().get();
LOG.info("all nodes and links created");
} else {
- LOG.warn("openroadm-topology is not managed yet with openROADM device 2.2");
+ LOG.warn("openroadm-topology is not managed yet with openROADM device 2.2.1");
}
} catch (InterruptedException | ExecutionException e) {
LOG.error("ERROR: ", e);
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.mapping.MappingUtils;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.olm.power.PowerMgmt;
import org.opendaylight.transportpce.olm.service.OlmPowerService;
import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl;
private OlmPowerServiceRpcImpl olmPowerServiceRpc;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
@Before
this.mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.mapping.MappingUtils;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.olm.power.PowerMgmt;
import org.opendaylight.transportpce.olm.service.OlmPowerService;
import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl;
private OlmProvider olmProvider;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
@Before
public void setUp() {
this.mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
- this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
+ this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.mapping.MappingUtils;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.olm.stub.MountPointServiceStub;
import org.opendaylight.transportpce.olm.stub.MountPointStub;
import org.opendaylight.transportpce.olm.util.OlmPowerServiceRpcImplUtil;
private PowerMgmt powerMgmt;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
@Before
public void setUp() {
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.mappingUtils = Mockito.spy(this.mappingUtils);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.mapping.MappingUtils;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.olm.power.PowerMgmt;
import org.opendaylight.transportpce.olm.stub.MountPointServiceStub;
import org.opendaylight.transportpce.olm.stub.MountPointStub;
private OlmPowerService olmPowerServiceMock;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
this.mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-resource {
prefix org-openroadm-resource;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-probable-cause {
prefix org-openroadm-probable-cause;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of an alarm.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
"OpenROADM.org";
description
"YANG definitions of common types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
}
}
description
- "Operational mode for the amplifier:
+ "Operational mode for the amplifier:
this parameter allows modeling different operational modes (gain ranges) ,notably for switched-gain amplifiers.
- It indicates which performance model shall be used by the path feasibility engine.
+ It indicates which performance model shall be used by the path feasibility engine.
For standard amplifier, or when performance evaluation is based on incremental noise, use gain-range-1.
When performance evaluation is based on advanced parameters, specify used gain-range (1 to 4).
Up to release 2.1, only gain-range-1 is to be used (default value) ";
enum "commit" {
value 2;
description
- "commit the software or database.
+ "commit the software or database.
For software activate, this event can happen in the following scenarios:
1) immediately when user issue db-activate command without rollBackTimer
or if the rollBackTimer is specified as 00-00-00;
"cancel the database or software activation operation.
For software activate, this event can happen in the following cases:
1) when the rollBackTimer expires;
- 2) when the user issues cancel-rollback-timer with accept=false.
+ 2) when the user issues cancel-rollback-timer with accept=false.
For database activate, this event can happen in the following cases:
1) when the rollBackTimer expires;
2) when the user issues cancel-rollback-timer with accept=false.";
"status of RPC ";
}
+ typedef openroadm-version-type {
+ type enumeration {
+ enum "1.0" {
+ value 1;
+ description
+ "value for 1.0";
+ }
+ enum "2.0" {
+ value 2;
+ description
+ "value for 2.0";
+ }
+ enum "2.1" {
+ value 3;
+ description
+ "value for 2.1";
+ }
+ enum "2.2" {
+ value 4;
+ description
+ "value for 2.2";
+ }
+ enum "2.2.1" {
+ value 8;
+ description
+ "value for 2.2";
+ }
+ }
+ description
+ "OpenROADM version enum type";
+ }
+
typedef lifecycle-state {
type enumeration {
enum "deployed" {
"OpenROADM.org";
description
"YANG definitions for types of states of equipment (slot/subslot).
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
revision 2017-12-15 {
+++ /dev/null
-module org-openroadm-layerRate {
- namespace "http://org/openroadm/layerRate";
- prefix org-openroadm-layerRate;
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions of layer rates.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE";
-
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- typedef layer-rate-enum {
- type enumeration {
- enum "vendorExtension" {
- value 1;
- description
- "vendor extension";
- }
- enum "layer2" {
- value 2;
- description
- "2";
- }
- enum "layer3" {
- value 3;
- description
- "3";
- }
- enum "layer4" {
- value 4;
- description
- "4";
- }
- enum "layer5" {
- value 5;
- description
- "5";
- }
- enum "layer6" {
- value 6;
- description
- "6";
- }
- }
- }
-
- grouping layer-rate {
- description
- "Set list of layer rates, plus the ability to report layer rates not yet in set list.";
- leaf type {
- type layer-rate-enum;
- mandatory true;
- }
- leaf extension {
- type string;
- mandatory false;
- }
- }
-}
import org-openroadm-resource {
prefix org-openroadm-resource;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of maintenace operations.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
+++ /dev/null
-module org-openroadm-manifest-file {
- namespace "http://org/openroadm/manifest-file";
- prefix org-openroadm-manifest-file;
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions of sw-manifest-file
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- Also contains code components extracted from IETF netconf. These code components
- are copyrighted and licensed as follows:
-
- Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
- All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents carefully, as they
- describe your rights and restrictions with respect to this document. Code Components
- extracted from this document must include Simplified BSD License text as described in
- Section 4.e of the Trust Legal Provisions and are provided without warranty as
- described in the Simplified BSD License.";
-
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- reference "This module serves as the manifest file reference.";
- }
-
- identity manifest-commands {
- description
- "base identity for defining manifest-commands.";
- }
-
- identity download-file {
- base manifest-commands;
- description
- "download-file (transfer from OWB-C to Device)";
- }
-
- identity upload-file {
- base manifest-commands;
- description
- "upload-file (transfer from Device to OWB-C)";
- }
-
- identity delete-file {
- base manifest-commands;
- description
- "delete-file from device";
- }
-
- identity sw-manifest-commands {
- base manifest-commands;
- description
- "base identity for defining manifest-commands specific to sw-manifest.";
- }
-
- identity sw-stage {
- base sw-manifest-commands;
- description
- "sw-stage sw-manifest-command";
- }
-
- identity sw-activate {
- base sw-manifest-commands;
- description
- "sw-activate sw-manifest-command";
- }
-
- identity db-backup-manifest-commands {
- base manifest-commands;
- description
- "base identity for defining manifest-commands specific to db-backup-manifest.";
- }
-
- identity db-backup {
- base db-backup-manifest-commands;
- description
- "db-backup db-backup-manifest-command";
- }
-
- identity db-restore-manifest-commands {
- base manifest-commands;
- description
- "base identity for defining manifest-commands specific to db-restore-manifest.";
- }
-
- identity db-restore {
- base db-restore-manifest-commands;
- description
- "db-restore db-restore-manifest-command";
- }
-
- identity db-activate {
- base db-restore-manifest-commands;
- description
- "db-activate db-restore-manifest-command";
- }
-
- grouping base-manifest {
- description
- "base set of variables in all manifest files";
- leaf vendor {
- type string;
- mandatory true;
- description
- "This field should match the /org-openroadm-device/info/vendor.
- It is assumed that the vendor value does not change during the
- processing of the manifest file.
-
- The controller agent would use the vendor and model to find the
- manifest for an Open ROADM NE. The controller agent would also
- use the vendor and model to validate that this is a valid manifest
- for the Open ROADM NE.
- ";
- }
- leaf model {
- type string;
- mandatory true;
- description
- "This field should match the /org-openroadm-device/info/model.
- It is assumed that the model value does not change during the
- processing of the manifest file.
-
- The controller agent would use the vendor and model to find the
- manifest for an Open ROADM NE. The controller agent would also
- use the vendor and model to validate that this is a valid manifest
- for the Open ROADM NE.
- ";
- }
- leaf sw-version {
- type string;
- description
- "This field should match the
- /org-openroadm-device/info/softwareVersion.
- This is the value in the info tree AFTER an upgrade.
- ";
- }
- leaf global-async-timeout {
- type uint16;
- default "900";
- description
- "global-async-timeout - time in seconds to wait for command processing to
- complete.
-
- Upon timeout, the controller may either:
- - assume success;
- - assume failure;
- - poll the device to determine success/failure of the operation
-
- This global-async-timeout applies to any asynchronous command.
- ";
- }
- leaf global-sync-timeout {
- type uint16;
- description
- "global-sync-timeout - time in seconds to wait for the rpc response for
- synchronous commands.
-
- This global-sync-timeout applies to any synchronous command.
-
- Upon timeout, the controller may either:
- - assume success;
- - assume failure;
- - poll the device to determine success/failure of the operation
-
- No default is modeled; if not provided, defaults to the global
- timeout supported by the controller for rpc responses.
- ";
- }
- }
-
- grouping timeout-command {
- description
- "timeout-command is to be used by any manifest command supporting a timeout";
- leaf timeout {
- type uint16;
- description
- "See command for additional details.
- if command is async,
- - overrides the global-async-timeout;
- - defaults to the global-async-timeout if not provided.
- if command is sync,
- - overrides the global-sync-timeout;
- - defaults to the global-sync-timeout if not provided.
- ";
- }
- }
-
- grouping is-async-command {
- description
- "is-async-command is to be supported by all manifest commands even if only
- supported as sync or async. In such cases, a must statement should be
- included to limit support to either sync or async.";
- leaf is-async {
- type boolean;
- default "true";
- description
- "command can be supported as either an async or sync command by a vendor.
- When supported as a sync command, the OWB-C will determine the success/failure
- of the command based on the RPC response instead of waiting for transient
- notifications from the device.";
- }
- }
-
- grouping transfer-command {
- description
- "transfer-command defines the common set of variables used by download-file
- and upload-file";
- leaf remote-filename {
- type string;
- mandatory true;
- description
- "See command for detailed description.";
- }
- leaf local-file-path {
- type string;
- mandatory true;
- description
- "See command for detailed description.";
- }
- uses timeout-command;
- uses is-async-command;
- }
-
- grouping file-command {
- description
- "file-command is used by all manifest files needing a filename";
- leaf filename {
- type string;
- description
- "filename is mandatory for delete-file; optional otherwise.
- See command for detailed description.";
- }
- }
-
- grouping command-reboot {
- description
- "command-reboot is used by manifest commands which result in a
- device restart.";
- leaf auto-reboot {
- type uint16;
- mandatory true;
- description
- "See command for detailed description.";
- }
- }
-
- grouping download-file-command {
- description
- "down-file-command";
- container download-file {
- when "../command = 'download-file'";
- description
- "Transfer a file from the SFTP server to the device.
- format: download-file remote-filename local-file-path [timeout]
- where
- remote-filename is the filename of the file to transfer on the SFTP
- server. The filename can include a relative path that represents the
- subdirectory structure of the vendor's software directory. This file
- (and optional path) must exist in the software release directory on
- the SFTP server.
-
- local-file-path is the local path and filename to transfer the file on
- the device.
-
- timeout - see timeout-command grouping for basic details;
- if command is async,
- - Receipt of an in-progress (version 2)
- transfer-notification resets the timeout.
-
- Maps to the transfer rpc with
- action = download
- local-file-path = local-file-path
- remote-file-path =
- sftp://user:password@host[:port]/path/remote-filename
-
- The remote-file-path attribute on the transfer command would be
- constructed by the software download agent by appending the sftp URL
- (which includes username, password, host, port, and path to the
- software release directory) with the remote_filename.
-
- In the context of the transfer, remote is the SFTP server (e.g., located
- on the software download agent) and local is on the Open ROADM device.
-
- Expected notifications: transfer-notification
- ";
- uses transfer-command;
- }
- }
-
- grouping upload-file-command {
- description
- "upload-file-command";
- container upload-file {
- when "../command = 'upload-file'";
- description
- "Transfer a file from the device to the SFTP server.
- format: upload-file remote-filename local-file-path [timeout]
- where
- remote-filename is the filename of the file to receive the upload
- on the SFTP server. The filename can include a relative path that
- represents the subdirectory structure of the vendor's software
- directory.
-
- local-file-path is the local path and filename of the file on
- the device to be uploaded to the SFTP server. This file must exist on
- the device.
-
- timeout - see timeout-command grouping for basic details;
- if command is async,
- - Receipt of an in-progress (version 2)
- transfer-notification resets the timeout.
-
- Maps to the transfer rpc with
- action = upload
- local-file-path = local-file-path
- remote-file-path =
- sftp://user:password@host[:port]/path/remote-filename
-
- The remote-file-path attribute on the transfer command would be
- constructed by the software download agent by appending the sftp URL
- (which includes username, password, host, port, and path to the
- software release directory) with the remote_filename.
-
- In the context of the transfer, remote is the SFTP server (e.g., located
- on the software download agent) and local is on the Open ROADM device.
-
- Expected notifications: transfer-notification
- ";
- uses transfer-command;
- }
- }
-
- grouping delete-file-command {
- description
- "delete-file-command";
- container delete-file {
- when "../command = 'delete-file'";
- must "is-async != 'false'" {
- error-message "delete-file is only supported as sync command";
- }
- description
- "Delete a file from the device's file system.
- format: delete-file filename [timeout]
- where
- filename is the filename to be deleted from the device. The filename
- may include path information.
-
- timeout - overrides the global-sync-timeout; defaults to the
- global-sync-timeout if not provided.
-
- Maps to the delete-file rpc:
- delete-file filename
- ";
- uses file-command {
- refine "filename" {
- mandatory true;
- }
- }
- uses timeout-command;
- uses is-async-command;
- }
- }
-
- grouping sw-stage-command {
- description
- "sw-stage-command";
- container sw-stage {
- when "../command = 'sw-stage'";
- description
- "Stage a file in the device. The details of what a device does during
- the staging operation is vendor specific. However, the vendor may
- initiate additional file transfers from the SFTP server during the
- staging operation. It is expected that the files will only be
- transferred from the software release directory.
-
- format: sw-stage [filename] [timeout]
- where
- filename is the filename of the file to stage. If filename is not
- provided, the software download application will send the sw-stage
- command without a filename.
-
- timeout - overrides the global-async-timeout; defaults to the
- global-async-timeout if not provided.
-
-
- Maps to the sw-stage rpc:
- sw-stage [filename]
-
- Expected notifications: sw-stage-notification
- ";
- uses file-command;
- uses timeout-command;
- uses is-async-command;
- }
- }
-
- grouping sw-activate-command {
- description
- "sw-activate-command";
- container sw-activate {
- when "../command = 'sw-activate'";
- must "is-async != 'true'" {
- error-message "sw-activate is only supported as async command";
- }
- description
- "Activate a software load in a device. The details of what a device does
- during the activation phase is vendor specific. The device initiates
- an automatic reboot as part of the activation.
-
- format: sw-activate version [validation-timer] [timeout] auto-reboot
- where:
- version: The version of software that is being activated. (The current
- YANG model indicates that version is optional; however, version should
- be a mandatory attribute of the sw-activate command in the manifest
- file).
-
- validation-timer: Validation timer setting for the software activation.
- Format is expected to be in the form HH-MM-SS per the YANG model. The
- software download application expects this format in order to treat
- 00-00-00 and no validation timer as the same use case.
-
- timeout - overrides the global-async-timeout; defaults to the
- global-async-timeout if not provided. This timer begins as soon as the
- sw-activate processing begins. timeout must be greater than the
- auto-reboot time.
-
- auto-reboot: time (in seconds) to wait to for the device to reboot.
- This is the device restart time (e.g. the length of time from device
- comm loss until the device is ready for login). This timer begins when
- the controller detects the comm-loss from the device. If login is not
- successful when this timer expires, the sw-activate is failed.
-
- NOTE: if controller swdl application is not doing the login directly,
- the controller may need to augment the auto-reboot timer to account for
- the login time.
-
- Maps to the sw-activate rpc:
- sw-activate version [validationTimer]
-
- Expected notifications: sw-activate-notification
- When no validation timer (or validation-timer = 00-00-00), two
- notifications will be expected: one for activate, the other for
- commit. Otherwise, only the activate notification is expected.
-
- NOTE: the sw-activate-notifications (for activate) may be received
- before or after the reboot; it is assumed the sw-activate-notification
- (for commit) always occurs after the reboot. Any polling due to missed
- sw-activate-notifications (activate and/or commit) should not be done
- until after the reboot login; processing of sw-activate does not
- complete until after receipt of the notifications and the reboot login.
- ";
- leaf version {
- type string;
- mandatory true;
- description
- "Although version is optional in the sw-activate rpc, it is
- mandatory in the manifest file command.";
- }
- leaf validation-timer {
- type string;
- description
- "hh-mm-ss";
- }
- uses timeout-command;
- uses command-reboot;
- uses is-async-command;
- }
- }
-
- grouping db-backup-command {
- description
- "db-backup-command";
- container db-backup {
- when "../command = 'db-backup'";
- description
- "Perform a database backup on the device.
-
- format: db-backup [filename] [timeout]
- where
- filename is the filename of the backup file to be generated on the
- device. If filename is not provided, the database backup application
- will send the db-backup command without a filename. It's possible the
- filename will not be statically provided in the manifest file, but
- provided by the database backup application.
-
- timeout - see timeout-command grouping for basic details;
-
- Maps to the db-backup rpc:
- db-backup [filename]
-
- Expected notifications: db-backup-notification
- ";
- uses file-command;
- uses timeout-command;
- uses is-async-command;
- }
- }
-
- grouping db-restore-command {
- description
- "db-restore-command";
- container db-restore {
- when "../command = 'db-restore'";
- description
- "Perform a database restore on the device.
-
- format: db-restore [filename] [node-id-check] [timeout]
- where
- filename is the filename of the file to be restored on the
- device. If filename is not provided, the database restore application
- will send the db-restore command without a filename. It's possible the
- filename will not be statically provided in the manifest file, but
- provided by the database restore application.
-
- node-id-check is a boolean indicating whether sysNameCheck is required.
-
- timeout - see timeout-command grouping for basic details;
-
- Maps to the db-restore rpc:
- db-restore [filename] [nodeIDCheck]
-
- Expected notifications: db-restore-notification
- ";
- uses file-command;
- leaf node-id-check {
- type string;
- default "true";
- description
- "Defined as an string here so that manifest file can parameterize
- the value for user input. __NODE-ID-CHECK is used for that purpose. Other valid
- values are true or false. Maps to a boolean value in the rpc invocation.";
- }
- uses timeout-command;
- uses is-async-command;
- }
- }
-
- grouping db-activate-command {
- description
- "db-activate-command";
- container db-activate {
- when "../command = 'db-activate'";
- must "is-async != 'true'" {
- error-message "db-activate is only supported as async command";
- }
- description
- "Activate a database on a device. The details of what a device does
- during the activation phase is vendor specific. The device initiates
- an automatic reboot as part of the activation.
-
- format: db-activate [rollback-timer] [timeout] auto-reboot
- where:
- rollback-timer: Rollback timer setting for the database activation.
- Format is expected to be in the form HH-MM-SS per the YANG model. The
- database activation application expects this format in order to treat
- 00-00-00 and no validation timer as the same use case.
-
- timeout - overrides the global-async-timeout; defaults to the
- global-async-timeout if not provided. This timer begins as soon as the
- db-activate processing begins. timeout must be greater than the
- auto-reboot time.
-
- auto-reboot: time (in seconds) to wait to for the device to reboot.
- This is the device restart time (e.g. the length of time from device
- comm loss until the device is ready for login). This timer begins when
- the controller detects the comm-loss from the device. If login is not
- successful when this timer expires, the db-activate is failed.
-
- NOTE: if controller database application is not doing the login
- directly, the controller may need to augment the auto-reboot timer to
- account for the login time.
-
- Maps to the db-activate rpc:
- db-activate [rollBackTimer]
-
- Expected notifications: db-activate-notification
- When no rollback timer (or rollback-timer = 00-00-00), two
- notifications will be expected: one for activate, the other for
- commit. Otherwise, only the activate notification is expected.
-
- NOTE: the db-activate-notifications (for activate) may be received
- before or after the reboot; it is assumed the db-activate-notification
- (for commit) always occurs after the reboot. Any polling due to missed
- db-activate-notifications (activate and/or commit) should not be done
- until after the reboot login; processing of db-activate does not
- complete until after receipt of the notifications and the reboot login.
- ";
- leaf rollback-timer {
- type string;
- description
- "hh-mm-ss";
- }
- uses timeout-command;
- uses command-reboot;
- uses is-async-command;
- }
- }
-
- container sw-manifest {
- presence "The sw-manifest instructions for swdl operations have been defined.";
- description
- "The manifest file provides instructions to a software download
- application to download and install a new software load into a vendor’s
- equipment.
-
- Software download files
- All vendor files for a software release should be stored in a
- separate directory. A unique directory would be used for each vendor,
- model and software release combination. This directory and all files in
- that directory will be accessible by the SFTP server.
- The software directory can be flat or hierarchical with
- subdirectories. The manifest file should be in the root directory of the
- software directory.
- A software directory must contain files for one and only one
- software release.
-
- Manifest file name
- Each software release directory shall contain a manifest file for
- that release. The filename for the manifest file shall be sw-manifest.json.
- ";
- uses base-manifest {
- refine "sw-version" {
- mandatory true;
- }
- }
- list instruction-set {
- key "index";
- description
- "The instruction set for a list of sw-versions that can be upgraded to
- the sw-version specified at the top of the manifest file.";
- leaf index {
- type uint8;
- description
- "The index for this instruction set.";
- }
- leaf-list from-sw-version {
- type string;
- description
- "The optional list of sw-versions that can be upgraded to the
- sw-version specified at the top of the sw-manifest file.
-
- If not specified, this instruction set is used to upgrade from
- any sw-version to the sw-version specified at the top of the
- sw-manifest file.
-
- If multiple instruction sets are provided, from-sw-version
- should always be defined.";
- }
- leaf is-commit-sw-activate-async {
- type boolean;
- default "true";
- description
- "Is cancel-validation-timer (accept = true) supported as an
- async or sync command on the device? If supported as sync, the rpc response
- is used to determine success/failure instead of waiting for transient notifications
- of the result.
- NOTE: cancel-validation-timer (accept = false) requires a reboot so is
- always considered async";
- }
- leaf cancel-validation-timer-async-timeout {
- type uint16;
- description
- "timeout value to use for cancel-validation-timer when supported as
- an async command. If not specified, the global-async-timeout is used.";
- }
- leaf cancel-validation-timer-sync-timeout {
- type uint16;
- description
- "timeout value to use for cancel-validation-timer (accept = true) when
- supported as a sync command. If not specified, the global-sync-timeout
- is used.";
- }
- container sw-manifest-commands {
- description
- "The ordered list of commands to be processed. Since some yang
- implementations do not support ordered-by user, the list is also
- indexed by command-order. The commands should be processed
- in the order of command-order.
-
- Processing moves to the next command when:
- 1. command is synchronous and rpc returns a successful result.
- 2. command is asynchronous, the rpc returns a successful result,
- and
- 2.1 expected successful notification(s) have been received; or
- 2.2 timeout occurs.
- \t\t
- Processing of the manifest file is aborted when:
- 1. command is synchronous and rpc returns a failed result.
- 2. command is asynchronous, and:
- 2.1 the rpc returns a failed result; or
- 2.2 a failed notification is received; or
- 2.3 timeout occurs.
- \t\t
- NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
- controller implementation per command. It may be considered either:
- - as a successful result
- - as a failed result
- - as a success or failure based on polling the device
- ";
- list sw-manifest-command {
- key "command-order";
- ordered-by user;
- description
- "The list of commands to be processed.";
- leaf command-order {
- type uint8;
- description
- "The order in which commands should be processed.";
- }
- leaf command {
- type identityref {
- base sw-manifest-commands;
- }
- mandatory true;
- description
- "The command to be processed.";
- }
- uses download-file-command;
- uses delete-file-command;
- uses sw-stage-command;
- uses sw-activate-command;
- }
- }
- }
- }
- container db-backup-manifest {
- presence "The db-backup-manifest template for db-backup operations has been defined.";
- description
- "The manifest file provides instructions to a database operations
- application to backup the database on a device.
-
- Since the files used for these operations are likely user selected,
- these manifest files are more likely used by the controller as a
- template to control the overall flow of a backup operation and provide
- a means of providing customized timeout values.
-
- The following strings will be recognized as parameters to be replaced
- by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME.
-
- Manifest file name
- Each vendor/model combination can have a separate manifest file
- defined for backup. These shall be named db-backup-manifest.json.
- ";
- uses base-manifest;
- container db-backup-manifest-commands {
- description
- "The ordered list of commands to be processed. Since some yang
- implementations do not support ordered-by user, the list is also
- indexed by command-order. The commands should be processed
- in the order of command-order.
-
- Processing moves to the next command when:
- 1. command is synchronous and rpc returns a successful result.
- 2. command is asynchronous, the rpc returns a successful result,
- and
- 2.1 expected successful notification(s) have been received; or
- 2.2 timeout occurs.
-
- Processing of the manifest file is aborted when:
- 1. command is synchronous and rpc returns a failed result.
- 2. command is asynchronous, and:
- 2.1 the rpc returns a failed result; or
- 2.2 a failed notification is received; or
- 2.3 timeout occurs.
-
- NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
- controller implementation per command. It may be considered either:
- - as a successful result
- - as a failed result
- - as a success or failure based on polling the device
- ";
- list db-backup-manifest-command {
- key "command-order";
- ordered-by user;
- description
- "The list of commands to be processed.";
- leaf command-order {
- type uint8;
- description
- "The order in which commands should be processed.";
- }
- leaf command {
- type identityref {
- base db-backup-manifest-commands;
- }
- mandatory true;
- description
- "The command to be processed.";
- }
- uses upload-file-command;
- uses delete-file-command;
- uses db-backup-command;
- }
- }
- }
- container db-restore-manifest {
- presence "The db-restore-manifest template for db-restore operations has been defined.";
- description
- "The manifest file provides instructions to a database operations
- application to restore the database on a device.
-
- Since the files used for these operations are likely user selected,
- these manifest files are more likely used by the controller as a
- template to control the overall flow of a restore operation and provide
- a means of providing customized timeout and auto-reboot values.
-
- The following strings will be recognized as parameters to be replaced
- by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME,
- __NODE-ID-CHECK.
-
- Manifest file name
- Each vendor/model combination can have a separate manifest file
- defined for restore. These shall be named db-restore-manifest.json.
- ";
- uses base-manifest;
- leaf is-commit-db-activate-async {
- type boolean;
- default "true";
- description
- "Is cancel-rollback-timer (accept = true) supported as an
- async or sync command on the device? If supported as sync, the rpc response
- is used to determine success/failure instead of waiting for transient notifications
- of the result.
- NOTE: cancel-rollback-timer (accept = false) requires a reboot so is
- always considered async";
- }
- leaf cancel-rollback-timer-async-timeout {
- type uint16;
- description
- "timeout value to use for cancel-rollback-timer when supported as
- an async command. If not specified, the global-async-timeout is used.";
- }
- leaf cancel-rollback-timer-sync-timeout {
- type uint16;
- description
- "timeout value to use for cancel-rollback-timer (accept = true) when
- supported as a sync command. If not specified, the global-sync-timeout
- is used.";
- }
- leaf database-init-sync-timeout {
- type uint16;
- description
- "timeout value to use for database-init command. If not specified,
- the global-sync-timeout is used.";
- }
- container db-restore-manifest-commands {
- description
- "The ordered list of commands to be processed. Since some yang
- implementations do not support ordered-by user, the list is also
- indexed by command-order. The commands should be processed
- in the order of command-order.
-
- Processing moves to the next command when:
- 1. command is synchronous and rpc returns a successful result.
- 2. command is asynchronous, the rpc returns a successful result,
- and
- 2.1 expected successful notification(s) have been received; or
- 2.2 timeout occurs.
-
- Processing of the manifest file is aborted when:
- 1. command is synchronous and rpc returns a failed result.
- 2. command is asynchronous, and:
- 2.1 the rpc returns a failed result; or
- 2.2 a failed notification is received; or
- 2.3 timeout occurs.
-
- NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
- controller implementation per command. It may be considered either:
- - as a successful result
- - as a failed result
- - as a success or failure based on polling the device
- ";
- list db-restore-manifest-command {
- key "command-order";
- ordered-by user;
- description
- "The list of commands to be processed.";
- leaf command-order {
- type uint8;
- description
- "The order in which commands should be processed.";
- }
- leaf command {
- type identityref {
- base db-restore-manifest-commands;
- }
- mandatory true;
- description
- "The command to be processed.";
- }
- uses download-file-command;
- uses delete-file-command;
- uses db-restore-command;
- uses db-activate-command;
- }
- }
- }
-}
"OpenROADM.org";
description
"YANG definitions for common otn related type definitions.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
"OpenROADM.org";
description
"YANG definitions of performance management types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
revision 2017-12-15 {
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-resource {
prefix org-openroadm-resource;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-resource-types {
prefix org-openroadm-resource-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-pm-types {
prefix org-openroadm-pm-types;
"OpenROADM.org";
description
"YANG definitions of performance management.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
config false;
mandatory true;
description
- "The time at the end of the period; For example if bin starts at
+ "The time at the end of the period; For example if bin starts at
01:15:00 and ends at 01:29:59, the completion-time is 01:29:59";
}
}
length "10..255";
}
description
- "The file name to write the historical PM data.
+ "The file name to write the historical PM data.
The controller should be able to use this name to retrieve the file via ftp/sftp.
- The file name should be unique for each RPC request since a new RPC request
+ The file name should be unique for each RPC request since a new RPC request
could be initiated while the file transfer of the previous file is still in progress.
-
- The file content should be written in xml format based on the historical-pm-list
+
+ The file content should be written in xml format based on the historical-pm-list
yang definition and the file should be gzip compressed.";
}
uses org-openroadm-common-types:rpc-response-status;
rpc collect-historical-pm-file {
description
"Command to query historical PM data.
- The device should be able to process an rpc request for 15min data
+ The device should be able to process an rpc request for 15min data
and a separate request for 24hour data in parallel.";
input {
leaf from-bin-number {
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for port types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of Probable Causes.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of common resource types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
leaf node-id {
type org-openroadm-common-types:node-id-type;
description
- "Node Id is a globally unique identifier for a device.
+ "Node Id is a globally unique identifier for a device.
Same as leafref value in model, if applicable.";
}
}
leaf port-name {
type string;
description
- "Port identifier. Unique within the context of a circuit-pack.
+ "Port identifier. Unique within the context of a circuit-pack.
Same as leafref value in model, if applicable.";
}
}
type string;
mandatory true;
description
- "Physical Link identifier. Unique within the context of a device.
+ "Physical Link identifier. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
type string;
mandatory true;
description
- "Internal Link identifier. Unique within the context of a device.
+ "Internal Link identifier. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
leaf connection-name {
type string;
description
- "Connection name. Unique within the context of a device.
+ "Connection name. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
leaf degree-number {
type uint16;
description
- "Degree identifier. Unique within the context of a device.
+ "Degree identifier. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
leaf srg-number {
type uint16;
description
- "Shared Risk Group identifier. Unique within the context of a device.
+ "Shared Risk Group identifier. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
type string;
mandatory true;
description
- "Shelf-id identifier. Unique within the context of a device.
+ "Shelf-id identifier. Unique within the context of a device.
Same as leafref value in model, if applicable.";
}
}
type string;
mandatory true;
description
- "Service identifier. Unique within the context of a network.
+ "Service identifier. Unique within the context of a network.
Same as leafref value in model, if applicable.";
}
}
type string;
mandatory true;
description
- "Service identifier. Unique within the context of a network.
+ "Service identifier. Unique within the context of a network.
Same as leafref value in model, if applicable.";
}
leaf version-number {
type string;
mandatory true;
description
- "Service identifier. Unique within the context of a network.
+ "Service identifier. Unique within the context of a network.
Same as leafref value in model, if applicable.";
}
}
import org-openroadm-resource-types {
prefix org-openroadm-resource-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of resources.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
"OpenROADM.org";
description
"YANG definitions of common types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- * Redistributions of source code must retain the above copyright notice, this
+
+ Redistribution and use in source and binary forms, with or without modification,
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
revision 2017-12-15 {
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-pm-types {
prefix org-openroadm-pm-types;
}
import org-openroadm-resource {
prefix org-openroadm-resource;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of Threshold Crossing Alert types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
"OpenROADM.org";
description
"YANG definitions of user managements.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE";
revision 2017-12-15 {
length "3..32";
pattern "[a-z][a-z0-9]{2,31}" {
error-message
- "A username must begin with a lowercase letter, The remainder
+ "A username must begin with a lowercase letter, The remainder
of the string may contain lowercase letters, or numbers 0 through 9.";
}
}
}
}
description
- "The password for this entry. This shouldn't be in clear text
- The Password must contain at least 2 characters from
- each of the following groups:
- a) Lower case alphabetic (a-z)
- b) Upper case alphabetic (A-Z)
- c) Numeric 0-9
- d) Special characters Allowed !$%^()[]_-~{}.+
+ "The password for this entry. This shouldn't be in clear text
+ The Password must contain at least 2 characters from
+ each of the following groups:
+ a) Lower case alphabetic (a-z)
+ b) Upper case alphabetic (A-Z)
+ c) Numeric 0-9
+ d) Special characters Allowed !$%^()[]_-~{}.+
Password must not contain Username.";
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"This module contains definitions for System Management.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-resource {
prefix org-openroadm-resource;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions of operations.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-resource-types {
prefix org-openroadm-resource-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-physical-types {
prefix org-openroadm-physical-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-user-mgmt {
prefix org-openroadm-user-mgmt;
}
import org-openroadm-port-types {
prefix org-openroadm-port-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix org-openroadm-interfaces;
}
import org-openroadm-swdl {
prefix org-openroadm-swdl;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-equipment-states-types {
prefix org-openroadm-equipment-states-types;
"OpenROADM.org";
description
"YANG definitions of ROADM device
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
- Also contains code components extracted from IETF netconf. These code components
+
+ Also contains code components extracted from IETF netconf. These code components
are copyrighted and licensed as follows:
-
- Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
- All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents carefully, as they
- describe your rights and restrictions with respect to this document. Code Components
+
+ Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+ All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
+ to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents carefully, as they
+ describe your rights and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text as described in
- Section 4.e of the Trust Legal Provisions and are provided without warranty as
+ Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
leaf node-number {
type uint32;
description
- "Number assigned to a ROADM node at a
+ "Number assigned to a ROADM node at a
given office";
}
leaf node-type {
"Software version";
}
leaf openroadm-version {
- type string;
+ type org-openroadm-common-types:openroadm-version-type;
config false;
description
"openroadm version used on the device";
}
leaf is-pluggable-optics {
type boolean;
+ config false;
+ mandatory true;
description
- "True is circuitpack is pluggable optics";
+ "True if circuitpack is pluggable optics";
}
leaf due-date {
type ietf-yang-types:date-and-time;
}
config false;
description
- "amp-number of amp module that is functionally associated to the amplifier
+ "amp-number of amp module that is functionally associated to the amplifier
in the opposite direction";
}
leaf ila-direction-label {
grouping external-links {
description
- "YANG definitions for external links..
+ "YANG definitions for external links..
- physical links between ROADMs and between the ROADMs and XPonders, which can be added and removed manually.";
list external-link {
key "external-link-name";
type string;
config true;
description
- "Complements ports identification. Used notably in case of bidirectional ports,
+ "Complements ports identification. Used notably in case of bidirectional ports,
and/or in multi-degree amplifier nodes. Allows associating one of the directions
specified in ila-direction-label. Shall be consistent with ila-direction-label";
}
type string;
config true;
description
- "Complements ports identification. Used notably in case of bidirectional ports,
+ "Complements ports identification. Used notably in case of bidirectional ports,
and/or in multi-degree amplifier nodes. Allows associating one of the directions
specified in ila-direction-label. Shall be consistent with ila-direction-label";
}
config true;
mandatory true;
description
- "allows identifying ports associated with logical amp :
+ "allows identifying ports associated with logical amp :
TX for OSC circuit-pack IN RX for OSC circuit-pack OUT";
}
uses port-name {
type string;
config true;
description
- "allows identifying associated logical amp port in which OTDR is launched:
+ "allows identifying associated logical amp port in which OTDR is launched:
corresponds to rx-instance-port-direction-label of corresponding amplifier line-port";
}
uses port-name {
type uint32;
config false;
description
- "Switch fabric interconnect bandwidth unit rate in bits per second.
+ "Switch fabric interconnect bandwidth unit rate in bits per second.
Represents granularity of switch fabric";
}
leaf interconnect-bandwidth {
type uint32;
config false;
description
- "Total interconnect bandwidth for a non-blocking element expressed as
+ "Total interconnect bandwidth for a non-blocking element expressed as
number of inter-connect-bandwidth units";
}
list port-list {
"Collects all log data for debugging and place it in a location accessible via ftp/sftp.
This model assumes ASYNC operation, i.e. the command will return after the device accepts the command,
A create-tech-info-notification will be send out later for the result of the operation.
- The log-file is cleared at the start of every create-tech-info operation in order to ensure
- the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second
+ The log-file is cleared at the start of every create-tech-info operation in order to ensure
+ the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second
create-tech-info command will be rejected.";
input {
leaf shelf-id {
path "/org-openroadm-device/shelves/shelf-name";
}
description
- "This optional field is used to specify the shelf for log collection.
+ "This optional field is used to specify the shelf for log collection.
When this filed is not provided, it is expected to collect logs for the whole node.
Vendor should reject the command if the whole node log collection is not supported.";
}
description
"The Notification that a resource has been added, modified or removed.
This notification can be triggered by changes in configuration and operational data.
- It shall contain the changed field pointed by the xpath.
+ It shall contain the changed field pointed by the xpath.
Typically it is not intended for frequently changing volatile data e.g. PM, power levels";
leaf change-time {
type ietf-yang-types:date-and-time;
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
"OpenROADM.org";
description
"YANG definitions for device facility ethernet interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
- Also contains code components extracted from IETF Interfaces. These code components
+
+ Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
- Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
- All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents carefully, as they
- describe your rights and restrictions with respect to this document. Code Components
+
+ Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+ All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+ to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents carefully, as they
+ describe your rights and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text as described in
- Section 4.e of the Trust Legal Provisions and are provided without warranty as
+ Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
leaf speed {
type uint32;
description
- "Set speed of the interface, unit mbps.
+ "Set speed of the interface, unit mbps.
This is for ETH facility. ";
}
leaf fec {
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for file management related rpcs.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
type inet:uri;
mandatory true;
description
- "Remote file path.
+ "Remote file path.
A URI for the remote file path.
-
- Format:sftp://user[:password]@host[:port]/path.
+
+ Format:sftp://user[:password]@host[:port]/path.
Ex: sftp://test:verify@[2001:db8:0:1::10]:22/home/user/sample";
}
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"This module contains definitions for System Management.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
}
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import iana-afn-safi {
prefix ianaaf;
}
import org-openroadm-resource-types {
prefix org-openroadm-resource-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import ietf-yang-types {
prefix yang;
"OpenROADM.org";
description
"YANG definitions for lldp protocol.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
"OpenROADM.org";
description
"YANG definitions for maintenance loopback.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
revision 2017-12-15 {
"OpenROADM.org";
description
"YANG definitions for maintenance testsignal.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
revision 2017-12-15 {
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for device facility och interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for device facility och interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for device facility och interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
description
"This module contains YANG definitions
for the Optical Transport Interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
contact
"OpenROADM.org";
description
- "YANG definitions for common OTN interface atrtributes and types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+ "YANG definitions for common OTN interface atrtributes and types.
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
- Also contains code components extracted from IETF Interfaces. These code components
+
+ Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
- Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
- All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents carefully, as they
- describe your rights and restrictions with respect to this document. Code Components
+
+ Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+ All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+ to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents carefully, as they
+ describe your rights and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text as described in
- Section 4.e of the Trust Legal Provisions and are provided without warranty as
+ Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
revision 2017-06-26 {
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
"OpenROADM.org";
description
"YANG definitions for device facility otnodu interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
enum "not-terminated" {
description
"Not Terminated: no detection or generation.
- Overhead is passed through the interface transparently in receive direction
+ Overhead is passed through the interface transparently in receive direction
unless extension is set for erase";
}
enum "terminated" {
enum "monitored" {
description
"Monitored: detection enabled.
- Overhead is passed through the interface transparently in receive direction
+ Overhead is passed through the interface transparently in receive direction
unless extension is set for erase";
}
}
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-interfaces {
prefix openROADM-if;
"OpenROADM.org";
description
"YANG definitions for device facility otnotu interfaces.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import ietf-yang-types {
prefix yang;
"OpenROADM.org";
description
"YANG definitions of physical types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-port-capability {
prefix org-openroadm-port-capability;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for pluggable optics holder capability.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
description
"Port reference on supported pluggable circuit-pack";
leaf port-name {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
- }
+ type string;
description
"Port name";
}
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-port-types {
prefix org-openroadm-port-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-prot-otn-linear-aps {
prefix org-openroadm-prot-otn-linear-aps;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-otn-common-types {
prefix org-openroadm-otn-common-types;
"OpenROADM.org";
description
"YANG definitions for device facility OTN linear APS protection groups.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
"Restriction rules for how LO ODUs are multiplexed into HO ODU
and the relation with mapped client ports.";
leaf network-ho-odu-circuit-pack-name {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
- }
+ type string;
mandatory true;
description
"Circuit-Pack identifier. Unique within the context of a device.";
}
leaf network-ho-odu-port-name {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs[org-openroadm-device:circuit-pack-name=current()/../network-ho-odu-circuit-pack-name]/org-openroadm-device:ports/org-openroadm-device:port-name";
- }
+ type string;
mandatory true;
description
"port identifier.";
key "circuit-pack-name slot-name port-name";
uses slot-id-grp;
leaf port-name {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
- }
+ type string;
}
leaf-list port-if-type {
type identityref {
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"YANG definitions for device facility OTN linear APS protection groups.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
Section 4.e of the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
import org-openroadm-device {
prefix org-openroadm-device;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
import org-openroadm-resource-types {
prefix org-openroadm-resource-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
contact
"OpenROADM.org";
description
- "YANG definitions for rstp protocol.
-
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+ "YANG definitions for rstp protocol.
+
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
leaf designated-bridgeid {
type bridge-id-type;
description
- "The Bridge Identifier of the bridge that this port considers
+ "The Bridge Identifier of the bridge that this port considers
to be the Designated Bridge for this port's segment";
}
}
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
- revision-date 2017-12-15;
+ revision-date 2018-10-19;
}
organization
"OpenROADM.org";
description
"Yang definitions for System Management.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
+ revision 2018-10-19 {
+ description
+ "Version 2.2.1";
+ }
revision 2017-12-15 {
description
"Version 2.2";
contact
"OpenROADM.org";
description
- "This module contains a collection of YANG definitions
- for Syslog configuration.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+ "This module contains a collection of YANG definitions
+ for Syslog configuration.
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
+
Also contains code components extracted from IETF Interfaces. These code components
are copyrighted and licensed as follows:
-
+
Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
All rights reserved.
-
+
This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents carefully, as they
feature selector-sevop-config {
description
- "This feature represents the ability to select messages
- using the additional operators equal to, or not equal to
+ "This feature represents the ability to select messages
+ using the additional operators equal to, or not equal to
when comparing the Syslog message severity.";
}
enum "all" {
value 8;
description
- "This enum describes the case where all severities
+ "This enum describes the case where all severities
are selected.";
}
enum "none" {
value 9;
description
- "This enum describes the case where no severities
+ "This enum describes the case where no severities
are selected.";
}
}
grouping syslog-severity {
description
- "This grouping defines the Syslog severity which is used to
+ "This grouping defines the Syslog severity which is used to
select log messages.";
leaf severity {
type severity;
mandatory true;
description
- "This leaf specifies the Syslog message severity. When
- severity is specified, the default severity comparison
- is all messages of the specified severity and greater are
+ "This leaf specifies the Syslog message severity. When
+ severity is specified, the default severity comparison
+ is all messages of the specified severity and greater are
selected. 'all' is a special case which means all severities
are selected. 'none' is a special case which means that
no selection should occur or disable this filter.";
"../severity != 'all' and
../severity != 'none'" {
description
- "The severity-operator is not applicable for severity 'all' or
+ "The severity-operator is not applicable for severity 'all' or
severity 'none'";
}
if-feature "selector-sevop-config";
type enumeration {
enum "equals-or-higher" {
description
- "This enum specifies all messages of the specified
- severity and higher are logged according to the
+ "This enum specifies all messages of the specified
+ severity and higher are logged according to the
given log-action";
}
enum "equals" {
description
- "This enum specifies all messages that are for
- the specified severity are logged according to the
+ "This enum specifies all messages that are for
+ the specified severity are logged according to the
given log-action";
}
enum "not-equals" {
description
- "This enum specifies all messages that are not for
- the specified severity are logged according to the
+ "This enum specifies all messages that are not for
+ the specified severity are logged according to the
given log-action";
}
}
default "equals-or-higher";
description
- "This leaf describes the option to specify how the
+ "This leaf describes the option to specify how the
severity comparison is performed.";
}
}
grouping syslog-selector {
description
- "This grouping defines a Syslog selector which is used to
- select log messages for the log-action (buffer, file,
+ "This grouping defines a Syslog selector which is used to
+ select log messages for the log-action (buffer, file,
etc). Choose one of the following:
no-log-facility
log-facility [<facility> <severity>...]";
container log-selector {
description
- "This container describes the log selector parameters
+ "This container describes the log selector parameters
for Syslog.";
choice selector-facility {
mandatory true;
description
- "This choice describes the option to specify no
+ "This choice describes the option to specify no
facilities, or a specific facility which can be
all for all facilities.";
case no-log-facility {
description
- "This case specifies no facilities will match when
- comparing the Syslog message facility. This is a
- method that can be used to effectively disable a
+ "This case specifies no facilities will match when
+ comparing the Syslog message facility. This is a
+ method that can be used to effectively disable a
particular log-action (buffer, file, etc).";
leaf no-facilities {
type empty;
description
- "This leaf specifies that no facilities are selected
+ "This leaf specifies that no facilities are selected
for this log-action.";
}
}
case log-facility {
description
- "This case specifies one or more specified facilities
+ "This case specifies one or more specified facilities
will match when comparing the Syslog message facility.";
list log-facility {
key "facility";
description
- "This list describes a collection of Syslog
+ "This list describes a collection of Syslog
facilities and severities.";
leaf facility {
type union {
type enumeration {
enum "all" {
description
- "This enum describes the case where all
+ "This enum describes the case where all
facilities are requested.";
}
}
container syslog {
description
- "This container describes the configuration parameters for
+ "This container describes the configuration parameters for
Syslog.";
leaf local-syslog-filename {
type string;
config false;
mandatory true;
description
- "The syslog file name. It should be a fully qualified name
+ "The syslog file name. It should be a fully qualified name
so that the user can get the file using transfer RPC.";
}
container log-actions {
description
- "This container describes the log-action parameters
+ "This container describes the log-action parameters
for Syslog.";
container remote {
description
- "This container describes the configuration parameters for
+ "This container describes the configuration parameters for
remote logging.";
list destination {
key "name";
description
- "This list describes a collection of remote logging
+ "This list describes a collection of remote logging
destinations.";
leaf name {
type string;
leaf address {
type inet:host;
description
- "The leaf uniquely specifies the address of
- the remote host. One of the following must
- be specified: an ipv4 address, an ipv6
+ "The leaf uniquely specifies the address of
+ the remote host. One of the following must
+ be specified: an ipv4 address, an ipv6
address, or a host name.";
}
leaf port {
type inet:port-number;
default "514";
description
- "This leaf specifies the port number used to
+ "This leaf specifies the port number used to
deliver messages to the remote server.";
}
}
leaf address {
type inet:host;
description
- "The leaf uniquely specifies the address of
- the remote host. One of the following must be
- specified: an ipv4 address, an ipv6 address,
+ "The leaf uniquely specifies the address of
+ the remote host. One of the following must be
+ specified: an ipv4 address, an ipv6 address,
or a host name.";
}
leaf port {
type inet:port-number;
default "514";
description
- "This leaf specifies the port number used to
+ "This leaf specifies the port number used to
deliver messages to the remote server.";
}
}
"OpenROADM.org";
description
"YANG definitions for mapping wavelength-number to center frequency and wavelength value.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
+
+ Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
+
+ * Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";
revision 2017-12-15 {
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.FrequencyGHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.FrequencyTHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.ModulationFormat;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.PowerDBm;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.R100G;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PowerDBm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.R100G;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.EthAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.Interface1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.Interface1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.ethernet.container.EthernetBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.EthAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.ethernet.container.EthernetBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.EthernetCsmacd;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.InterfaceType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.MediaChannelTrailTerminationPoint;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpticalTransport;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOdu;
import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOtu;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev171215.mc.ttp.container.McTtpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev171215.nmc.ctp.container.NmcCtpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.och.container.OchBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215.OtsAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215.ots.container.OtsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.mc.ttp.container.McTtpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019.nmc.ctp.container.NmcCtpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.och.container.OchBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.OtsAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.ots.container.OtsBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODU4;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.OTU4;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.PayloadTypeDef;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.OduAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.odu.container.OduBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.opu.OpuBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.OtuAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.otu.container.OtuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.OduAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.odu.container.OduBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.opu.OpuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.OtuAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.otu.container.OtuBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
mcTtpBuilder.setMaxFreq(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getStop())));
// Create Interface1 type object required for adding as augmentation
- org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev171215.Interface1Builder
+ org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.Interface1Builder
interface1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel
- .interfaces.rev171215.Interface1Builder();
+ .interfaces.rev181019.Interface1Builder();
interface1Builder.setMcTtp(mcTtpBuilder.build());
mcInterfaceBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel
- .interfaces.rev171215.Interface1.class,interface1Builder.build());
+ .interfaces.rev181019.Interface1.class,interface1Builder.build());
// Post interface on the device
openRoadmInterfaces.postInterface(nodeId, mcInterfaceBldr);
nmcCtpIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
// Create Interface1 type object required for adding as augmentation
- org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev171215
+ org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
.Interface1Builder nmcCtpI1fBuilder = new org.opendaylight.yang.gen.v1.http
- .org.openroadm.network.media.channel.interfaces.rev171215.Interface1Builder();
+ .org.openroadm.network.media.channel.interfaces.rev181019.Interface1Builder();
nmcCtpI1fBuilder.setNmcCtp(nmcCtpIfBuilder.build());
nmcInterfaceBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network
- .media.channel.interfaces.rev171215.Interface1.class,nmcCtpI1fBuilder.build());
+ .media.channel.interfaces.rev181019.Interface1.class,nmcCtpI1fBuilder.build());
// Post interface on the device
openRoadmInterfaces.postInterface(nodeId, nmcInterfaceBldr);
OchBuilder ocIfBuilder = new OchBuilder();
ocIfBuilder.setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getCenterFrequency())));
- ocIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
+ //ocIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
ocIfBuilder.setModulationFormat(ModulationFormat.DpQpsk);
ocIfBuilder.setRate(R100G.class);
ocIfBuilder.setTransmitPower(new PowerDBm(new BigDecimal("-5")));
createOpenRoadmOchInterfaceName(logicalConnPoint, waveNumber));
// Create Interface1 type object required for adding as augmentation
// TODO look at imports of different versions of class
- org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.Interface1Builder
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1Builder
ochIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces
- .rev171215.Interface1Builder();
+ .rev181019.Interface1Builder();
ochInterfaceBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.Interface1.class,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1.class,
ochIf1Builder.setOch(ocIfBuilder.build()).build());
// Post interface on the device
// Create Interface1 type object required for adding as augmentation
// TODO look at imports of different versions of class
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder oduIf1Builder =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder();
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
oduInterfaceBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1.class,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
oduIf1Builder.setOdu(oduIfBuilder.build()).build());
// Post interface on the device
// Create Interface1 type object required for adding as augmentation
// TODO look at imports of different versions of class
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder otuIf1Builder =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder();
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder otuIf1Builder =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder();
otuInterfaceBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1.class,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
otuIf1Builder.setOtu(otuIfBuilder.build()).build());
// Post interface on the device
// Create Interface1 type object required for adding as
// augmentation
- org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019
.Interface1Builder otsIf1Builder = new org.opendaylight.yang.gen.v1.http.org
.openroadm.optical.transport
- .interfaces.rev171215.Interface1Builder();
+ .interfaces.rev181019.Interface1Builder();
otsInterfaceBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019
.Interface1.class,
otsIf1Builder.setOts(otsIfBuilder.build()).build());
this.openRoadmInterfaces.postInterface(nodeId, otsInterfaceBldr);
switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmEthInterface(nodeId, logicalConnPoint);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmEthInterface(nodeId, logicalConnPoint);
default:
return null;
switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOchInterface(nodeId, logicalConnPoint,waveNumber);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createFlexOCH(nodeId, logicalConnPoint,waveNumber);
default:
return null;
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOchInterface(nodeId, logicalConnPoint, waveNumber,
rate, format);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmOchInterface(nodeId,logicalConnPoint,waveNumber);
default:
return null;
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOdu4Interface(nodeId, logicalConnPoint,
supportingOtuInterface);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmOdu4Interface(nodeId, logicalConnPoint,
supportingOtuInterface);
default:
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOtu4Interface(nodeId,
logicalConnPoint,supportOchInterface);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmOtu4Interface(nodeId,logicalConnPoint, supportOchInterface);
default:
return null;
switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOmsInterface(nodeId,mapping);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmOmsInterface(nodeId,mapping);
default:
return null;
switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
return openRoadmInterface121.createOpenRoadmOtsInterface(nodeId,mapping);
- case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+ case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
return openRoadmInterface22.createOpenRoadmOtsInterface(nodeId,mapping);
default:
return null;
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
private DeviceTransactionManager deviceTransactionManager;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
MountPointService mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.mappingUtils = Mockito.spy(MappingUtils.class);
Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
.getOpenRoadmVersion(Mockito.anyString());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
- this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+ this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
openRoadmInterface22);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.crossConnect = Mockito.spy(this.crossConnect);
this.deviceRendererService = new DeviceRendererServiceImpl(this.getDataBroker(),
this.deviceTransactionManager, this.openRoadmInterfaceFactory, this.openRoadmInterfaces,
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
private DeviceTransactionManager deviceTransactionManager;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
MountPointService mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
- this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+ this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
this.openRoadmInterfaces);
openRoadmInterface22);
this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
- this.crossConnectImpl121, this.crossConnectImpl22);
+ this.crossConnectImpl121, this.crossConnectImpl221);
this.crossConnect = Mockito.spy(this.crossConnect);
this.deviceRendererService = new DeviceRendererServiceImpl(this.getDataBroker(),
this.deviceTransactionManager, this.openRoadmInterfaceFactory, this.openRoadmInterfaces,
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
private OpenRoadmInterfaces openRoadmInterfaces;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
MountPointService mountPointService = new MountPointServiceStub(mountPoint);
DeviceTransactionManager deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.mappingUtils = Mockito.spy(this.mappingUtils);
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), deviceTransactionManager,
this.openRoadmInterfaces);
this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
- this.crossConnectImpl22);
+ this.crossConnectImpl221);
this.crossConnect = Mockito.spy(this.crossConnect);
PortMapping portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
this.portMappingVersion121);
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
private OpenRoadmInterfaces openRoadmInterfaces;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
MountPointService mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
this.mappingUtils = Mockito.spy(MappingUtils.class);
Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
.getOpenRoadmVersion(Mockito.anyString());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
this.portMappingVersion121);
this.portMapping = Mockito.spy(this.portMapping);
this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
- this.crossConnectImpl22);
+ this.crossConnectImpl221);
this.crossConnect = Mockito.spy(this.crossConnect);
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
private TransportpceOlmService olmService;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
MountPointService mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
this.portMappingVersion121);
this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
- this.crossConnectImpl22);
+ this.crossConnectImpl221);
this.crossConnect = Mockito.spy(crossConnect);
FixedFlexInterface fixedFlexInterface = new FixedFlexImpl();
OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping,openRoadmInterfaces);
import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl;
import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
private NetworkModelWavelengthService networkModelWavelengthService;
private MappingUtils mappingUtils;
private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
- private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
- private PortMappingVersion22 portMappingVersion22;
+ private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+ private PortMappingVersion221 portMappingVersion22;
private PortMappingVersion121 portMappingVersion121;
private CrossConnectImpl121 crossConnectImpl121;
- private CrossConnectImpl22 crossConnectImpl22;
+ private CrossConnectImpl221 crossConnectImpl221;
private void setMountPoint(MountPoint mountPoint) {
this.mountPointService = new MountPointServiceStub(mountPoint);
this.deviceTransactionManager = new DeviceTransactionManagerImpl(this.mountPointService, 3000);
this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
- this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+ this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
this.mappingUtils = new MappingUtilsImpl(getDataBroker());
this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
- openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+ openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
this.portMappingVersion22 =
- new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+ new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMappingVersion121 =
new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
this.openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(this.mappingUtils,openRoadmInterface121,
openRoadmInterface22);
this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
- this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+ this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
- this.crossConnectImpl22);
+ this.crossConnectImpl221);
}
@Before