Administrative-state of honeynode interfaces to make path computation fail


javier.errea_moreno@...
 

Good morning everyone,

I will first describe the scenario I am trying to implement and then I will ask a series of doubts I have.

I have a topology with 2 ROADMs and 2 XPonders using honeynode emulated nodes. The ODL controller automatically subscribes to get notification changes from devices when these ones are connected. Now, what I am trying to do is to set the interface status (of one ROADM) to down by sending an <edit-config> request directly to the device. The fields that seemed to be interested to set an interface down were:

- Administrative-state from the interface nodeList.
- Administrative-state and circuit-pack-mode from the circuit-packs nodeList.
- Administrative-state of the ports nodeList which are part of the circuit-packs.

After setting them to "outOfService" (in one ROADM) the ODL controller receives "ChangeNotification" event from the device. Then, when trying to establish an end-to-end service between the 2 Xponders, the computation of the path is successful. I have checked the running dastastores of the ODL controller and the device and the changes are performed. My questions are the following:

- What is the meaning of the Administrative-state field for interface, circuit-pack and port?? And their values "inService" or "outOfService"??
- How can I make the pyshical ROADM port (supporting the DEGREE-TTP) unavailable so that the path computation fails (because there is no OMS trail between ROADMs)??
- When the ODL controller receives a ChangeNotification, is it possible to automatically update the changes in the ODL controller datastores?? (right now I am just reconnecting the device as the onChangeNotification function of the DeviceListener in the file DeviceListener.java only has a print)

Hope that someone can help me. Don't hesitate to ask for more detailed information if you need it or correct my thoughts in case they are wrong :)
Thanks in advance,

Javier

Here is the configuration of one of the ROADM devices after changing Administrative states to outOfService:

{ "output": { "data": { "org-openroadm-device": { "info": { "node-id": "ROADM-A1", "template": "template_1", "geoLocation": { "longitude": 2, "latitude": 1 }, "node-type": "rdm", "clli": "NodeA", "node-number": 2, "defaultGateway": "127.0.0.20", "ipAddress": "127.0.0.11", "prefix-length": 28 }, "users": { "user": { "name": "openroadm", "group": "sudo", "password": "openroadm" } }, "degree": [ { "degree-number": 2, "circuit-packs": [ { "index": 2, "circuit-pack-name": "2/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "2/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "2/0" } }, { "degree-number": 1, "circuit-packs": [ { "index": 2, "circuit-pack-name": "1/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "1/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "1/0" } } ], "shared-risk-group": [ { "srg-number": 3, "circuit-packs": { "index": 1, "circuit-pack-name": "5/0" } }, { "srg-number": 1, "circuit-packs": { "index": 1, "circuit-pack-name": "3/0" } } ], "interface": [ { "name": "1GE-interface-2", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "2/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "1GE-interface-1", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "1/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "OMS-DEG2-TTP-TXRX", "supporting-interface": "OTS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "circuit-id": "TBD", "supporting-port": "L1", "description": "OutOfService", "type": "x:openROADMOpticalMultiplex" }, { "name": "OTS-DEG2-TTP-TXRX", "supporting-port": "L1", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "ots": { "ingress-span-loss-aging-margin": 0, "span-loss-receive": 15, "span-loss-transmit": 6, "fiber-type": "smf" }, "type": "x:opticalTransport" }, { "name": "DEG2-TTP-TXRX-mc-1", "supporting-interface": "OMS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:mediaChannelTrailTerminationPoint", "mc-ttp": { "min-freq": 196.075, "max-freq": 196.125 } }, { "name": "SRG1-PP1-TXRX-nmc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "3/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "C1", "type": "x:networkMediaChannelConnectionTerminationPoint" }, { "name": "DEG2-TTP-TXRX-nmc-1", "supporting-interface": "DEG2-TTP-TXRX-mc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:networkMediaChannelConnectionTerminationPoint" } ], "circuit-packs": [ { "circuit-pack-name": "2/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "2/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "1/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "1/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "3/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" }, { "circuit-pack-name": "1/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegW", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 1, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG1-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegE", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG2-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "2/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "5/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" } ], "protocols": { "lldp": { "global-config": { "adminStatus": "enable", "msgTxInterval": 20, "msgTxHoldMultiplier": 4 }, "port-config": [ { "ifName": "1GE-interface-1", "adminStatus": "txandrx" }, { "ifName": "1GE-interface-2", "adminStatus": "txandrx" } ] } }, "roadm-connections": [ { "connection-name": "DEG2-TTP-TXRX-SRG1-PP1-TXRX-1", "destination": { "dst-if": "SRG1-PP1-TXRX-nmc-1" }, "opticalControlMode": "power", "source": { "src-if": "DEG2-TTP-TXRX-nmc-1" } }, { "connection-name": "SRG1-PP1-TXRX-DEG2-TTP-TXRX-1", "destination": { "dst-if": "DEG2-TTP-TXRX-nmc-1" }, "opticalControlMode": "gainLoss", "target-output-power": -3, "source": { "src-if": "SRG1-PP1-TXRX-nmc-1" } } ] } } } }


olivier.renais@...
 

Hi Javier,

Your approach makes a lot of sense, unfortunately, at that time, we do not handle in transportPCE topology the states associated with tps and links.

So to answer your questions :

 

- What is the meaning of the Administrative-state field for interface, circuit-pack and port?? And their values "inService" or "outOfService"?? Yes + degraded

- How can I make the pyshical ROADM port (supporting the DEGREE-TTP) unavailable so that the path computation fails (because there is no OMS trail between ROADMs)?? At that time, if I remember well, we don’t check states on ttp, and if there is no OMS, we create it.

- When the ODL controller receives a ChangeNotification, is it possible to automatically update the changes in the ODL controller datastores?? (right now I am just reconnecting the device as the onChangeNotification function of the DeviceListener in the file DeviceListener.java only has a print) : We still need to make all functions associated with the update of the datastore according to change notification. This is high in our priority list but no the highest. For all things related to service health and automatic topology update we are late. We decided to put the priority on OTN for Magnesium because we don’t want to break the emulation around OpenROADM. Equipment manufacturers need to have an application to test the functionalities they have developed on their equipment. So this is frustrating, but as we are not a huge team to develop transportPCE, we have to set priority and do what we can!

Regards

Logo Orange

 

Olivier Renais
Optical transport network architect
ORANGE/TGI/OLN/WNI/AOT/ATA  

Fixe : +33 2 96 07 16 40
Mobile : +33 6 42 27 71 98
olivier.renais@...  

 

 

De : Transportpce-dev@... [mailto:Transportpce-dev@...] De la part de javier.errea_moreno@...
Envoyé : lundi 16 mars 2020 11:49
À : Transportpce-dev@...
Objet : [Transportpce-dev] Administrative-state of honeynode interfaces to make path computation fail

 

Good morning everyone,

I will first describe the scenario I am trying to implement and then I will ask a series of doubts I have.

I have a topology with 2 ROADMs and 2 XPonders using honeynode emulated nodes. The ODL controller automatically subscribes to get notification changes from devices when these ones are connected. Now, what I am trying to do is to set the interface status (of one ROADM) to down by sending an <edit-config> request directly to the device. The fields that seemed to be interested to set an interface down were:

- Administrative-state from the interface nodeList.
- Administrative-state and circuit-pack-mode from the circuit-packs nodeList.
- Administrative-state of the ports nodeList which are part of the circuit-packs.

After setting them to "outOfService" (in one ROADM) the ODL controller receives "ChangeNotification" event from the device. Then, when trying to establish an end-to-end service between the 2 Xponders, the computation of the path is successful. I have checked the running dastastores of the ODL controller and the device and the changes are performed. My questions are the following:

- What is the meaning of the Administrative-state field for interface, circuit-pack and port?? And their values "inService" or "outOfService"??
- How can I make the pyshical ROADM port (supporting the DEGREE-TTP) unavailable so that the path computation fails (because there is no OMS trail between ROADMs)??
- When the ODL controller receives a ChangeNotification, is it possible to automatically update the changes in the ODL controller datastores?? (right now I am just reconnecting the device as the onChangeNotification function of the DeviceListener in the file DeviceListener.java only has a print)

Hope that someone can help me. Don't hesitate to ask for more detailed information if you need it or correct my thoughts in case they are wrong :)
Thanks in advance,

Javier

Here is the configuration of one of the ROADM devices after changing Administrative states to outOfService:

{ "output": { "data": { "org-openroadm-device": { "info": { "node-id": "ROADM-A1", "template": "template_1", "geoLocation": { "longitude": 2, "latitude": 1 }, "node-type": "rdm", "clli": "NodeA", "node-number": 2, "defaultGateway": "127.0.0.20", "ipAddress": "127.0.0.11", "prefix-length": 28 }, "users": { "user": { "name": "openroadm", "group": "sudo", "password": "openroadm" } }, "degree": [ { "degree-number": 2, "circuit-packs": [ { "index": 2, "circuit-pack-name": "2/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "2/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "2/0" } }, { "degree-number": 1, "circuit-packs": [ { "index": 2, "circuit-pack-name": "1/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "1/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "1/0" } } ], "shared-risk-group": [ { "srg-number": 3, "circuit-packs": { "index": 1, "circuit-pack-name": "5/0" } }, { "srg-number": 1, "circuit-packs": { "index": 1, "circuit-pack-name": "3/0" } } ], "interface": [ { "name": "1GE-interface-2", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "2/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "1GE-interface-1", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "1/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "OMS-DEG2-TTP-TXRX", "supporting-interface": "OTS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "circuit-id": "TBD", "supporting-port": "L1", "description": "OutOfService", "type": "x:openROADMOpticalMultiplex" }, { "name": "OTS-DEG2-TTP-TXRX", "supporting-port": "L1", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "ots": { "ingress-span-loss-aging-margin": 0, "span-loss-receive": 15, "span-loss-transmit": 6, "fiber-type": "smf" }, "type": "x:opticalTransport" }, { "name": "DEG2-TTP-TXRX-mc-1", "supporting-interface": "OMS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:mediaChannelTrailTerminationPoint", "mc-ttp": { "min-freq": 196.075, "max-freq": 196.125 } }, { "name": "SRG1-PP1-TXRX-nmc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "3/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "C1", "type": "x:networkMediaChannelConnectionTerminationPoint" }, { "name": "DEG2-TTP-TXRX-nmc-1", "supporting-interface": "DEG2-TTP-TXRX-mc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:networkMediaChannelConnectionTerminationPoint" } ], "circuit-packs": [ { "circuit-pack-name": "2/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "2/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "1/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "1/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "3/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" }, { "circuit-pack-name": "1/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegW", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 1, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG1-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegE", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG2-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "2/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "5/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" } ], "protocols": { "lldp": { "global-config": { "adminStatus": "enable", "msgTxInterval": 20, "msgTxHoldMultiplier": 4 }, "port-config": [ { "ifName": "1GE-interface-1", "adminStatus": "txandrx" }, { "ifName": "1GE-interface-2", "adminStatus": "txandrx" } ] } }, "roadm-connections": [ { "connection-name": "DEG2-TTP-TXRX-SRG1-PP1-TXRX-1", "destination": { "dst-if": "SRG1-PP1-TXRX-nmc-1" }, "opticalControlMode": "power", "source": { "src-if": "DEG2-TTP-TXRX-nmc-1" } }, { "connection-name": "SRG1-PP1-TXRX-DEG2-TTP-TXRX-1", "destination": { "dst-if": "DEG2-TTP-TXRX-nmc-1" }, "opticalControlMode": "gainLoss", "target-output-power": -3, "source": { "src-if": "SRG1-PP1-TXRX-nmc-1" } } ] } } } }

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.


olivier.renais@...
 

Javier, I have some issue with my mail box.  As I work remotely when the VPN is disrupted, this leads to some of my mail not being sent.

I guess you did not get that one

Regards

 

 

Hi Javier,

Your approach makes a lot of sense, unfortunately, at that time, we do not handle in transportPCE topology the states associated with tps and links.

So to answer your questions :

 

- What is the meaning of the Administrative-state field for interface, circuit-pack and port?? And their values "inService" or "outOfService"?? Yes + degraded

- How can I make the pyshical ROADM port (supporting the DEGREE-TTP) unavailable so that the path computation fails (because there is no OMS trail between ROADMs)?? At that time, if I remember well, we don’t check states on ttp, and if there is no OMS, we create it.

- When the ODL controller receives a ChangeNotification, is it possible to automatically update the changes in the ODL controller datastores?? (right now I am just reconnecting the device as the onChangeNotification function of the DeviceListener in the file DeviceListener.java only has a print) : We still need to make all functions associated with the update of the datastore according to change notification. This is high in our priority list but no the highest. For all things related to service health and automatic topology update we are late. We decided to put the priority on OTN for Magnesium because we don’t want to break the emulation around OpenROADM. Equipment manufacturers need to have an application to test the functionalities they have developed on their equipment. So this is frustrating, but as we are not a huge team to develop transportPCE, we have to set priority and do what we can!

Regards

Logo Orange

 

Olivier Renais
Optical transport network architect
ORANGE/TGI/OLN/WNI/AOT/ATA  

Fixe : +33 2 96 07 16 40
Mobile : +33 6 42 27 71 98
olivier.renais@...  

 

 

De : Transportpce-dev@... [mailto:Transportpce-dev@...] De la part de javier.errea_moreno@...
Envoyé : lundi 16 mars 2020 11:49
À : Transportpce-dev@...
Objet : [Transportpce-dev] Administrative-state of honeynode interfaces to make path computation fail

 

Good morning everyone,

I will first describe the scenario I am trying to implement and then I will ask a series of doubts I have.

I have a topology with 2 ROADMs and 2 XPonders using honeynode emulated nodes. The ODL controller automatically subscribes to get notification changes from devices when these ones are connected. Now, what I am trying to do is to set the interface status (of one ROADM) to down by sending an <edit-config> request directly to the device. The fields that seemed to be interested to set an interface down were:

- Administrative-state from the interface nodeList.
- Administrative-state and circuit-pack-mode from the circuit-packs nodeList.
- Administrative-state of the ports nodeList which are part of the circuit-packs.

After setting them to "outOfService" (in one ROADM) the ODL controller receives "ChangeNotification" event from the device. Then, when trying to establish an end-to-end service between the 2 Xponders, the computation of the path is successful. I have checked the running dastastores of the ODL controller and the device and the changes are performed. My questions are the following:

- What is the meaning of the Administrative-state field for interface, circuit-pack and port?? And their values "inService" or "outOfService"??
- How can I make the pyshical ROADM port (supporting the DEGREE-TTP) unavailable so that the path computation fails (because there is no OMS trail between ROADMs)??
- When the ODL controller receives a ChangeNotification, is it possible to automatically update the changes in the ODL controller datastores?? (right now I am just reconnecting the device as the onChangeNotification function of the DeviceListener in the file DeviceListener.java only has a print)

Hope that someone can help me. Don't hesitate to ask for more detailed information if you need it or correct my thoughts in case they are wrong :)
Thanks in advance,

Javier

Here is the configuration of one of the ROADM devices after changing Administrative states to outOfService:

{ "output": { "data": { "org-openroadm-device": { "info": { "node-id": "ROADM-A1", "template": "template_1", "geoLocation": { "longitude": 2, "latitude": 1 }, "node-type": "rdm", "clli": "NodeA", "node-number": 2, "defaultGateway": "127.0.0.20", "ipAddress": "127.0.0.11", "prefix-length": 28 }, "users": { "user": { "name": "openroadm", "group": "sudo", "password": "openroadm" } }, "degree": [ { "degree-number": 2, "circuit-packs": [ { "index": 2, "circuit-pack-name": "2/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "2/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "2/0" } }, { "degree-number": 1, "circuit-packs": [ { "index": 2, "circuit-pack-name": "1/0/ETH-PLUG" }, { "index": 1, "circuit-pack-name": "1/0" } ], "connection-ports": { "index": 1, "port-name": "L1", "circuit-pack-name": "1/0" } } ], "shared-risk-group": [ { "srg-number": 3, "circuit-packs": { "index": 1, "circuit-pack-name": "5/0" } }, { "srg-number": 1, "circuit-packs": { "index": 1, "circuit-pack-name": "3/0" } } ], "interface": [ { "name": "1GE-interface-2", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "2/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "1GE-interface-1", "supporting-port": "ETH-PLUG", "ethernet": { "speed": 1000, "duplex": "full", "mtu": 1800, "auto-negotiation": "enabled" }, "supporting-circuit-pack-name": "1/0/ETH-PLUG", "administrative-state": "inService", "type": "x:ethernetCsmacd" }, { "name": "OMS-DEG2-TTP-TXRX", "supporting-interface": "OTS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "circuit-id": "TBD", "supporting-port": "L1", "description": "OutOfService", "type": "x:openROADMOpticalMultiplex" }, { "name": "OTS-DEG2-TTP-TXRX", "supporting-port": "L1", "supporting-circuit-pack-name": "2/0", "administrative-state": "outOfService", "ots": { "ingress-span-loss-aging-margin": 0, "span-loss-receive": 15, "span-loss-transmit": 6, "fiber-type": "smf" }, "type": "x:opticalTransport" }, { "name": "DEG2-TTP-TXRX-mc-1", "supporting-interface": "OMS-DEG2-TTP-TXRX", "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:mediaChannelTrailTerminationPoint", "mc-ttp": { "min-freq": 196.075, "max-freq": 196.125 } }, { "name": "SRG1-PP1-TXRX-nmc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "3/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "C1", "type": "x:networkMediaChannelConnectionTerminationPoint" }, { "name": "DEG2-TTP-TXRX-nmc-1", "supporting-interface": "DEG2-TTP-TXRX-mc-1", "nmc-ctp": { "frequency": 196.1, "width": 40 }, "supporting-circuit-pack-name": "2/0", "administrative-state": "inService", "circuit-id": "TBD", "description": "TBD", "supporting-port": "L1", "type": "x:networkMediaChannelConnectionTerminationPoint" } ], "circuit-packs": [ { "circuit-pack-name": "2/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "2/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/OSC-PLUG", "circuit-pack-type": "port", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "NORMAL", "slot": 0, "shelf": 2, "parent-circuit-pack": { "cp-slot-name": "OSC-SLOT", "circuit-pack-name": "1/0" }, "ports": { "port-name": "OSC-PORT", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "1/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "1/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "3/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG1-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG1-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" }, { "circuit-pack-name": "1/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegW", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 1, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG1-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG1-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0", "circuit-pack-type": "WSSDEG", "circuit-pack-product-code": "DegE", "administrative-state": "outOfService", "circuit-pack-mode": "outOfServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "C3", "port-qual": "roadm-internal", "administrative-state": "inService", "circuit-id": 1, "logical-connection-point": "DEG2-CTP-TXRX", "port-type": "Client" }, { "port-name": "L1", "port-qual": "roadm-external", "administrative-state": "outOfService", "circuit-id": 1, "logical-connection-point": "DEG2-TTP-TXRX", "port-type": "LINE" } ], "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "2/0/ETH-PLUG", "circuit-pack-type": "port", "circuit-pack-product-code": "Eth", "subSlot": 0, "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 1, "shelf": 1, "parent-circuit-pack": { "cp-slot-name": "ETH-PLUG", "circuit-pack-name": "2/0" }, "ports": { "port-name": "ETH-PLUG", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "1GEX" }, "equipment-state": "not-reserved-available" }, { "circuit-pack-name": "5/0", "circuit-pack-type": "ADDDROP", "circuit-pack-product-code": "SRGRx", "administrative-state": "inService", "circuit-pack-mode": "inServiceMode", "slot": 2, "shelf": 1, "ports": [ { "port-name": "C2", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP2", "port-type": "Client" }, { "port-name": "C1", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP1", "port-type": "Client" }, { "port-name": "C4", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP4", "port-type": "Client" }, { "port-name": "AD-DEG2", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" }, { "port-name": "C3", "port-qual": "roadm-external", "administrative-state": "inService", "circuit-id": "SRG1", "logical-connection-point": "SRG3-PP3", "port-type": "Client" }, { "port-name": "AD-DEG1", "logical-connection-point": "SRG3-CP-TXRX", "port-qual": "roadm-internal", "administrative-state": "inService", "port-type": "Edge" } ], "equipment-state": "reserved-for-facility-available" } ], "protocols": { "lldp": { "global-config": { "adminStatus": "enable", "msgTxInterval": 20, "msgTxHoldMultiplier": 4 }, "port-config": [ { "ifName": "1GE-interface-1", "adminStatus": "txandrx" }, { "ifName": "1GE-interface-2", "adminStatus": "txandrx" } ] } }, "roadm-connections": [ { "connection-name": "DEG2-TTP-TXRX-SRG1-PP1-TXRX-1", "destination": { "dst-if": "SRG1-PP1-TXRX-nmc-1" }, "opticalControlMode": "power", "source": { "src-if": "DEG2-TTP-TXRX-nmc-1" } }, { "connection-name": "SRG1-PP1-TXRX-DEG2-TTP-TXRX-1", "destination": { "dst-if": "DEG2-TTP-TXRX-nmc-1" }, "opticalControlMode": "gainLoss", "target-output-power": -3, "source": { "src-if": "SRG1-PP1-TXRX-nmc-1" } } ] } } } }

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.