From: Gilles Thouenon Date: Fri, 15 Dec 2023 10:10:33 +0000 (+0100) Subject: Add new functional PCE test to check bug-772 X-Git-Tag: 9.0.0~69 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F22%2F109322%2F3;p=transportpce.git Add new functional PCE test to check bug-772 - Add a new pce functional test suite dedicated to check pce bugs. Check the fix of TRNSPRTPCE-772 bug - Add adequate topo and portmapping json input files JIRA: TRNSPRTPCE-772 Signed-off-by: Gilles Thouenon Change-Id: I6f9948865343ca15c238f2185134c7f35ccba374 --- diff --git a/tests/sample_configs/honeynode-topo-3-RDM.json b/tests/sample_configs/honeynode-topo-3-RDM.json new file mode 100644 index 000000000..8828e1835 --- /dev/null +++ b/tests/sample_configs/honeynode-topo-3-RDM.json @@ -0,0 +1,1074 @@ +{ + "ietf-network:network": [ + { + "network-id": "openroadm-topology", + "network-types": { + "org-openroadm-common-network:openroadm-common-network": {} + }, + "ietf-network-topology:link": [ + { + "link-id": "ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-SRG3", + "source-tp": "SRG3-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-A1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG3-CP-TXRX", + "dest-node": "ROADM-A1-SRG3" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG1", + "source-tp": "DEG1-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-TTP-TXRX", + "dest-node": "ROADM-A1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG1-DEG1-CTP-TXRXtoROADM-B1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-B1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-SRG1-SRG1-CP-TXRXtoROADM-B1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-C1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-C1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG1", + "source-tp": "DEG1-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-TTP-TXRX", + "dest-node": "ROADM-B1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX", + "org-openroadm-network-topology:OMS-attributes": { + "span": { + "spanloss-current": "12.0", + "auto-spanloss": true, + "spanloss-base": "11.4", + "engineered-spanloss": "12.2", + "link-concatenation": [ + { + "SRLG-Id": 0, + "SRLG-length": "100000.0", + "pmd": "0.5", + "fiber-type": "smf" + } + ] + } + } + }, + { + "link-id": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-A1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-C1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-A1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-A1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG3-CP-TXRX", + "dest-node": "ROADM-A1-SRG3" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-A1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG1", + "source-tp": "DEG1-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-TTP-TXRX", + "dest-node": "ROADM-A1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX", + "org-openroadm-network-topology:OMS-attributes": { + "span": { + "spanloss-current": "12.0", + "auto-spanloss": true, + "spanloss-base": "11.4", + "engineered-spanloss": "12.2", + "link-concatenation": [ + { + "SRLG-Id": 0, + "SRLG-length": "100000.0", + "pmd": "0.5", + "fiber-type": "smf" + } + ] + } + } + }, + { + "link-id": "ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-C1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-C1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-A1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG2-DEG2-CTP-TXRXtoROADM-B1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-B1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-SRG1-SRG1-CP-TXRXtoROADM-B1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-C1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-C1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG2-DEG2-TTP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG2", + "source-tp": "DEG2-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-TTP-TXRX", + "dest-node": "ROADM-C1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG2-DEG2-TTP-TXRXtoROADM-B1-DEG2-DEG2-TTP-TXRX", + "org-openroadm-network-topology:OMS-attributes": { + "span": { + "spanloss-current": "12.0", + "auto-spanloss": true, + "spanloss-base": "11.4", + "engineered-spanloss": "12.2", + "link-concatenation": [ + { + "SRLG-Id": 0, + "SRLG-length": "100000.0", + "pmd": "0.5", + "fiber-type": "smf" + } + ] + } + } + }, + { + "link-id": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-A1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", + "source": { + "source-node": "ROADM-A1-DEG2", + "source-tp": "DEG2-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-TTP-TXRX", + "dest-node": "ROADM-C1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG2-DEG2-TTP-TXRXtoROADM-B1-DEG2-DEG2-TTP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG2", + "source-tp": "DEG2-TTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ROADM-TO-ROADM", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-TTP-TXRX", + "dest-node": "ROADM-B1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG2-DEG2-TTP-TXRX", + "org-openroadm-network-topology:OMS-attributes": { + "span": { + "spanloss-current": "12.0", + "auto-spanloss": true, + "spanloss-base": "11.4", + "engineered-spanloss": "12.2", + "link-concatenation": [ + { + "SRLG-Id": 0, + "SRLG-length": "100000.0", + "pmd": "0.5", + "fiber-type": "smf" + } + ] + } + } + }, + { + "link-id": "ROADM-B1-SRG1-SRG1-CP-TXRXtoROADM-B1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-B1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-B1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG1-DEG1-CTP-TXRXtoROADM-B1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX", + "source": { + "source-node": "ROADM-C1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "DROP-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "SRG1-CP-TXRX", + "dest-node": "ROADM-C1-SRG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG2-DEG2-CTP-TXRXtoROADM-B1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG2", + "source-tp": "DEG2-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-B1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG1-DEG1-CTP-TXRXtoROADM-B1-DEG2-DEG2-CTP-TXRX" + }, + { + "link-id": "ROADM-B1-SRG1-SRG1-CP-TXRXtoROADM-B1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-B1-SRG1", + "source-tp": "SRG1-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-B1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG2-DEG2-CTP-TXRXtoROADM-B1-SRG1-SRG1-CP-TXRX" + }, + { + "link-id": "ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX", + "source": { + "source-node": "ROADM-A1-SRG3", + "source-tp": "SRG3-CP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "ADD-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG1-CTP-TXRX", + "dest-node": "ROADM-A1-DEG1" + }, + "org-openroadm-common-network:opposite-link": "ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX" + }, + { + "link-id": "ROADM-B1-DEG1-DEG1-CTP-TXRXtoROADM-B1-DEG2-DEG2-CTP-TXRX", + "source": { + "source-node": "ROADM-B1-DEG1", + "source-tp": "DEG1-CTP-TXRX" + }, + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:link-type": "EXPRESS-LINK", + "org-openroadm-common-network:administrative-state": "inService", + "destination": { + "dest-tp": "DEG2-CTP-TXRX", + "dest-node": "ROADM-B1-DEG2" + }, + "org-openroadm-common-network:opposite-link": "ROADM-B1-DEG2-DEG2-CTP-TXRXtoROADM-B1-DEG1-DEG1-CTP-TXRX" + } + ], + "node": [ + { + "node-id": "ROADM-B1-DEG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG1-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "DEG1-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeB" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-B1" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 1, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-A1-SRG3", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-network-topology:srg-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + }, + "org-openroadm-common-network:node-type": "SRG", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "SRG3-PP3-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG3-PP4-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG3-PP2-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG3-CP-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-CP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG3-PP1-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-A1" + }, + { + "network-ref": "clli-network", + "node-ref": "NodeA" + } + ] + }, + { + "node-id": "ROADM-B1-DEG2", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG2-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:tx-ttp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "tp-id": "DEG2-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:ctp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeB" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-B1" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 2, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-C1-SRG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-network-topology:srg-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + }, + "org-openroadm-common-network:node-type": "SRG", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "SRG1-PP4-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP1-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:pp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "tp-id": "SRG1-PP2-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP3-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-CP-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-CP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:cp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeC" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-C1" + } + ] + }, + { + "node-id": "ROADM-A1-SRG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-network-topology:srg-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + }, + "org-openroadm-common-network:node-type": "SRG", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "SRG1-PP4-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP1-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP2-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP3-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-CP-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-CP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-A1" + }, + { + "network-ref": "clli-network", + "node-ref": "NodeA" + } + ] + }, + { + "node-id": "ROADM-A1-DEG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG1-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "DEG1-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-A1" + }, + { + "network-ref": "clli-network", + "node-ref": "NodeA" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 1, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-A1-DEG2", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG2-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "DEG2-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-A1" + }, + { + "network-ref": "clli-network", + "node-ref": "NodeA" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 2, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-C1-DEG2", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG2-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:tx-ttp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "tp-id": "DEG2-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:ctp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeC" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-C1" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 2, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-C1-DEG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:node-type": "DEGREE", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "DEG1-CTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-CTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "DEG1-TTP-TXRX", + "org-openroadm-common-network:tp-type": "DEGREE-TXRX-TTP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeC" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-C1" + } + ], + "org-openroadm-network-topology:degree-attributes": { + "degree-number": 1, + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "node-id": "ROADM-B1-SRG1", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-network-topology:srg-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + }, + "org-openroadm-common-network:node-type": "SRG", + "org-openroadm-common-network:administrative-state": "inService", + "ietf-network-topology:termination-point": [ + { + "tp-id": "SRG1-PP4-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP1-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:pp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + }, + { + "tp-id": "SRG1-PP2-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-PP3-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-PP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService" + }, + { + "tp-id": "SRG1-CP-TXRX", + "org-openroadm-common-network:tp-type": "SRG-TXRX-CP", + "org-openroadm-common-network:operational-state": "inService", + "org-openroadm-common-network:administrative-state": "inService", + "org-openroadm-network-topology:cp-attributes": { + "avail-freq-maps": [ + { + "map-name": "cband", + "freq-map": "//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A", + "start-edge-freq": "191.325", + "freq-map-granularity": "6.25", + "effective-bits": 768 + } + ] + } + } + ], + "supporting-node": [ + { + "network-ref": "clli-network", + "node-ref": "NodeB" + }, + { + "network-ref": "openroadm-network", + "node-ref": "ROADM-B1" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/sample_configs/portmapping-3-RDM-221.json b/tests/sample_configs/portmapping-3-RDM-221.json new file mode 100644 index 000000000..fcc93e6a1 --- /dev/null +++ b/tests/sample_configs/portmapping-3-RDM-221.json @@ -0,0 +1,353 @@ +{ + "nodes": [ + { + "node-id": "ROADM-C1", + "node-info": { + "node-type": "rdm", + "node-model": "model2", + "openroadm-version": "2.2.1", + "node-clli": "NodeC", + "node-vendor": "vendorA", + "node-ip-address": "127.0.0.13" + }, + "cp-to-degree": [ + { + "circuit-pack-name": "1/0/ETH-PLUG", + "interface-name": "1GE-interface-1", + "degree-number": 1 + }, + { + "circuit-pack-name": "2/0/ETH-PLUG", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "2/0", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "1/0", + "interface-name": "1GE-interface-1", + "degree-number": 1 + } + ], + "mapping": [ + { + "logical-connection-point": "SRG1-PP3-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C3" + }, + { + "logical-connection-point": "SRG1-PP2-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C2" + }, + { + "logical-connection-point": "SRG1-PP4-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C4" + }, + { + "logical-connection-point": "SRG1-PP1-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C1" + }, + { + "logical-connection-point": "DEG1-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG1-TTP-TXRX", + "supporting-circuit-pack-name": "1/0", + "supporting-ots": "OTS-DEG1-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + }, + { + "logical-connection-point": "DEG2-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG2-TTP-TXRX", + "supporting-circuit-pack-name": "2/0", + "supporting-ots": "OTS-DEG2-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + } + ], + "mc-capabilities": [ + { + "mc-node-name": "DEG1-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "DEG2-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "SRG1-PP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + } + ] + }, + { + "node-id": "ROADM-A1", + "node-info": { + "node-type": "rdm", + "node-model": "model2", + "openroadm-version": "2.2.1", + "node-clli": "NodeA", + "node-vendor": "vendorA", + "node-ip-address": "127.0.0.11" + }, + "cp-to-degree": [ + { + "circuit-pack-name": "1/0/ETH-PLUG", + "interface-name": "1GE-interface-1", + "degree-number": 1 + }, + { + "circuit-pack-name": "2/0/ETH-PLUG", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "2/0", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "1/0", + "interface-name": "1GE-interface-1", + "degree-number": 1 + } + ], + "mapping": [ + { + "logical-connection-point": "SRG1-PP2-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C2" + }, + { + "logical-connection-point": "SRG1-PP4-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C4" + }, + { + "logical-connection-point": "SRG3-PP4-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "5/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C4" + }, + { + "logical-connection-point": "SRG3-PP3-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "5/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C3" + }, + { + "logical-connection-point": "DEG2-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG2-TTP-TXRX", + "supporting-circuit-pack-name": "2/0", + "supporting-ots": "OTS-DEG2-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + }, + { + "logical-connection-point": "SRG1-PP3-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C3" + }, + { + "logical-connection-point": "SRG3-PP2-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "5/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C2" + }, + { + "logical-connection-point": "SRG1-PP1-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C1" + }, + { + "logical-connection-point": "DEG1-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG1-TTP-TXRX", + "supporting-circuit-pack-name": "1/0", + "supporting-ots": "OTS-DEG1-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + }, + { + "logical-connection-point": "SRG3-PP1-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "5/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C1" + } + ], + "mc-capabilities": [ + { + "mc-node-name": "DEG2-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "DEG1-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "SRG3-PP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "SRG1-PP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + } + ] + }, + { + "node-id": "ROADM-B1", + "node-info": { + "node-type": "rdm", + "node-model": "model2", + "openroadm-version": "2.2.1", + "node-clli": "NodeB", + "node-vendor": "vendorA", + "node-ip-address": "127.0.0.12" + }, + "cp-to-degree": [ + { + "circuit-pack-name": "1/0/ETH-PLUG", + "interface-name": "1GE-interface-1", + "degree-number": 1 + }, + { + "circuit-pack-name": "2/0/ETH-PLUG", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "2/0", + "interface-name": "1GE-interface-2", + "degree-number": 2 + }, + { + "circuit-pack-name": "1/0", + "interface-name": "1GE-interface-1", + "degree-number": 1 + } + ], + "mapping": [ + { + "logical-connection-point": "SRG1-PP3-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C3" + }, + { + "logical-connection-point": "SRG1-PP2-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C2" + }, + { + "logical-connection-point": "SRG1-PP4-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C4" + }, + { + "logical-connection-point": "SRG1-PP1-TXRX", + "port-oper-state": "InService", + "supporting-circuit-pack-name": "3/0", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "C1" + }, + { + "logical-connection-point": "DEG1-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG1-TTP-TXRX", + "supporting-circuit-pack-name": "1/0", + "supporting-ots": "OTS-DEG1-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + }, + { + "logical-connection-point": "DEG2-TTP-TXRX", + "port-oper-state": "InService", + "supporting-oms": "OMS-DEG2-TTP-TXRX", + "supporting-circuit-pack-name": "2/0", + "supporting-ots": "OTS-DEG2-TTP-TXRX", + "port-direction": "bidirectional", + "port-admin-state": "InService", + "supporting-port": "L1" + } + ], + "mc-capabilities": [ + { + "mc-node-name": "DEG1-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "DEG2-TTP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + }, + { + "mc-node-name": "SRG1-PP", + "slot-width-granularity": "50.0", + "center-freq-granularity": "50.0" + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/transportpce_tests/pce/test04_pce_bug_fix.py b/tests/transportpce_tests/pce/test04_pce_bug_fix.py new file mode 100644 index 000000000..a8f1764ed --- /dev/null +++ b/tests/transportpce_tests/pce/test04_pce_bug_fix.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2023 Orange, Inc. and others. All rights reserved. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# pylint: disable=no-member +# pylint: disable=too-many-public-methods + +import unittest +import os +# pylint: disable=wrong-import-order +import sys +import time +import requests +sys.path.append('transportpce_tests/common/') +# pylint: disable=wrong-import-position +# pylint: disable=import-error +import test_utils # nopep8 + + +class TransportPCEtesting(unittest.TestCase): + path_computation_input_data = { + "service-name": "service-AB", + "resource-reserve": "true", + "service-handler-header": { + "request-id": "request1" + }, + "service-a-end": { + "service-rate": "100", + "clli": "NodeA", + "service-format": "OC", + "node-id": "ROADM-A1" + }, + "service-z-end": { + "service-rate": "100", + "clli": "NodeB", + "service-format": "OC", + "node-id": "ROADM-B1" + }, + "pce-routing-metric": "hop-count" + } + + openraodm_topo_with_service_BC = None + port_mapping_data = None + processes = None + + @classmethod + def setUpClass(cls): + # pylint: disable=bare-except + sample_files_parsed = False + time.sleep(10) + try: + TOPO_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), + "..", "..", "sample_configs", "honeynode-topo-3-RDM.json") + with open(TOPO_FILE, 'r', encoding='utf-8') as topo: + cls.openraodm_topo_with_service_BC = topo.read() + + PORT_MAPPING_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), + "..", "..", "sample_configs", "portmapping-3-RDM-221.json") + with open(PORT_MAPPING_FILE, 'r', encoding='utf-8') as port_mapping: + cls.port_mapping_data = port_mapping.read() + sample_files_parsed = True + except PermissionError as err: + print("Permission Error when trying to read sample files\n", err) + sys.exit(2) + except FileNotFoundError as err: + print("File Not found Error when trying to read sample files\n", err) + sys.exit(2) + except: + print("Unexpected error when trying to read sample files\n", sys.exc_info()[0]) + sys.exit(2) + finally: + if sample_files_parsed: + print("sample files content loaded") + + cls.processes = test_utils.start_tpce() + time.sleep(5) + + @classmethod + def tearDownClass(cls): + # clean datastores + test_utils.del_portmapping() + test_utils.del_ietf_network('openroadm-topology') + # pylint: disable=not-an-iterable + for process in cls.processes: + test_utils.shutdown_process(process) + print("all processes killed") + + def setUp(self): + time.sleep(1) + + def test_01_load_port_mapping(self): + response = test_utils.post_portmapping(self.port_mapping_data) + self.assertIn(response['status_code'], (requests.codes.created, requests.codes.no_content)) + time.sleep(1) + + def test_02_load_openroadm_topology(self): + response = test_utils.put_ietf_network('openroadm-topology', self.openraodm_topo_with_service_BC) + self.assertIn(response['status_code'], (requests.codes.ok, requests.codes.no_content)) + time.sleep(1) + + # Path Computation success + def test_03_path_computation_AB(self): + response = test_utils.transportpce_api_rpc_request('transportpce-pce', + 'path-computation-request', + self.path_computation_input_data) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertEqual('Path is calculated by PCE', + response['output']['configuration-response-common']['response-message']) + self.assertEqual( + 2, + response['output']['response-parameters']['path-description']['aToZ-direction']['aToZ-wavelength-number']) + self.assertEqual(196.025, + float(response['output']['response-parameters']['path-description']['aToZ-direction'] + ['aToZ-min-frequency'])) + self.assertEqual(196.075, + float(response['output']['response-parameters']['path-description']['aToZ-direction'] + ['aToZ-max-frequency'])) + self.assertEqual( + 2, + response['output']['response-parameters']['path-description']['zToA-direction']['zToA-wavelength-number']) + self.assertEqual(196.025, + float(response['output']['response-parameters']['path-description']['zToA-direction'] + ['zToA-min-frequency'])) + self.assertEqual(196.075, + float(response['output']['response-parameters']['path-description']['zToA-direction'] + ['zToA-max-frequency'])) + + +if __name__ == "__main__": + unittest.main(verbosity=2)