throws OpenRoadmInterfaceException {
String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
- LOG.info("Interface delete request received for node {} with version {}",nodeId,openRoadmVersion);
+ LOG.info("Request received for node {} with version {} to change equipment-state of cp {}.",
+ nodeId,openRoadmVersion, circuitPackName);
if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
- LOG.info("Device Version is 1.2.1");
openRoadmInterfacesImpl121.postEquipmentState(nodeId, circuitPackName, activate);
}
else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
public void postEquipmentState(String nodeId, String circuitPackName, boolean activate)
throws OpenRoadmInterfaceException {
-
InstanceIdentifier<CircuitPacks> circuitPackIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(
CircuitPacks.class, new CircuitPacksKey(circuitPackName));
Optional<CircuitPacks> cpOpt = this.deviceTransactionManager.getDataFromDevice(nodeId,
CircuitPacksBuilder cpBldr = new CircuitPacksBuilder(cp);
boolean change = false;
if (activate) {
- if (cpBldr.getEquipmentState() != null && !cpBldr.getEquipmentState().equals(States.NotReservedInuse)) {
+ if (cpBldr.getEquipmentState() != null && !cpBldr.getEquipmentState().getName()
+ .equals(States.NotReservedInuse)) {
cpBldr.setEquipmentState(States.NotReservedInuse);
change = true;
}
- } else if (
- (cpBldr.getEquipmentState() != null && !cpBldr.getEquipmentState().equals(States.NotReservedAvailable))) {
+ } else if ((cpBldr.getEquipmentState() != null && !cpBldr.getEquipmentState().getName()
+ .equals(States.NotReservedAvailable))) {
cpBldr.setEquipmentState(States.NotReservedAvailable);
change = true;
}
import java.util.Optional;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.transportpce.common.StringConstants;
import org.opendaylight.transportpce.common.Timeouts;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.common.fixedflex.FixedFlexInterface;
// Post interface on the device
openRoadmInterfaces.postInterface(nodeId, ethInterfaceBldr);
+
+ // Post the equipment-state change on the device circuit-pack
+ openRoadmInterfaces.postEquipmentState(nodeId, portMap.getSupportingCircuitPackName(), true);
+
return ethInterfaceBldr.getName();
}
// Post interface on the device
openRoadmInterfaces.postInterface(nodeId, ochInterfaceBldr);
+
+ // Post the equipment-state change on the device circuit-pack if xpdr node
+ if (portMap.getLogicalConnectionPoint().contains(StringConstants.NETWORK_TOKEN)) {
+ this.openRoadmInterfaces.postEquipmentState(nodeId, portMap.getSupportingCircuitPackName(), true);
+ }
+
return ochInterfaceBldr.getName();
}
LOG.error("Error while setting up service paths!", e);
}
forkJoinPool.shutdown();
+
if (success.get()) {
results.add("Roadm-connection successfully created for nodes: " + String.join(", ", nodesProvisioned));
}
throw e;
}
if (services.isPresent()) {
+ LOG.info("service {} already exists", name);
servicesBuilder = new ServicesBuilder(services.get());
+ servicesBuilder.setTopology(topo);
+ WriteTransaction writeTx = this.dataBroker.newWriteOnlyTransaction();
+ writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, servicesBuilder.build());
+ writeTx.submit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS);
} else {
- servicesBuilder = new ServicesBuilder();
- servicesBuilder.withKey(serviceKey);
+ LOG.warn("Service {} does not exist - topology can not be updated", name);
+// servicesBuilder = new ServicesBuilder();
+// servicesBuilder.withKey(serviceKey);
}
- servicesBuilder.setTopology(topo);
- WriteTransaction writeTx = this.dataBroker.newWriteOnlyTransaction();
- writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, servicesBuilder.build());
- writeTx.submit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS);
}
@Override