From 8dca05db31d3fa182a3119f5d35755a84e3c1a0c Mon Sep 17 00:00:00 2001 From: Ahmed Triki Date: Thu, 28 Jun 2018 11:22:34 +0200 Subject: [PATCH] Functional tests for the topology init - connects successively ROADMA, XPDRA ROADMB and ROADMC and then disconnect them - checks that the clli-network, the openroadm-network and the openroadm-topology are well updated and the appropriate links/nodes are well created/deleted after each creation/deletion operation - checks that a degree is not used by more than one link at the same time - tests 9 and 17 currently fail beause 4 TPs appear (XPDR1-CLIENT1, XPDR1-NETWORK1, XPDR1-CLIENT2 and XPDR1-NETWORK2) while only 2 TPs are defined in the sample-config-XPDRA.xml - tests 24, 33 and 37 currently fail because the link ROADM-to-ROADM is not automatically deleted. A new version of the code will be proposed by ATT where these links will be marked as up or down: Up to indicate the pce that the path is available for service Down to indicate that the path is not available JIRA: TRNSPRTPCE-4 Change-Id: Iba78869ad884fadd766f11c4c321ae1b4bdfcd64 Signed-off-by: Ahmed Triki --- tests/buildTesttool.sh | 22 + .../nodes_config/sample-config-ROADMA.xml | 5583 +++++++++++++++++ .../nodes_config/sample-config-ROADMB.xml | 5583 +++++++++++++++++ .../nodes_config/sample-config-ROADMC.xml | 5583 +++++++++++++++++ .../nodes_config/sample-config-XPDRA.xml | 770 +++ tests/tox.ini | 6 +- tests/transportpce_tests/test_topology.py | 1047 ++++ 7 files changed, 18592 insertions(+), 2 deletions(-) create mode 100755 tests/buildTesttool.sh create mode 100644 tests/sample_configs/nodes_config/sample-config-ROADMA.xml create mode 100644 tests/sample_configs/nodes_config/sample-config-ROADMB.xml create mode 100644 tests/sample_configs/nodes_config/sample-config-ROADMC.xml create mode 100644 tests/sample_configs/nodes_config/sample-config-XPDRA.xml create mode 100644 tests/transportpce_tests/test_topology.py diff --git a/tests/buildTesttool.sh b/tests/buildTesttool.sh new file mode 100755 index 000000000..97b1cca3d --- /dev/null +++ b/tests/buildTesttool.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# It may require to call git submodule update --init + +set -e + +yang="\ +mdsal/model/iana/iana-afn-safi/src/main/yang/iana-afn-safi@2013-07-04.yang \ +mdsal/model/ietf/ietf-inet-types-2013-07-15/src/main/yang/ietf-inet-types@2013-07-15.yang \ +mdsal/model/ietf/ietf-yang-types-20130715/src/main/yang/ietf-yang-types@2013-07-15.yang \ +netconf/netconf/models/ietf-netconf/src/main/yang/ietf-netconf@2011-06-01.yang \ +netconf/netconf/models/ietf-netconf-notifications/src/main/yang/ietf-netconf-notifications@2012-02-06.yang \ +netconf/netconf/models/ietf-netconf-notifications/src/main/yang/notifications@2008-07-14.yang" + +rm -rf netconf mdsal && git submodule update --init +(cd netconf && patch -p1 < ../netconf.patch && patch -p1 < ../get_connection_port_trail.patch) +(cd netconf/netconf/tools/netconf-testtool && mvn clean install -DskipTests) +rm -rf schemas && mkdir -p schemas +cp ordmodels_1.2.1/org-openroadm-* schemas +cp ${yang} schemas + +exit $? diff --git a/tests/sample_configs/nodes_config/sample-config-ROADMA.xml b/tests/sample_configs/nodes_config/sample-config-ROADMA.xml new file mode 100644 index 000000000..71dc4d45a --- /dev/null +++ b/tests/sample_configs/nodes_config/sample-config-ROADMA.xml @@ -0,0 +1,5583 @@ + + + + + ROADMA + 2 + rdm + NodeA + vendorA + 2 + 0002 + 127.0.0.11 + 28 + 127.0.0.20 + static + 127.0.0.11 + 28 + 127.0.0.20 + aa:aa:aa:aa:aa:aa + 1 + 2 + 9 + + + + openroadm + openroadm + sudo + + + + 1 + + + sdegE + pizza + XYZ + 2 + inService + vendorA + 1 + 00002 + xxxxx + degE + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 2/0 + + + + sdegW + pizza + XYZ + 3 + inService + vendorA + 1 + 00003 + xxxxx + degW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 3/0 + + + + ssrg + pizza + XYZ + 4 + inService + vendorA + 1 + 00004 + xxxxx + srgW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 4/0 + + + + 2/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss1 + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + OSC-SLOT + + 2/0/OSC-PLUG + + + ETH-PLUG + + 2/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHE + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss2 + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + OSC-SLOT + + 3/0/OSC-PLUG + + + ETH-PLUG + + 3/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHW + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 4/0 + ADDDROP + inService + vendorA + 16CX4D + cccccccc + inService + not-reserved-available + NORMAL + 4 + 0 + 0 + + C1 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP1 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C10 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP10 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C11 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP11 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C12 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP12 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C13 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP13 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C14 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP14 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C15 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP15 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C16 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP16 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C2 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP2 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C3 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP3 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C4 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP4 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C5 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP5 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C6 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP6 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C7 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP7 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C8 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP8 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C9 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP9 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + AD-DEG1 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG2 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG3 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG4 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + + oms-2/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + ots-2/0/0/L1 + 2/0 + L1 + + + oms-3/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + Link-1 + ots-3/0/0/L1 + 3/0 + L1 + + + ots-2/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 2/0 + L1 + + smf + 15 + 15 + + + + ots-3/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 3/0 + L1 + + smf + 10.0 + 10.0 + + + + eth-2/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 2/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + eth-3/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 3/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + + + enable + 20 + 4 + + + eth-2/0/ETH-PLUG + txandrx + + + eth-3/0/ETH-PLUG + txandrx + + + + eth-2/0/ETH-PLUG + ROADMC + ipV4 + 1.1.1.1 + ifalias + eth-3/0/ETH-PLUG + chassiscomponent + 1? + + + eth-3/0/ETH-PLUG + ROADMB + ipV4 + 1.1.1.1 + ifalias + eth-2/0/ETH-PLUG + chassiscomponent + 1? + + + + + + + 1 + 196.1 + 1528.77 + + + 2 + 196.05 + 1529.16 + + + 3 + 196.0 + 1529.55 + + + 4 + 195.95 + 1529.94 + + + 5 + 195.9 + 1530.33 + + + 6 + 195.85 + 1530.72 + + + 7 + 195.8 + 1531.11 + + + 8 + 195.75 + 1531.5 + + + 9 + 195.7 + 1531.89 + + + 10 + 195.65 + 1532.28 + + + 11 + 195.6 + 1532.67 + + + 12 + 195.55 + 1533.06 + + + 13 + 195.5 + 1533.45 + + + 14 + 195.45 + 1533.84 + + + 15 + 195.4 + 1534.23 + + + 16 + 195.35 + 1534.62 + + + 17 + 195.3 + 1535.01 + + + 18 + 195.25 + 1535.4 + + + 19 + 195.2 + 1535.79 + + + 20 + 195.15 + 1536.18 + + + 21 + 195.1 + 1536.57 + + + 22 + 195.05 + 1536.96 + + + 23 + 195.0 + 1537.35 + + + 24 + 194.95 + 1537.74 + + + 25 + 194.9 + 1538.13 + + + 26 + 194.85 + 1538.52 + + + 27 + 194.8 + 1538.91 + + + 28 + 194.75 + 1539.3 + + + 29 + 194.7 + 1539.69 + + + 30 + 194.65 + 1540.08 + + + 31 + 194.6 + 1540.47 + + + 32 + 194.55 + 1540.86 + + + 33 + 194.5 + 1541.25 + + + 34 + 194.45 + 1541.64 + + + 35 + 194.4 + 1542.03 + + + 36 + 194.35 + 1542.42 + + + 37 + 194.3 + 1542.81 + + + 38 + 194.25 + 1543.2 + + + 39 + 194.2 + 1543.59 + + + 40 + 194.15 + 1543.98 + + + 41 + 194.1 + 1544.37 + + + 42 + 194.05 + 1544.76 + + + 43 + 194.0 + 1545.15 + + + 44 + 193.95 + 1545.54 + + + 45 + 193.9 + 1545.93 + + + 46 + 193.85 + 1546.32 + + + 47 + 193.8 + 1546.71 + + + 48 + 193.75 + 1547.1 + + + 49 + 193.7 + 1547.49 + + + 50 + 193.65 + 1547.88 + + + 51 + 193.6 + 1548.27 + + + 52 + 193.55 + 1548.66 + + + 53 + 193.5 + 1549.05 + + + 54 + 193.45 + 1549.44 + + + 55 + 193.4 + 1549.83 + + + 56 + 193.35 + 1550.22 + + + 57 + 193.3 + 1550.61 + + + 58 + 193.25 + 1551.0 + + + 59 + 193.2 + 1551.39 + + + 60 + 193.15 + 1551.78 + + + 61 + 193.1 + 1552.17 + + + 62 + 193.05 + 1552.56 + + + 63 + 193.0 + 1552.95 + + + 64 + 192.95 + 1553.34 + + + 65 + 192.9 + 1553.73 + + + 66 + 192.85 + 1554.12 + + + 67 + 192.8 + 1554.51 + + + 68 + 192.75 + 1554.9 + + + 69 + 192.7 + 1555.29 + + + 70 + 192.65 + 1555.68 + + + 71 + 192.6 + 1556.07 + + + 72 + 192.55 + 1556.46 + + + 73 + 192.5 + 1556.85 + + + 74 + 192.45 + 1557.24 + + + 75 + 192.4 + 1557.63 + + + 76 + 192.35 + 1558.02 + + + 77 + 192.3 + 1558.41 + + + 78 + 192.25 + 1558.8 + + + 79 + 192.2 + 1559.19 + + + 80 + 192.15 + 1559.58 + + + 81 + 192.1 + 1559.97 + + + 82 + 192.05 + 1560.36 + + + 83 + 192.0 + 1560.75 + + + 84 + 191.95 + 1561.14 + + + 85 + 191.9 + 1561.53 + + + 86 + 191.85 + 1561.92 + + + 87 + 191.8 + 1562.31 + + + 88 + 191.75 + 1562.7 + + + 89 + 191.7 + 1563.09 + + + 90 + 191.65 + 1563.48 + + + 91 + 191.6 + 1563.87 + + + 92 + 191.55 + 1564.26 + + + 93 + 191.5 + 1564.65 + + + 94 + 191.45 + 1565.04 + + + 95 + 191.4 + 1565.43 + + + 96 + 191.35 + 1565.82 + + + + 2/0/C1-to-2/0/L1 + + 2/0 + C1 + + + 2/0 + L1 + + + + 2/0/C2-to-2/0/L1 + + 2/0 + C2 + + + 2/0 + L1 + + + + 2/0/C3-to-2/0/L1 + + 2/0 + C3 + + + 2/0 + L1 + + + + 2/0/C4-to-2/0/L1 + + 2/0 + C4 + + + 2/0 + L1 + + + + 2/0/C5-to-2/0/L1 + + 2/0 + C5 + + + 2/0 + L1 + + + + 2/0/C6-to-2/0/L1 + + 2/0 + C6 + + + 2/0 + L1 + + + + 2/0/C7-to-2/0/L1 + + 2/0 + C7 + + + 2/0 + L1 + + + + 2/0/C8-to-2/0/L1 + + 2/0 + C8 + + + 2/0 + L1 + + + + 2/0/C9-to-2/0/L1 + + 2/0 + C9 + + + 2/0 + L1 + + + + 2/0/L1-to-2/0/C1 + + 2/0 + L1 + + + 2/0 + C1 + + + + 2/0/L1-to-2/0/C2 + + 2/0 + L1 + + + 2/0 + C2 + + + + 2/0/L1-to-2/0/C3 + + 2/0 + L1 + + + 2/0 + C3 + + + + 2/0/L1-to-2/0/C4 + + 2/0 + L1 + + + 2/0 + C4 + + + + 2/0/L1-to-2/0/C5 + + 2/0 + L1 + + + 2/0 + C5 + + + + 2/0/L1-to-2/0/C6 + + 2/0 + L1 + + + 2/0 + C6 + + + + 2/0/L1-to-2/0/C7 + + 2/0 + L1 + + + 2/0 + C7 + + + + 2/0/L1-to-2/0/C8 + + 2/0 + L1 + + + 2/0 + C8 + + + + 2/0/L1-to-2/0/C9 + + 2/0 + L1 + + + 2/0 + C9 + + + + 3/0/C1-to-3/0/L1 + + 3/0 + C1 + + + 3/0 + L1 + + + + 3/0/C2-to-3/0/L1 + + 3/0 + C2 + + + 3/0 + L1 + + + + 3/0/C3-to-3/0/L1 + + 3/0 + C3 + + + 3/0 + L1 + + + + 3/0/C4-to-3/0/L1 + + 3/0 + C4 + + + 3/0 + L1 + + + + 3/0/C5-to-3/0/L1 + + 3/0 + C5 + + + 3/0 + L1 + + + + 3/0/C6-to-3/0/L1 + + 3/0 + C6 + + + 3/0 + L1 + + + + 3/0/C7-to-3/0/L1 + + 3/0 + C7 + + + 3/0 + L1 + + + + 3/0/C8-to-3/0/L1 + + 3/0 + C8 + + + 3/0 + L1 + + + + 3/0/C9-to-3/0/L1 + + 3/0 + C9 + + + 3/0 + L1 + + + + 3/0/L1-to-3/0/C1 + + 3/0 + L1 + + + 3/0 + C1 + + + + 3/0/L1-to-3/0/C2 + + 3/0 + L1 + + + 3/0 + C2 + + + + 3/0/L1-to-3/0/C3 + + 3/0 + L1 + + + 3/0 + C3 + + + + 3/0/L1-to-3/0/C4 + + 3/0 + L1 + + + 3/0 + C4 + + + + 3/0/L1-to-3/0/C5 + + 3/0 + L1 + + + 3/0 + C5 + + + + 3/0/L1-to-3/0/C6 + + 3/0 + L1 + + + 3/0 + C6 + + + + 3/0/L1-to-3/0/C7 + + 3/0 + L1 + + + 3/0 + C7 + + + + 3/0/L1-to-3/0/C8 + + 3/0 + L1 + + + 3/0 + C8 + + + + 3/0/L1-to-3/0/C9 + + 3/0 + L1 + + + 3/0 + C9 + + + + 4/0/C1-to-4/0/ADD-DEG1 + + 4/0 + C1 + + + 4/0 + ADD-DEG1 + + + + 4/0/C1-to-4/0/ADD-DEG2 + + 4/0 + C1 + + + 4/0 + ADD-DEG2 + + + + 4/0/C1-to-4/0/ADD-DEG3 + + 4/0 + C1 + + + 4/0 + ADD-DEG3 + + + + 4/0/C1-to-4/0/ADD-DEG4 + + 4/0 + C1 + + + 4/0 + ADD-DEG4 + + + + 4/0/C2-to-4/0/ADD-DEG1 + + 4/0 + C2 + + + 4/0 + ADD-DEG1 + + + + 4/0/C2-to-4/0/ADD-DEG2 + + 4/0 + C2 + + + 4/0 + ADD-DEG2 + + + + 4/0/C2-to-4/0/ADD-DEG3 + + 4/0 + C2 + + + 4/0 + ADD-DEG3 + + + + 4/0/C2-to-4/0/ADD-DEG4 + + 4/0 + C2 + + + 4/0 + ADD-DEG4 + + + + 4/0/C3-to-4/0/ADD-DEG1 + + 4/0 + C3 + + + 4/0 + ADD-DEG1 + + + + 4/0/C3-to-4/0/ADD-DEG2 + + 4/0 + C3 + + + 4/0 + ADD-DEG2 + + + + 4/0/C3-to-4/0/ADD-DEG3 + + 4/0 + C3 + + + 4/0 + ADD-DEG3 + + + + 4/0/C3-to-4/0/ADD-DEG4 + + 4/0 + C3 + + + 4/0 + ADD-DEG4 + + + + 4/0/C4-to-4/0/ADD-DEG1 + + 4/0 + C4 + + + 4/0 + ADD-DEG1 + + + + 4/0/C4-to-4/0/ADD-DEG2 + + 4/0 + C4 + + + 4/0 + ADD-DEG2 + + + + 4/0/C4-to-4/0/ADD-DEG3 + + 4/0 + C4 + + + 4/0 + ADD-DEG3 + + + + 4/0/C4-to-4/0/ADD-DEG4 + + 4/0 + C4 + + + 4/0 + ADD-DEG4 + + + + 4/0/C5-to-4/0/ADD-DEG1 + + 4/0 + C5 + + + 4/0 + ADD-DEG1 + + + + 4/0/C5-to-4/0/ADD-DEG2 + + 4/0 + C5 + + + 4/0 + ADD-DEG2 + + + + 4/0/C5-to-4/0/ADD-DEG3 + + 4/0 + C5 + + + 4/0 + ADD-DEG3 + + + + 4/0/C5-to-4/0/ADD-DEG4 + + 4/0 + C5 + + + 4/0 + ADD-DEG4 + + + + 4/0/C6-to-4/0/ADD-DEG1 + + 4/0 + C6 + + + 4/0 + ADD-DEG1 + + + + 4/0/C6-to-4/0/ADD-DEG2 + + 4/0 + C6 + + + 4/0 + ADD-DEG2 + + + + 4/0/C6-to-4/0/ADD-DEG3 + + 4/0 + C6 + + + 4/0 + ADD-DEG3 + + + + 4/0/C6-to-4/0/ADD-DEG4 + + 4/0 + C6 + + + 4/0 + ADD-DEG4 + + + + 4/0/C7-to-4/0/ADD-DEG1 + + 4/0 + C7 + + + 4/0 + ADD-DEG1 + + + + 4/0/C7-to-4/0/ADD-DEG2 + + 4/0 + C7 + + + 4/0 + ADD-DEG2 + + + + 4/0/C7-to-4/0/ADD-DEG3 + + 4/0 + C7 + + + 4/0 + ADD-DEG3 + + + + 4/0/C7-to-4/0/ADD-DEG4 + + 4/0 + C7 + + + 4/0 + ADD-DEG4 + + + + 4/0/C8-to-4/0/ADD-DEG1 + + 4/0 + C8 + + + 4/0 + ADD-DEG1 + + + + 4/0/C8-to-4/0/ADD-DEG2 + + 4/0 + C8 + + + 4/0 + ADD-DEG2 + + + + 4/0/C8-to-4/0/ADD-DEG3 + + 4/0 + C8 + + + 4/0 + ADD-DEG3 + + + + 4/0/C8-to-4/0/ADD-DEG4 + + 4/0 + C8 + + + 4/0 + ADD-DEG4 + + + + 4/0/C9-to-4/0/ADD-DEG1 + + 4/0 + C9 + + + 4/0 + ADD-DEG1 + + + + 4/0/C9-to-4/0/ADD-DEG2 + + 4/0 + C9 + + + 4/0 + ADD-DEG2 + + + + 4/0/C9-to-4/0/ADD-DEG3 + + 4/0 + C9 + + + 4/0 + ADD-DEG3 + + + + 4/0/C9-to-4/0/ADD-DEG4 + + 4/0 + C9 + + + 4/0 + ADD-DEG4 + + + + 4/0/C10-to-4/0/ADD-DEG1 + + 4/0 + C10 + + + 4/0 + ADD-DEG1 + + + + 4/0/C10-to-4/0/ADD-DEG2 + + 4/0 + C10 + + + 4/0 + ADD-DEG2 + + + + 4/0/C10-to-4/0/ADD-DEG3 + + 4/0 + C10 + + + 4/0 + ADD-DEG3 + + + + 4/0/C10-to-4/0/ADD-DEG4 + + 4/0 + C10 + + + 4/0 + ADD-DEG4 + + + + 4/0/C11-to-4/0/ADD-DEG1 + + 4/0 + C11 + + + 4/0 + ADD-DEG1 + + + + 4/0/C11-to-4/0/ADD-DEG2 + + 4/0 + C11 + + + 4/0 + ADD-DEG2 + + + + 4/0/C11-to-4/0/ADD-DEG3 + + 4/0 + C11 + + + 4/0 + ADD-DEG3 + + + + 4/0/C11-to-4/0/ADD-DEG4 + + 4/0 + C11 + + + 4/0 + ADD-DEG4 + + + + 4/0/C12-to-4/0/ADD-DEG1 + + 4/0 + C12 + + + 4/0 + ADD-DEG1 + + + + 4/0/C12-to-4/0/ADD-DEG2 + + 4/0 + C12 + + + 4/0 + ADD-DEG2 + + + + 4/0/C12-to-4/0/ADD-DEG3 + + 4/0 + C12 + + + 4/0 + ADD-DEG3 + + + + 4/0/C12-to-4/0/ADD-DEG4 + + 4/0 + C12 + + + 4/0 + ADD-DEG4 + + + + 4/0/C13-to-4/0/ADD-DEG1 + + 4/0 + C13 + + + 4/0 + ADD-DEG1 + + + + 4/0/C13-to-4/0/ADD-DEG2 + + 4/0 + C13 + + + 4/0 + ADD-DEG2 + + + + 4/0/C13-to-4/0/ADD-DEG3 + + 4/0 + C13 + + + 4/0 + ADD-DEG3 + + + + 4/0/C13-to-4/0/ADD-DEG4 + + 4/0 + C13 + + + 4/0 + ADD-DEG4 + + + + 4/0/C14-to-4/0/ADD-DEG1 + + 4/0 + C14 + + + 4/0 + ADD-DEG1 + + + + 4/0/C14-to-4/0/ADD-DEG2 + + 4/0 + C14 + + + 4/0 + ADD-DEG2 + + + + 4/0/C14-to-4/0/ADD-DEG3 + + 4/0 + C14 + + + 4/0 + ADD-DEG3 + + + + 4/0/C14-to-4/0/ADD-DEG4 + + 4/0 + C14 + + + 4/0 + ADD-DEG4 + + + + 4/0/C15-to-4/0/ADD-DEG1 + + 4/0 + C15 + + + 4/0 + ADD-DEG1 + + + + 4/0/C15-to-4/0/ADD-DEG2 + + 4/0 + C15 + + + 4/0 + ADD-DEG2 + + + + 4/0/C15-to-4/0/ADD-DEG3 + + 4/0 + C15 + + + 4/0 + ADD-DEG3 + + + + 4/0/C15-to-4/0/ADD-DEG4 + + 4/0 + C15 + + + 4/0 + ADD-DEG4 + + + + 4/0/C16-to-4/0/ADD-DEG1 + + 4/0 + C16 + + + 4/0 + ADD-DEG1 + + + + 4/0/C16-to-4/0/ADD-DEG2 + + 4/0 + C16 + + + 4/0 + ADD-DEG2 + + + + 4/0/C16-to-4/0/ADD-DEG3 + + 4/0 + C16 + + + 4/0 + ADD-DEG3 + + + + 4/0/C16-to-4/0/ADD-DEG4 + + 4/0 + C16 + + + 4/0 + ADD-DEG4 + + + + 4/0/ADD-DEG1-to-4/0/C1 + + 4/0 + ADD-DEG1 + + + 4/0 + C1 + + + + 4/0/ADD-DEG1-to-4/0/C2 + + 4/0 + ADD-DEG1 + + + 4/0 + C2 + + + + 4/0/ADD-DEG1-to-4/0/C3 + + 4/0 + ADD-DEG1 + + + 4/0 + C3 + + + + 4/0/ADD-DEG1-to-4/0/C4 + + 4/0 + ADD-DEG1 + + + 4/0 + C4 + + + + 4/0/ADD-DEG1-to-4/0/C5 + + 4/0 + ADD-DEG1 + + + 4/0 + C5 + + + + 4/0/ADD-DEG1-to-4/0/C6 + + 4/0 + ADD-DEG1 + + + 4/0 + C6 + + + + 4/0/ADD-DEG1-to-4/0/C7 + + 4/0 + ADD-DEG1 + + + 4/0 + C7 + + + + 4/0/ADD-DEG1-to-4/0/C8 + + 4/0 + ADD-DEG1 + + + 4/0 + C8 + + + + 4/0/ADD-DEG1-to-4/0/C9 + + 4/0 + ADD-DEG1 + + + 4/0 + C9 + + + + 4/0/ADD-DEG1-to-4/0/C10 + + 4/0 + ADD-DEG1 + + + 4/0 + C10 + + + + 4/0/ADD-DEG1-to-4/0/C11 + + 4/0 + ADD-DEG1 + + + 4/0 + C11 + + + + 4/0/ADD-DEG1-to-4/0/C12 + + 4/0 + ADD-DEG1 + + + 4/0 + C12 + + + + 4/0/ADD-DEG1-to-4/0/C13 + + 4/0 + ADD-DEG1 + + + 4/0 + C13 + + + + 4/0/ADD-DEG1-to-4/0/C14 + + 4/0 + ADD-DEG1 + + + 4/0 + C14 + + + + 4/0/ADD-DEG1-to-4/0/C15 + + 4/0 + ADD-DEG1 + + + 4/0 + C15 + + + + 4/0/ADD-DEG1-to-4/0/C16 + + 4/0 + ADD-DEG1 + + + 4/0 + C16 + + + + 4/0/ADD-DEG2-to-4/0/C1 + + 4/0 + ADD-DEG2 + + + 4/0 + C1 + + + + 4/0/ADD-DEG2-to-4/0/C2 + + 4/0 + ADD-DEG2 + + + 4/0 + C2 + + + + 4/0/ADD-DEG2-to-4/0/C3 + + 4/0 + ADD-DEG2 + + + 4/0 + C3 + + + + 4/0/ADD-DEG2-to-4/0/C4 + + 4/0 + ADD-DEG2 + + + 4/0 + C4 + + + + 4/0/ADD-DEG2-to-4/0/C5 + + 4/0 + ADD-DEG2 + + + 4/0 + C5 + + + + 4/0/ADD-DEG2-to-4/0/C6 + + 4/0 + ADD-DEG2 + + + 4/0 + C6 + + + + 4/0/ADD-DEG2-to-4/0/C7 + + 4/0 + ADD-DEG2 + + + 4/0 + C7 + + + + 4/0/ADD-DEG2-to-4/0/C8 + + 4/0 + ADD-DEG2 + + + 4/0 + C8 + + + + 4/0/ADD-DEG2-to-4/0/C9 + + 4/0 + ADD-DEG2 + + + 4/0 + C9 + + + + 4/0/ADD-DEG2-to-4/0/C10 + + 4/0 + ADD-DEG2 + + + 4/0 + C10 + + + + 4/0/ADD-DEG2-to-4/0/C11 + + 4/0 + ADD-DEG2 + + + 4/0 + C11 + + + + 4/0/ADD-DEG2-to-4/0/C12 + + 4/0 + ADD-DEG2 + + + 4/0 + C12 + + + + 4/0/ADD-DEG2-to-4/0/C13 + + 4/0 + ADD-DEG2 + + + 4/0 + C13 + + + + 4/0/ADD-DEG2-to-4/0/C14 + + 4/0 + ADD-DEG2 + + + 4/0 + C14 + + + + 4/0/ADD-DEG2-to-4/0/C15 + + 4/0 + ADD-DEG2 + + + 4/0 + C15 + + + + 4/0/ADD-DEG2-to-4/0/C16 + + 4/0 + ADD-DEG2 + + + 4/0 + C16 + + + + 4/0/ADD-DEG3-to-4/0/C1 + + 4/0 + ADD-DEG3 + + + 4/0 + C1 + + + + 4/0/ADD-DEG3-to-4/0/C2 + + 4/0 + ADD-DEG3 + + + 4/0 + C2 + + + + 4/0/ADD-DEG3-to-4/0/C3 + + 4/0 + ADD-DEG3 + + + 4/0 + C3 + + + + 4/0/ADD-DEG3-to-4/0/C4 + + 4/0 + ADD-DEG3 + + + 4/0 + C4 + + + + 4/0/ADD-DEG3-to-4/0/C5 + + 4/0 + ADD-DEG3 + + + 4/0 + C5 + + + + 4/0/ADD-DEG3-to-4/0/C6 + + 4/0 + ADD-DEG3 + + + 4/0 + C6 + + + + 4/0/ADD-DEG3-to-4/0/C7 + + 4/0 + ADD-DEG3 + + + 4/0 + C7 + + + + 4/0/ADD-DEG3-to-4/0/C8 + + 4/0 + ADD-DEG3 + + + 4/0 + C8 + + + + 4/0/ADD-DEG3-to-4/0/C9 + + 4/0 + ADD-DEG3 + + + 4/0 + C9 + + + + 4/0/ADD-DEG3-to-4/0/C10 + + 4/0 + ADD-DEG3 + + + 4/0 + C10 + + + + 4/0/ADD-DEG3-to-4/0/C11 + + 4/0 + ADD-DEG3 + + + 4/0 + C11 + + + + 4/0/ADD-DEG3-to-4/0/C12 + + 4/0 + ADD-DEG3 + + + 4/0 + C12 + + + + 4/0/ADD-DEG3-to-4/0/C13 + + 4/0 + ADD-DEG3 + + + 4/0 + C13 + + + + 4/0/ADD-DEG3-to-4/0/C14 + + 4/0 + ADD-DEG3 + + + 4/0 + C14 + + + + 4/0/ADD-DEG3-to-4/0/C15 + + 4/0 + ADD-DEG3 + + + 4/0 + C15 + + + + 4/0/ADD-DEG3-to-4/0/C16 + + 4/0 + ADD-DEG3 + + + 4/0 + C16 + + + + 4/0/ADD-DEG4-to-4/0/C1 + + 4/0 + ADD-DEG4 + + + 4/0 + C1 + + + + 4/0/ADD-DEG4-to-4/0/C2 + + 4/0 + ADD-DEG4 + + + 4/0 + C2 + + + + 4/0/ADD-DEG4-to-4/0/C3 + + 4/0 + ADD-DEG4 + + + 4/0 + C3 + + + + 4/0/ADD-DEG4-to-4/0/C4 + + 4/0 + ADD-DEG4 + + + 4/0 + C4 + + + + 4/0/ADD-DEG4-to-4/0/C5 + + 4/0 + ADD-DEG4 + + + 4/0 + C5 + + + + 4/0/ADD-DEG4-to-4/0/C6 + + 4/0 + ADD-DEG4 + + + 4/0 + C6 + + + + 4/0/ADD-DEG4-to-4/0/C7 + + 4/0 + ADD-DEG4 + + + 4/0 + C7 + + + + 4/0/ADD-DEG4-to-4/0/C8 + + 4/0 + ADD-DEG4 + + + 4/0 + C8 + + + + 4/0/ADD-DEG4-to-4/0/C9 + + 4/0 + ADD-DEG4 + + + 4/0 + C9 + + + + 4/0/ADD-DEG4-to-4/0/C10 + + 4/0 + ADD-DEG4 + + + 4/0 + C10 + + + + 4/0/ADD-DEG4-to-4/0/C11 + + 4/0 + ADD-DEG4 + + + 4/0 + C11 + + + + 4/0/ADD-DEG4-to-4/0/C12 + + 4/0 + ADD-DEG4 + + + 4/0 + C12 + + + + 4/0/ADD-DEG4-to-4/0/C13 + + 4/0 + ADD-DEG4 + + + 4/0 + C13 + + + + 4/0/ADD-DEG4-to-4/0/C14 + + 4/0 + ADD-DEG4 + + + 4/0 + C14 + + + + 4/0/ADD-DEG4-to-4/0/C15 + + 4/0 + ADD-DEG4 + + + 4/0 + C15 + + + + 4/0/ADD-DEG4-to-4/0/C16 + + 4/0 + ADD-DEG4 + + + 4/0 + C16 + + + + phylink-1 + + 2/0 + C1 + + + 4/0 + ADD-DEG1 + + + + phylink-2 + + 4/0 + ADD-DEG1 + + + 2/0 + C1 + + + + phylink-3 + + 3/0 + C1 + + + 4/0 + ADD-DEG2 + + + + phylink-4 + + 4/0 + ADD-DEG2 + + + 3/0 + C1 + + + + phylink-5 + + 2/0 + C9 + + + 3/0 + C9 + + + + phylink-6 + + 3/0 + C9 + + + 2/0 + C9 + + + + 1 + 96 + + 1 + 2/0 + + + 2 + 2/0/OSC-PLUG + + + 3 + 2/0/ETH-PLUG + + + 1 + 2/0 + L1 + + + + 2 + 96 + + 1 + 3/0 + + + 2 + 3/0/OSC-PLUG + + + 3 + 3/0/ETH-PLUG + + + 1 + 3/0 + L1 + + + + 1 + 16 + onePerSRG + + 1 + 4/0 + + + + 1 + + 2/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 2 + + 4/0 + C1 + + + 2/0 + E1 + + + + 3 + + 4/0 + C2 + + + 2/0 + E1 + + + + 4 + + 4/0 + C3 + + + 2/0 + E1 + + + + 5 + + 4/0 + C4 + + + 2/0 + E1 + + + + 6 + + 4/0 + C5 + + + 2/0 + E1 + + + + 7 + + 4/0 + C6 + + + 2/0 + E1 + + + + 8 + + 4/0 + C7 + + + 2/0 + E1 + + + + 9 + + 4/0 + C8 + + + 2/0 + E1 + + + + 10 + + 4/0 + C9 + + + 2/0 + E1 + + + + 11 + + 4/0 + C10 + + + 2/0 + E1 + + + + 12 + + 4/0 + C11 + + + 2/0 + E1 + + + + 13 + + 4/0 + C12 + + + 2/0 + E1 + + + + 14 + + 4/0 + C13 + + + 2/0 + E1 + + + + 15 + + 4/0 + C14 + + + 2/0 + E1 + + + + 16 + + 4/0 + C15 + + + 2/0 + E1 + + + + 17 + + 4/0 + C16 + + + 2/0 + E1 + + + + 18 + + 3/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 19 + + 4/0 + C1 + + + 3/0 + E1 + + + + 20 + + 4/0 + C2 + + + 3/0 + E1 + + + + 21 + + 4/0 + C3 + + + 3/0 + E1 + + + + 22 + + 4/0 + C4 + + + 3/0 + E1 + + + + 23 + + 4/0 + C5 + + + 3/0 + E1 + + + + 24 + + 4/0 + C6 + + + 3/0 + E1 + + + + 25 + + 4/0 + C7 + + + 3/0 + E1 + + + + 26 + + 4/0 + C8 + + + 3/0 + E1 + + + + 27 + + 4/0 + C9 + + + 3/0 + E1 + + + + 28 + + 4/0 + C10 + + + 3/0 + E1 + + + + 29 + + 4/0 + C11 + + + 3/0 + E1 + + + + 30 + + 4/0 + C12 + + + 3/0 + E1 + + + + 31 + + 4/0 + C13 + + + 3/0 + E1 + + + + 32 + + 4/0 + C14 + + + 3/0 + E1 + + + + 33 + + 4/0 + C15 + + + 3/0 + E1 + + + + 34 + + 4/0 + C16 + + + 3/0 + E1 + + + + diff --git a/tests/sample_configs/nodes_config/sample-config-ROADMB.xml b/tests/sample_configs/nodes_config/sample-config-ROADMB.xml new file mode 100644 index 000000000..dba973cbf --- /dev/null +++ b/tests/sample_configs/nodes_config/sample-config-ROADMB.xml @@ -0,0 +1,5583 @@ + + + + + ROADMB + 2 + rdm + NodeB + vendorA + 2 + 0002 + 127.0.0.12 + 28 + 127.0.0.20 + static + 127.0.0.12 + 28 + 127.0.0.20 + bb:bb:bb:bb:bb:bb + 1 + 2 + 9 + + + + openroadm + openroadm + sudo + + + + 1 + + + sdegE + pizza + XYZ + 2 + inService + vendorA + 1 + 00002 + xxxxx + degE + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 2/0 + + + + sdegW + pizza + XYZ + 3 + inService + vendorA + 1 + 00003 + xxxxx + degW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 3/0 + + + + ssrg + pizza + XYZ + 4 + inService + vendorA + 1 + 00004 + xxxxx + srgW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 4/0 + + + + 2/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss1 + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + OSC-SLOT + + 2/0/OSC-PLUG + + + ETH-PLUG + + 2/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHE + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss2 + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + OSC-SLOT + + 3/0/OSC-PLUG + + + ETH-PLUG + + 3/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHW + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 4/0 + ADDDROP + inService + vendorA + 16CX4D + cccccccc + inService + not-reserved-available + NORMAL + 4 + 0 + 0 + + C1 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP1 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C10 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP10 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C11 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP11 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C12 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP12 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C13 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP13 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C14 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP14 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C15 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP15 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C16 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP16 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C2 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP2 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C3 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP3 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C4 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP4 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C5 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP5 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C6 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP6 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C7 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP7 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C8 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP8 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C9 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP9 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + AD-DEG1 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG2 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG3 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG4 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + + oms-2/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + ots-2/0/0/L1 + 2/0 + L1 + + + oms-3/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + Link-1 + ots-3/0/0/L1 + 3/0 + L1 + + + ots-2/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 2/0 + L1 + + smf + 10 + 10 + + + + ots-3/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 3/0 + L1 + + smf + 25.0 + 25.0 + + + + eth-2/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 2/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + eth-3/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 3/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + + + enable + 20 + 4 + + + eth-2/0/ETH-PLUG + txandrx + + + eth-3/0/ETH-PLUG + txandrx + + + + eth-2/0/ETH-PLUG + ROADMA + ipV4 + 1.1.1.1 + ifalias + eth-3/0/ETH-PLUG + chassiscomponent + 1? + + + eth-3/0/ETH-PLUG + ROADMC + ipV4 + 1.1.1.1 + ifalias + eth-2/0/ETH-PLUG + chassiscomponent + 1? + + + + + + + 1 + 196.1 + 1528.77 + + + 2 + 196.05 + 1529.16 + + + 3 + 196.0 + 1529.55 + + + 4 + 195.95 + 1529.94 + + + 5 + 195.9 + 1530.33 + + + 6 + 195.85 + 1530.72 + + + 7 + 195.8 + 1531.11 + + + 8 + 195.75 + 1531.5 + + + 9 + 195.7 + 1531.89 + + + 10 + 195.65 + 1532.28 + + + 11 + 195.6 + 1532.67 + + + 12 + 195.55 + 1533.06 + + + 13 + 195.5 + 1533.45 + + + 14 + 195.45 + 1533.84 + + + 15 + 195.4 + 1534.23 + + + 16 + 195.35 + 1534.62 + + + 17 + 195.3 + 1535.01 + + + 18 + 195.25 + 1535.4 + + + 19 + 195.2 + 1535.79 + + + 20 + 195.15 + 1536.18 + + + 21 + 195.1 + 1536.57 + + + 22 + 195.05 + 1536.96 + + + 23 + 195.0 + 1537.35 + + + 24 + 194.95 + 1537.74 + + + 25 + 194.9 + 1538.13 + + + 26 + 194.85 + 1538.52 + + + 27 + 194.8 + 1538.91 + + + 28 + 194.75 + 1539.3 + + + 29 + 194.7 + 1539.69 + + + 30 + 194.65 + 1540.08 + + + 31 + 194.6 + 1540.47 + + + 32 + 194.55 + 1540.86 + + + 33 + 194.5 + 1541.25 + + + 34 + 194.45 + 1541.64 + + + 35 + 194.4 + 1542.03 + + + 36 + 194.35 + 1542.42 + + + 37 + 194.3 + 1542.81 + + + 38 + 194.25 + 1543.2 + + + 39 + 194.2 + 1543.59 + + + 40 + 194.15 + 1543.98 + + + 41 + 194.1 + 1544.37 + + + 42 + 194.05 + 1544.76 + + + 43 + 194.0 + 1545.15 + + + 44 + 193.95 + 1545.54 + + + 45 + 193.9 + 1545.93 + + + 46 + 193.85 + 1546.32 + + + 47 + 193.8 + 1546.71 + + + 48 + 193.75 + 1547.1 + + + 49 + 193.7 + 1547.49 + + + 50 + 193.65 + 1547.88 + + + 51 + 193.6 + 1548.27 + + + 52 + 193.55 + 1548.66 + + + 53 + 193.5 + 1549.05 + + + 54 + 193.45 + 1549.44 + + + 55 + 193.4 + 1549.83 + + + 56 + 193.35 + 1550.22 + + + 57 + 193.3 + 1550.61 + + + 58 + 193.25 + 1551.0 + + + 59 + 193.2 + 1551.39 + + + 60 + 193.15 + 1551.78 + + + 61 + 193.1 + 1552.17 + + + 62 + 193.05 + 1552.56 + + + 63 + 193.0 + 1552.95 + + + 64 + 192.95 + 1553.34 + + + 65 + 192.9 + 1553.73 + + + 66 + 192.85 + 1554.12 + + + 67 + 192.8 + 1554.51 + + + 68 + 192.75 + 1554.9 + + + 69 + 192.7 + 1555.29 + + + 70 + 192.65 + 1555.68 + + + 71 + 192.6 + 1556.07 + + + 72 + 192.55 + 1556.46 + + + 73 + 192.5 + 1556.85 + + + 74 + 192.45 + 1557.24 + + + 75 + 192.4 + 1557.63 + + + 76 + 192.35 + 1558.02 + + + 77 + 192.3 + 1558.41 + + + 78 + 192.25 + 1558.8 + + + 79 + 192.2 + 1559.19 + + + 80 + 192.15 + 1559.58 + + + 81 + 192.1 + 1559.97 + + + 82 + 192.05 + 1560.36 + + + 83 + 192.0 + 1560.75 + + + 84 + 191.95 + 1561.14 + + + 85 + 191.9 + 1561.53 + + + 86 + 191.85 + 1561.92 + + + 87 + 191.8 + 1562.31 + + + 88 + 191.75 + 1562.7 + + + 89 + 191.7 + 1563.09 + + + 90 + 191.65 + 1563.48 + + + 91 + 191.6 + 1563.87 + + + 92 + 191.55 + 1564.26 + + + 93 + 191.5 + 1564.65 + + + 94 + 191.45 + 1565.04 + + + 95 + 191.4 + 1565.43 + + + 96 + 191.35 + 1565.82 + + + + 2/0/C1-to-2/0/L1 + + 2/0 + C1 + + + 2/0 + L1 + + + + 2/0/C2-to-2/0/L1 + + 2/0 + C2 + + + 2/0 + L1 + + + + 2/0/C3-to-2/0/L1 + + 2/0 + C3 + + + 2/0 + L1 + + + + 2/0/C4-to-2/0/L1 + + 2/0 + C4 + + + 2/0 + L1 + + + + 2/0/C5-to-2/0/L1 + + 2/0 + C5 + + + 2/0 + L1 + + + + 2/0/C6-to-2/0/L1 + + 2/0 + C6 + + + 2/0 + L1 + + + + 2/0/C7-to-2/0/L1 + + 2/0 + C7 + + + 2/0 + L1 + + + + 2/0/C8-to-2/0/L1 + + 2/0 + C8 + + + 2/0 + L1 + + + + 2/0/C9-to-2/0/L1 + + 2/0 + C9 + + + 2/0 + L1 + + + + 2/0/L1-to-2/0/C1 + + 2/0 + L1 + + + 2/0 + C1 + + + + 2/0/L1-to-2/0/C2 + + 2/0 + L1 + + + 2/0 + C2 + + + + 2/0/L1-to-2/0/C3 + + 2/0 + L1 + + + 2/0 + C3 + + + + 2/0/L1-to-2/0/C4 + + 2/0 + L1 + + + 2/0 + C4 + + + + 2/0/L1-to-2/0/C5 + + 2/0 + L1 + + + 2/0 + C5 + + + + 2/0/L1-to-2/0/C6 + + 2/0 + L1 + + + 2/0 + C6 + + + + 2/0/L1-to-2/0/C7 + + 2/0 + L1 + + + 2/0 + C7 + + + + 2/0/L1-to-2/0/C8 + + 2/0 + L1 + + + 2/0 + C8 + + + + 2/0/L1-to-2/0/C9 + + 2/0 + L1 + + + 2/0 + C9 + + + + 3/0/C1-to-3/0/L1 + + 3/0 + C1 + + + 3/0 + L1 + + + + 3/0/C2-to-3/0/L1 + + 3/0 + C2 + + + 3/0 + L1 + + + + 3/0/C3-to-3/0/L1 + + 3/0 + C3 + + + 3/0 + L1 + + + + 3/0/C4-to-3/0/L1 + + 3/0 + C4 + + + 3/0 + L1 + + + + 3/0/C5-to-3/0/L1 + + 3/0 + C5 + + + 3/0 + L1 + + + + 3/0/C6-to-3/0/L1 + + 3/0 + C6 + + + 3/0 + L1 + + + + 3/0/C7-to-3/0/L1 + + 3/0 + C7 + + + 3/0 + L1 + + + + 3/0/C8-to-3/0/L1 + + 3/0 + C8 + + + 3/0 + L1 + + + + 3/0/C9-to-3/0/L1 + + 3/0 + C9 + + + 3/0 + L1 + + + + 3/0/L1-to-3/0/C1 + + 3/0 + L1 + + + 3/0 + C1 + + + + 3/0/L1-to-3/0/C2 + + 3/0 + L1 + + + 3/0 + C2 + + + + 3/0/L1-to-3/0/C3 + + 3/0 + L1 + + + 3/0 + C3 + + + + 3/0/L1-to-3/0/C4 + + 3/0 + L1 + + + 3/0 + C4 + + + + 3/0/L1-to-3/0/C5 + + 3/0 + L1 + + + 3/0 + C5 + + + + 3/0/L1-to-3/0/C6 + + 3/0 + L1 + + + 3/0 + C6 + + + + 3/0/L1-to-3/0/C7 + + 3/0 + L1 + + + 3/0 + C7 + + + + 3/0/L1-to-3/0/C8 + + 3/0 + L1 + + + 3/0 + C8 + + + + 3/0/L1-to-3/0/C9 + + 3/0 + L1 + + + 3/0 + C9 + + + + 4/0/C1-to-4/0/ADD-DEG1 + + 4/0 + C1 + + + 4/0 + ADD-DEG1 + + + + 4/0/C1-to-4/0/ADD-DEG2 + + 4/0 + C1 + + + 4/0 + ADD-DEG2 + + + + 4/0/C1-to-4/0/ADD-DEG3 + + 4/0 + C1 + + + 4/0 + ADD-DEG3 + + + + 4/0/C1-to-4/0/ADD-DEG4 + + 4/0 + C1 + + + 4/0 + ADD-DEG4 + + + + 4/0/C2-to-4/0/ADD-DEG1 + + 4/0 + C2 + + + 4/0 + ADD-DEG1 + + + + 4/0/C2-to-4/0/ADD-DEG2 + + 4/0 + C2 + + + 4/0 + ADD-DEG2 + + + + 4/0/C2-to-4/0/ADD-DEG3 + + 4/0 + C2 + + + 4/0 + ADD-DEG3 + + + + 4/0/C2-to-4/0/ADD-DEG4 + + 4/0 + C2 + + + 4/0 + ADD-DEG4 + + + + 4/0/C3-to-4/0/ADD-DEG1 + + 4/0 + C3 + + + 4/0 + ADD-DEG1 + + + + 4/0/C3-to-4/0/ADD-DEG2 + + 4/0 + C3 + + + 4/0 + ADD-DEG2 + + + + 4/0/C3-to-4/0/ADD-DEG3 + + 4/0 + C3 + + + 4/0 + ADD-DEG3 + + + + 4/0/C3-to-4/0/ADD-DEG4 + + 4/0 + C3 + + + 4/0 + ADD-DEG4 + + + + 4/0/C4-to-4/0/ADD-DEG1 + + 4/0 + C4 + + + 4/0 + ADD-DEG1 + + + + 4/0/C4-to-4/0/ADD-DEG2 + + 4/0 + C4 + + + 4/0 + ADD-DEG2 + + + + 4/0/C4-to-4/0/ADD-DEG3 + + 4/0 + C4 + + + 4/0 + ADD-DEG3 + + + + 4/0/C4-to-4/0/ADD-DEG4 + + 4/0 + C4 + + + 4/0 + ADD-DEG4 + + + + 4/0/C5-to-4/0/ADD-DEG1 + + 4/0 + C5 + + + 4/0 + ADD-DEG1 + + + + 4/0/C5-to-4/0/ADD-DEG2 + + 4/0 + C5 + + + 4/0 + ADD-DEG2 + + + + 4/0/C5-to-4/0/ADD-DEG3 + + 4/0 + C5 + + + 4/0 + ADD-DEG3 + + + + 4/0/C5-to-4/0/ADD-DEG4 + + 4/0 + C5 + + + 4/0 + ADD-DEG4 + + + + 4/0/C6-to-4/0/ADD-DEG1 + + 4/0 + C6 + + + 4/0 + ADD-DEG1 + + + + 4/0/C6-to-4/0/ADD-DEG2 + + 4/0 + C6 + + + 4/0 + ADD-DEG2 + + + + 4/0/C6-to-4/0/ADD-DEG3 + + 4/0 + C6 + + + 4/0 + ADD-DEG3 + + + + 4/0/C6-to-4/0/ADD-DEG4 + + 4/0 + C6 + + + 4/0 + ADD-DEG4 + + + + 4/0/C7-to-4/0/ADD-DEG1 + + 4/0 + C7 + + + 4/0 + ADD-DEG1 + + + + 4/0/C7-to-4/0/ADD-DEG2 + + 4/0 + C7 + + + 4/0 + ADD-DEG2 + + + + 4/0/C7-to-4/0/ADD-DEG3 + + 4/0 + C7 + + + 4/0 + ADD-DEG3 + + + + 4/0/C7-to-4/0/ADD-DEG4 + + 4/0 + C7 + + + 4/0 + ADD-DEG4 + + + + 4/0/C8-to-4/0/ADD-DEG1 + + 4/0 + C8 + + + 4/0 + ADD-DEG1 + + + + 4/0/C8-to-4/0/ADD-DEG2 + + 4/0 + C8 + + + 4/0 + ADD-DEG2 + + + + 4/0/C8-to-4/0/ADD-DEG3 + + 4/0 + C8 + + + 4/0 + ADD-DEG3 + + + + 4/0/C8-to-4/0/ADD-DEG4 + + 4/0 + C8 + + + 4/0 + ADD-DEG4 + + + + 4/0/C9-to-4/0/ADD-DEG1 + + 4/0 + C9 + + + 4/0 + ADD-DEG1 + + + + 4/0/C9-to-4/0/ADD-DEG2 + + 4/0 + C9 + + + 4/0 + ADD-DEG2 + + + + 4/0/C9-to-4/0/ADD-DEG3 + + 4/0 + C9 + + + 4/0 + ADD-DEG3 + + + + 4/0/C9-to-4/0/ADD-DEG4 + + 4/0 + C9 + + + 4/0 + ADD-DEG4 + + + + 4/0/C10-to-4/0/ADD-DEG1 + + 4/0 + C10 + + + 4/0 + ADD-DEG1 + + + + 4/0/C10-to-4/0/ADD-DEG2 + + 4/0 + C10 + + + 4/0 + ADD-DEG2 + + + + 4/0/C10-to-4/0/ADD-DEG3 + + 4/0 + C10 + + + 4/0 + ADD-DEG3 + + + + 4/0/C10-to-4/0/ADD-DEG4 + + 4/0 + C10 + + + 4/0 + ADD-DEG4 + + + + 4/0/C11-to-4/0/ADD-DEG1 + + 4/0 + C11 + + + 4/0 + ADD-DEG1 + + + + 4/0/C11-to-4/0/ADD-DEG2 + + 4/0 + C11 + + + 4/0 + ADD-DEG2 + + + + 4/0/C11-to-4/0/ADD-DEG3 + + 4/0 + C11 + + + 4/0 + ADD-DEG3 + + + + 4/0/C11-to-4/0/ADD-DEG4 + + 4/0 + C11 + + + 4/0 + ADD-DEG4 + + + + 4/0/C12-to-4/0/ADD-DEG1 + + 4/0 + C12 + + + 4/0 + ADD-DEG1 + + + + 4/0/C12-to-4/0/ADD-DEG2 + + 4/0 + C12 + + + 4/0 + ADD-DEG2 + + + + 4/0/C12-to-4/0/ADD-DEG3 + + 4/0 + C12 + + + 4/0 + ADD-DEG3 + + + + 4/0/C12-to-4/0/ADD-DEG4 + + 4/0 + C12 + + + 4/0 + ADD-DEG4 + + + + 4/0/C13-to-4/0/ADD-DEG1 + + 4/0 + C13 + + + 4/0 + ADD-DEG1 + + + + 4/0/C13-to-4/0/ADD-DEG2 + + 4/0 + C13 + + + 4/0 + ADD-DEG2 + + + + 4/0/C13-to-4/0/ADD-DEG3 + + 4/0 + C13 + + + 4/0 + ADD-DEG3 + + + + 4/0/C13-to-4/0/ADD-DEG4 + + 4/0 + C13 + + + 4/0 + ADD-DEG4 + + + + 4/0/C14-to-4/0/ADD-DEG1 + + 4/0 + C14 + + + 4/0 + ADD-DEG1 + + + + 4/0/C14-to-4/0/ADD-DEG2 + + 4/0 + C14 + + + 4/0 + ADD-DEG2 + + + + 4/0/C14-to-4/0/ADD-DEG3 + + 4/0 + C14 + + + 4/0 + ADD-DEG3 + + + + 4/0/C14-to-4/0/ADD-DEG4 + + 4/0 + C14 + + + 4/0 + ADD-DEG4 + + + + 4/0/C15-to-4/0/ADD-DEG1 + + 4/0 + C15 + + + 4/0 + ADD-DEG1 + + + + 4/0/C15-to-4/0/ADD-DEG2 + + 4/0 + C15 + + + 4/0 + ADD-DEG2 + + + + 4/0/C15-to-4/0/ADD-DEG3 + + 4/0 + C15 + + + 4/0 + ADD-DEG3 + + + + 4/0/C15-to-4/0/ADD-DEG4 + + 4/0 + C15 + + + 4/0 + ADD-DEG4 + + + + 4/0/C16-to-4/0/ADD-DEG1 + + 4/0 + C16 + + + 4/0 + ADD-DEG1 + + + + 4/0/C16-to-4/0/ADD-DEG2 + + 4/0 + C16 + + + 4/0 + ADD-DEG2 + + + + 4/0/C16-to-4/0/ADD-DEG3 + + 4/0 + C16 + + + 4/0 + ADD-DEG3 + + + + 4/0/C16-to-4/0/ADD-DEG4 + + 4/0 + C16 + + + 4/0 + ADD-DEG4 + + + + 4/0/ADD-DEG1-to-4/0/C1 + + 4/0 + ADD-DEG1 + + + 4/0 + C1 + + + + 4/0/ADD-DEG1-to-4/0/C2 + + 4/0 + ADD-DEG1 + + + 4/0 + C2 + + + + 4/0/ADD-DEG1-to-4/0/C3 + + 4/0 + ADD-DEG1 + + + 4/0 + C3 + + + + 4/0/ADD-DEG1-to-4/0/C4 + + 4/0 + ADD-DEG1 + + + 4/0 + C4 + + + + 4/0/ADD-DEG1-to-4/0/C5 + + 4/0 + ADD-DEG1 + + + 4/0 + C5 + + + + 4/0/ADD-DEG1-to-4/0/C6 + + 4/0 + ADD-DEG1 + + + 4/0 + C6 + + + + 4/0/ADD-DEG1-to-4/0/C7 + + 4/0 + ADD-DEG1 + + + 4/0 + C7 + + + + 4/0/ADD-DEG1-to-4/0/C8 + + 4/0 + ADD-DEG1 + + + 4/0 + C8 + + + + 4/0/ADD-DEG1-to-4/0/C9 + + 4/0 + ADD-DEG1 + + + 4/0 + C9 + + + + 4/0/ADD-DEG1-to-4/0/C10 + + 4/0 + ADD-DEG1 + + + 4/0 + C10 + + + + 4/0/ADD-DEG1-to-4/0/C11 + + 4/0 + ADD-DEG1 + + + 4/0 + C11 + + + + 4/0/ADD-DEG1-to-4/0/C12 + + 4/0 + ADD-DEG1 + + + 4/0 + C12 + + + + 4/0/ADD-DEG1-to-4/0/C13 + + 4/0 + ADD-DEG1 + + + 4/0 + C13 + + + + 4/0/ADD-DEG1-to-4/0/C14 + + 4/0 + ADD-DEG1 + + + 4/0 + C14 + + + + 4/0/ADD-DEG1-to-4/0/C15 + + 4/0 + ADD-DEG1 + + + 4/0 + C15 + + + + 4/0/ADD-DEG1-to-4/0/C16 + + 4/0 + ADD-DEG1 + + + 4/0 + C16 + + + + 4/0/ADD-DEG2-to-4/0/C1 + + 4/0 + ADD-DEG2 + + + 4/0 + C1 + + + + 4/0/ADD-DEG2-to-4/0/C2 + + 4/0 + ADD-DEG2 + + + 4/0 + C2 + + + + 4/0/ADD-DEG2-to-4/0/C3 + + 4/0 + ADD-DEG2 + + + 4/0 + C3 + + + + 4/0/ADD-DEG2-to-4/0/C4 + + 4/0 + ADD-DEG2 + + + 4/0 + C4 + + + + 4/0/ADD-DEG2-to-4/0/C5 + + 4/0 + ADD-DEG2 + + + 4/0 + C5 + + + + 4/0/ADD-DEG2-to-4/0/C6 + + 4/0 + ADD-DEG2 + + + 4/0 + C6 + + + + 4/0/ADD-DEG2-to-4/0/C7 + + 4/0 + ADD-DEG2 + + + 4/0 + C7 + + + + 4/0/ADD-DEG2-to-4/0/C8 + + 4/0 + ADD-DEG2 + + + 4/0 + C8 + + + + 4/0/ADD-DEG2-to-4/0/C9 + + 4/0 + ADD-DEG2 + + + 4/0 + C9 + + + + 4/0/ADD-DEG2-to-4/0/C10 + + 4/0 + ADD-DEG2 + + + 4/0 + C10 + + + + 4/0/ADD-DEG2-to-4/0/C11 + + 4/0 + ADD-DEG2 + + + 4/0 + C11 + + + + 4/0/ADD-DEG2-to-4/0/C12 + + 4/0 + ADD-DEG2 + + + 4/0 + C12 + + + + 4/0/ADD-DEG2-to-4/0/C13 + + 4/0 + ADD-DEG2 + + + 4/0 + C13 + + + + 4/0/ADD-DEG2-to-4/0/C14 + + 4/0 + ADD-DEG2 + + + 4/0 + C14 + + + + 4/0/ADD-DEG2-to-4/0/C15 + + 4/0 + ADD-DEG2 + + + 4/0 + C15 + + + + 4/0/ADD-DEG2-to-4/0/C16 + + 4/0 + ADD-DEG2 + + + 4/0 + C16 + + + + 4/0/ADD-DEG3-to-4/0/C1 + + 4/0 + ADD-DEG3 + + + 4/0 + C1 + + + + 4/0/ADD-DEG3-to-4/0/C2 + + 4/0 + ADD-DEG3 + + + 4/0 + C2 + + + + 4/0/ADD-DEG3-to-4/0/C3 + + 4/0 + ADD-DEG3 + + + 4/0 + C3 + + + + 4/0/ADD-DEG3-to-4/0/C4 + + 4/0 + ADD-DEG3 + + + 4/0 + C4 + + + + 4/0/ADD-DEG3-to-4/0/C5 + + 4/0 + ADD-DEG3 + + + 4/0 + C5 + + + + 4/0/ADD-DEG3-to-4/0/C6 + + 4/0 + ADD-DEG3 + + + 4/0 + C6 + + + + 4/0/ADD-DEG3-to-4/0/C7 + + 4/0 + ADD-DEG3 + + + 4/0 + C7 + + + + 4/0/ADD-DEG3-to-4/0/C8 + + 4/0 + ADD-DEG3 + + + 4/0 + C8 + + + + 4/0/ADD-DEG3-to-4/0/C9 + + 4/0 + ADD-DEG3 + + + 4/0 + C9 + + + + 4/0/ADD-DEG3-to-4/0/C10 + + 4/0 + ADD-DEG3 + + + 4/0 + C10 + + + + 4/0/ADD-DEG3-to-4/0/C11 + + 4/0 + ADD-DEG3 + + + 4/0 + C11 + + + + 4/0/ADD-DEG3-to-4/0/C12 + + 4/0 + ADD-DEG3 + + + 4/0 + C12 + + + + 4/0/ADD-DEG3-to-4/0/C13 + + 4/0 + ADD-DEG3 + + + 4/0 + C13 + + + + 4/0/ADD-DEG3-to-4/0/C14 + + 4/0 + ADD-DEG3 + + + 4/0 + C14 + + + + 4/0/ADD-DEG3-to-4/0/C15 + + 4/0 + ADD-DEG3 + + + 4/0 + C15 + + + + 4/0/ADD-DEG3-to-4/0/C16 + + 4/0 + ADD-DEG3 + + + 4/0 + C16 + + + + 4/0/ADD-DEG4-to-4/0/C1 + + 4/0 + ADD-DEG4 + + + 4/0 + C1 + + + + 4/0/ADD-DEG4-to-4/0/C2 + + 4/0 + ADD-DEG4 + + + 4/0 + C2 + + + + 4/0/ADD-DEG4-to-4/0/C3 + + 4/0 + ADD-DEG4 + + + 4/0 + C3 + + + + 4/0/ADD-DEG4-to-4/0/C4 + + 4/0 + ADD-DEG4 + + + 4/0 + C4 + + + + 4/0/ADD-DEG4-to-4/0/C5 + + 4/0 + ADD-DEG4 + + + 4/0 + C5 + + + + 4/0/ADD-DEG4-to-4/0/C6 + + 4/0 + ADD-DEG4 + + + 4/0 + C6 + + + + 4/0/ADD-DEG4-to-4/0/C7 + + 4/0 + ADD-DEG4 + + + 4/0 + C7 + + + + 4/0/ADD-DEG4-to-4/0/C8 + + 4/0 + ADD-DEG4 + + + 4/0 + C8 + + + + 4/0/ADD-DEG4-to-4/0/C9 + + 4/0 + ADD-DEG4 + + + 4/0 + C9 + + + + 4/0/ADD-DEG4-to-4/0/C10 + + 4/0 + ADD-DEG4 + + + 4/0 + C10 + + + + 4/0/ADD-DEG4-to-4/0/C11 + + 4/0 + ADD-DEG4 + + + 4/0 + C11 + + + + 4/0/ADD-DEG4-to-4/0/C12 + + 4/0 + ADD-DEG4 + + + 4/0 + C12 + + + + 4/0/ADD-DEG4-to-4/0/C13 + + 4/0 + ADD-DEG4 + + + 4/0 + C13 + + + + 4/0/ADD-DEG4-to-4/0/C14 + + 4/0 + ADD-DEG4 + + + 4/0 + C14 + + + + 4/0/ADD-DEG4-to-4/0/C15 + + 4/0 + ADD-DEG4 + + + 4/0 + C15 + + + + 4/0/ADD-DEG4-to-4/0/C16 + + 4/0 + ADD-DEG4 + + + 4/0 + C16 + + + + phylink-1 + + 2/0 + C1 + + + 4/0 + ADD-DEG1 + + + + phylink-2 + + 4/0 + ADD-DEG1 + + + 2/0 + C1 + + + + phylink-3 + + 3/0 + C1 + + + 4/0 + ADD-DEG2 + + + + phylink-4 + + 4/0 + ADD-DEG2 + + + 3/0 + C1 + + + + phylink-5 + + 2/0 + C9 + + + 3/0 + C9 + + + + phylink-6 + + 3/0 + C9 + + + 2/0 + C9 + + + + 1 + 96 + + 1 + 2/0 + + + 2 + 2/0/OSC-PLUG + + + 3 + 2/0/ETH-PLUG + + + 1 + 2/0 + L1 + + + + 2 + 96 + + 1 + 3/0 + + + 2 + 3/0/OSC-PLUG + + + 3 + 3/0/ETH-PLUG + + + 1 + 3/0 + L1 + + + + 1 + 16 + onePerSRG + + 1 + 4/0 + + + + 1 + + 2/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 2 + + 4/0 + C1 + + + 2/0 + E1 + + + + 3 + + 4/0 + C2 + + + 2/0 + E1 + + + + 4 + + 4/0 + C3 + + + 2/0 + E1 + + + + 5 + + 4/0 + C4 + + + 2/0 + E1 + + + + 6 + + 4/0 + C5 + + + 2/0 + E1 + + + + 7 + + 4/0 + C6 + + + 2/0 + E1 + + + + 8 + + 4/0 + C7 + + + 2/0 + E1 + + + + 9 + + 4/0 + C8 + + + 2/0 + E1 + + + + 10 + + 4/0 + C9 + + + 2/0 + E1 + + + + 11 + + 4/0 + C10 + + + 2/0 + E1 + + + + 12 + + 4/0 + C11 + + + 2/0 + E1 + + + + 13 + + 4/0 + C12 + + + 2/0 + E1 + + + + 14 + + 4/0 + C13 + + + 2/0 + E1 + + + + 15 + + 4/0 + C14 + + + 2/0 + E1 + + + + 16 + + 4/0 + C15 + + + 2/0 + E1 + + + + 17 + + 4/0 + C16 + + + 2/0 + E1 + + + + 18 + + 3/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 19 + + 4/0 + C1 + + + 3/0 + E1 + + + + 20 + + 4/0 + C2 + + + 3/0 + E1 + + + + 21 + + 4/0 + C3 + + + 3/0 + E1 + + + + 22 + + 4/0 + C4 + + + 3/0 + E1 + + + + 23 + + 4/0 + C5 + + + 3/0 + E1 + + + + 24 + + 4/0 + C6 + + + 3/0 + E1 + + + + 25 + + 4/0 + C7 + + + 3/0 + E1 + + + + 26 + + 4/0 + C8 + + + 3/0 + E1 + + + + 27 + + 4/0 + C9 + + + 3/0 + E1 + + + + 28 + + 4/0 + C10 + + + 3/0 + E1 + + + + 29 + + 4/0 + C11 + + + 3/0 + E1 + + + + 30 + + 4/0 + C12 + + + 3/0 + E1 + + + + 31 + + 4/0 + C13 + + + 3/0 + E1 + + + + 32 + + 4/0 + C14 + + + 3/0 + E1 + + + + 33 + + 4/0 + C15 + + + 3/0 + E1 + + + + 34 + + 4/0 + C16 + + + 3/0 + E1 + + + + diff --git a/tests/sample_configs/nodes_config/sample-config-ROADMC.xml b/tests/sample_configs/nodes_config/sample-config-ROADMC.xml new file mode 100644 index 000000000..5a7915280 --- /dev/null +++ b/tests/sample_configs/nodes_config/sample-config-ROADMC.xml @@ -0,0 +1,5583 @@ + + + + + ROADMC + 2 + rdm + NodeC + vendorA + 2 + 0002 + 127.0.0.13 + 28 + 127.0.0.20 + static + 127.0.0.13 + 28 + 127.0.0.20 + cc:cc:cc:cc:cc:cc + 1 + 2 + 9 + + + + openroadm + openroadm + sudo + + + + 1 + + + sdegE + pizza + XYZ + 2 + inService + vendorA + 1 + 00002 + xxxxx + degE + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 2/0 + + + + sdegW + pizza + XYZ + 3 + inService + vendorA + 1 + 00003 + xxxxx + degW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 3/0 + + + + ssrg + pizza + XYZ + 4 + inService + vendorA + 1 + 00004 + xxxxx + srgW + 01 + inService + not-reserved-available + 2016-10-25T09:00:00-00:00 + + 0 + + 4/0 + + + + 2/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss1 + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + OSC-SLOT + + 2/0/OSC-PLUG + + + ETH-PLUG + + 2/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG1-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 2/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHE + inService + not-reserved-available + NORMAL + 2 + 0 + 0 + + 2/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0 + WSSDEG + inService + vendorA + WSS9 + 2017-08-08T10:47:04.698808+00:00 + wss2 + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + OSC-SLOT + + 3/0/OSC-PLUG + + + ETH-PLUG + + 3/0/ETH-PLUG + + + C1 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C2 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C3 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C4 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C5 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C6 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C7 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C8 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + C9 + Client + roadm-internal + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-CTP-TXRX + + + L1 + LINE + roadm-external + multi-wavelegnth + bidirectional + 1 + inService + inService + DEG2-TTP-TXRX + + -35.0 + -9.0 + 14.0 + 21.82 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + LOG1 + Logical + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + OSC-DEMUX + OSC + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/OSC-PLUG + port + inService + vendorA + SFP/SFP+ + 00000163600843 + oooooo + 2017-08-08T10:47:04.698808+00:00 + oscplug + 01 + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + OSC-SLOT + + + OSC-PORT + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 3/0/ETH-PLUG + port + inService + VENDORA + GIGAETHMGT + 2017-08-08T10:47:04.698808+00:00 + ETHW + inService + not-reserved-available + NORMAL + 3 + 0 + 0 + + 3/0 + ETH-PLUG + + + ETH-PLUG + 1GEX + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + + + + 4/0 + ADDDROP + inService + vendorA + 16CX4D + cccccccc + inService + not-reserved-available + NORMAL + 4 + 0 + 0 + + C1 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP1 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C10 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP10 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C11 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP11 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C12 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP12 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C13 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP13 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C14 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP14 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C15 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP15 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C16 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP16 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C2 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP2 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C3 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP3 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C4 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP4 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C5 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP5 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C6 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP6 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C7 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP7 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C8 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP8 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + C9 + Client + roadm-external + wavelength + bidirectional + inService + inService + SRG1-PP9 + + -15.0 + -28.0 + 10.0 + 15.0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + AD-DEG1 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG2 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG3 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + AD-DEG4 + Edge + roadm-internal + multi-wavelegnth + bidirectional + inService + inService + SRG1-CP-TXRX + + + + oms-2/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + ots-2/0/0/L1 + 2/0 + L1 + + + oms-3/0/0/L1 + openROADM-if:openROADMOpticalMultiplex + inService + inService + Link-1 + ots-3/0/0/L1 + 3/0 + L1 + + + ots-2/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 2/0 + L1 + + smf + 25 + 25 + + + + ots-3/0/0/L1 + openROADM-if:opticalTransport + inService + inService + 3/0 + L1 + + smf + 15.0 + 15.0 + + + + eth-2/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 2/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + eth-3/0/ETH-PLUG + openROADM-if:ethernetCsmacd + inService + inService + 3/0/ETH-PLUG + ETH-PLUG + + 1000 + full + 1800 + enabled + 1000 + FULL + + + + + + enable + 20 + 4 + + + eth-2/0/ETH-PLUG + txandrx + + + eth-3/0/ETH-PLUG + txandrx + + + + eth-2/0/ETH-PLUG + ROADMB + ipV4 + 1.1.1.1 + ifalias + eth-3/0/ETH-PLUG + chassiscomponent + 1? + + + eth-3/0/ETH-PLUG + ROADMA + ipV4 + 1.1.1.1 + ifalias + eth-2/0/ETH-PLUG + chassiscomponent + 1? + + + + + + + 1 + 196.1 + 1528.77 + + + 2 + 196.05 + 1529.16 + + + 3 + 196.0 + 1529.55 + + + 4 + 195.95 + 1529.94 + + + 5 + 195.9 + 1530.33 + + + 6 + 195.85 + 1530.72 + + + 7 + 195.8 + 1531.11 + + + 8 + 195.75 + 1531.5 + + + 9 + 195.7 + 1531.89 + + + 10 + 195.65 + 1532.28 + + + 11 + 195.6 + 1532.67 + + + 12 + 195.55 + 1533.06 + + + 13 + 195.5 + 1533.45 + + + 14 + 195.45 + 1533.84 + + + 15 + 195.4 + 1534.23 + + + 16 + 195.35 + 1534.62 + + + 17 + 195.3 + 1535.01 + + + 18 + 195.25 + 1535.4 + + + 19 + 195.2 + 1535.79 + + + 20 + 195.15 + 1536.18 + + + 21 + 195.1 + 1536.57 + + + 22 + 195.05 + 1536.96 + + + 23 + 195.0 + 1537.35 + + + 24 + 194.95 + 1537.74 + + + 25 + 194.9 + 1538.13 + + + 26 + 194.85 + 1538.52 + + + 27 + 194.8 + 1538.91 + + + 28 + 194.75 + 1539.3 + + + 29 + 194.7 + 1539.69 + + + 30 + 194.65 + 1540.08 + + + 31 + 194.6 + 1540.47 + + + 32 + 194.55 + 1540.86 + + + 33 + 194.5 + 1541.25 + + + 34 + 194.45 + 1541.64 + + + 35 + 194.4 + 1542.03 + + + 36 + 194.35 + 1542.42 + + + 37 + 194.3 + 1542.81 + + + 38 + 194.25 + 1543.2 + + + 39 + 194.2 + 1543.59 + + + 40 + 194.15 + 1543.98 + + + 41 + 194.1 + 1544.37 + + + 42 + 194.05 + 1544.76 + + + 43 + 194.0 + 1545.15 + + + 44 + 193.95 + 1545.54 + + + 45 + 193.9 + 1545.93 + + + 46 + 193.85 + 1546.32 + + + 47 + 193.8 + 1546.71 + + + 48 + 193.75 + 1547.1 + + + 49 + 193.7 + 1547.49 + + + 50 + 193.65 + 1547.88 + + + 51 + 193.6 + 1548.27 + + + 52 + 193.55 + 1548.66 + + + 53 + 193.5 + 1549.05 + + + 54 + 193.45 + 1549.44 + + + 55 + 193.4 + 1549.83 + + + 56 + 193.35 + 1550.22 + + + 57 + 193.3 + 1550.61 + + + 58 + 193.25 + 1551.0 + + + 59 + 193.2 + 1551.39 + + + 60 + 193.15 + 1551.78 + + + 61 + 193.1 + 1552.17 + + + 62 + 193.05 + 1552.56 + + + 63 + 193.0 + 1552.95 + + + 64 + 192.95 + 1553.34 + + + 65 + 192.9 + 1553.73 + + + 66 + 192.85 + 1554.12 + + + 67 + 192.8 + 1554.51 + + + 68 + 192.75 + 1554.9 + + + 69 + 192.7 + 1555.29 + + + 70 + 192.65 + 1555.68 + + + 71 + 192.6 + 1556.07 + + + 72 + 192.55 + 1556.46 + + + 73 + 192.5 + 1556.85 + + + 74 + 192.45 + 1557.24 + + + 75 + 192.4 + 1557.63 + + + 76 + 192.35 + 1558.02 + + + 77 + 192.3 + 1558.41 + + + 78 + 192.25 + 1558.8 + + + 79 + 192.2 + 1559.19 + + + 80 + 192.15 + 1559.58 + + + 81 + 192.1 + 1559.97 + + + 82 + 192.05 + 1560.36 + + + 83 + 192.0 + 1560.75 + + + 84 + 191.95 + 1561.14 + + + 85 + 191.9 + 1561.53 + + + 86 + 191.85 + 1561.92 + + + 87 + 191.8 + 1562.31 + + + 88 + 191.75 + 1562.7 + + + 89 + 191.7 + 1563.09 + + + 90 + 191.65 + 1563.48 + + + 91 + 191.6 + 1563.87 + + + 92 + 191.55 + 1564.26 + + + 93 + 191.5 + 1564.65 + + + 94 + 191.45 + 1565.04 + + + 95 + 191.4 + 1565.43 + + + 96 + 191.35 + 1565.82 + + + + 2/0/C1-to-2/0/L1 + + 2/0 + C1 + + + 2/0 + L1 + + + + 2/0/C2-to-2/0/L1 + + 2/0 + C2 + + + 2/0 + L1 + + + + 2/0/C3-to-2/0/L1 + + 2/0 + C3 + + + 2/0 + L1 + + + + 2/0/C4-to-2/0/L1 + + 2/0 + C4 + + + 2/0 + L1 + + + + 2/0/C5-to-2/0/L1 + + 2/0 + C5 + + + 2/0 + L1 + + + + 2/0/C6-to-2/0/L1 + + 2/0 + C6 + + + 2/0 + L1 + + + + 2/0/C7-to-2/0/L1 + + 2/0 + C7 + + + 2/0 + L1 + + + + 2/0/C8-to-2/0/L1 + + 2/0 + C8 + + + 2/0 + L1 + + + + 2/0/C9-to-2/0/L1 + + 2/0 + C9 + + + 2/0 + L1 + + + + 2/0/L1-to-2/0/C1 + + 2/0 + L1 + + + 2/0 + C1 + + + + 2/0/L1-to-2/0/C2 + + 2/0 + L1 + + + 2/0 + C2 + + + + 2/0/L1-to-2/0/C3 + + 2/0 + L1 + + + 2/0 + C3 + + + + 2/0/L1-to-2/0/C4 + + 2/0 + L1 + + + 2/0 + C4 + + + + 2/0/L1-to-2/0/C5 + + 2/0 + L1 + + + 2/0 + C5 + + + + 2/0/L1-to-2/0/C6 + + 2/0 + L1 + + + 2/0 + C6 + + + + 2/0/L1-to-2/0/C7 + + 2/0 + L1 + + + 2/0 + C7 + + + + 2/0/L1-to-2/0/C8 + + 2/0 + L1 + + + 2/0 + C8 + + + + 2/0/L1-to-2/0/C9 + + 2/0 + L1 + + + 2/0 + C9 + + + + 3/0/C1-to-3/0/L1 + + 3/0 + C1 + + + 3/0 + L1 + + + + 3/0/C2-to-3/0/L1 + + 3/0 + C2 + + + 3/0 + L1 + + + + 3/0/C3-to-3/0/L1 + + 3/0 + C3 + + + 3/0 + L1 + + + + 3/0/C4-to-3/0/L1 + + 3/0 + C4 + + + 3/0 + L1 + + + + 3/0/C5-to-3/0/L1 + + 3/0 + C5 + + + 3/0 + L1 + + + + 3/0/C6-to-3/0/L1 + + 3/0 + C6 + + + 3/0 + L1 + + + + 3/0/C7-to-3/0/L1 + + 3/0 + C7 + + + 3/0 + L1 + + + + 3/0/C8-to-3/0/L1 + + 3/0 + C8 + + + 3/0 + L1 + + + + 3/0/C9-to-3/0/L1 + + 3/0 + C9 + + + 3/0 + L1 + + + + 3/0/L1-to-3/0/C1 + + 3/0 + L1 + + + 3/0 + C1 + + + + 3/0/L1-to-3/0/C2 + + 3/0 + L1 + + + 3/0 + C2 + + + + 3/0/L1-to-3/0/C3 + + 3/0 + L1 + + + 3/0 + C3 + + + + 3/0/L1-to-3/0/C4 + + 3/0 + L1 + + + 3/0 + C4 + + + + 3/0/L1-to-3/0/C5 + + 3/0 + L1 + + + 3/0 + C5 + + + + 3/0/L1-to-3/0/C6 + + 3/0 + L1 + + + 3/0 + C6 + + + + 3/0/L1-to-3/0/C7 + + 3/0 + L1 + + + 3/0 + C7 + + + + 3/0/L1-to-3/0/C8 + + 3/0 + L1 + + + 3/0 + C8 + + + + 3/0/L1-to-3/0/C9 + + 3/0 + L1 + + + 3/0 + C9 + + + + 4/0/C1-to-4/0/ADD-DEG1 + + 4/0 + C1 + + + 4/0 + ADD-DEG1 + + + + 4/0/C1-to-4/0/ADD-DEG2 + + 4/0 + C1 + + + 4/0 + ADD-DEG2 + + + + 4/0/C1-to-4/0/ADD-DEG3 + + 4/0 + C1 + + + 4/0 + ADD-DEG3 + + + + 4/0/C1-to-4/0/ADD-DEG4 + + 4/0 + C1 + + + 4/0 + ADD-DEG4 + + + + 4/0/C2-to-4/0/ADD-DEG1 + + 4/0 + C2 + + + 4/0 + ADD-DEG1 + + + + 4/0/C2-to-4/0/ADD-DEG2 + + 4/0 + C2 + + + 4/0 + ADD-DEG2 + + + + 4/0/C2-to-4/0/ADD-DEG3 + + 4/0 + C2 + + + 4/0 + ADD-DEG3 + + + + 4/0/C2-to-4/0/ADD-DEG4 + + 4/0 + C2 + + + 4/0 + ADD-DEG4 + + + + 4/0/C3-to-4/0/ADD-DEG1 + + 4/0 + C3 + + + 4/0 + ADD-DEG1 + + + + 4/0/C3-to-4/0/ADD-DEG2 + + 4/0 + C3 + + + 4/0 + ADD-DEG2 + + + + 4/0/C3-to-4/0/ADD-DEG3 + + 4/0 + C3 + + + 4/0 + ADD-DEG3 + + + + 4/0/C3-to-4/0/ADD-DEG4 + + 4/0 + C3 + + + 4/0 + ADD-DEG4 + + + + 4/0/C4-to-4/0/ADD-DEG1 + + 4/0 + C4 + + + 4/0 + ADD-DEG1 + + + + 4/0/C4-to-4/0/ADD-DEG2 + + 4/0 + C4 + + + 4/0 + ADD-DEG2 + + + + 4/0/C4-to-4/0/ADD-DEG3 + + 4/0 + C4 + + + 4/0 + ADD-DEG3 + + + + 4/0/C4-to-4/0/ADD-DEG4 + + 4/0 + C4 + + + 4/0 + ADD-DEG4 + + + + 4/0/C5-to-4/0/ADD-DEG1 + + 4/0 + C5 + + + 4/0 + ADD-DEG1 + + + + 4/0/C5-to-4/0/ADD-DEG2 + + 4/0 + C5 + + + 4/0 + ADD-DEG2 + + + + 4/0/C5-to-4/0/ADD-DEG3 + + 4/0 + C5 + + + 4/0 + ADD-DEG3 + + + + 4/0/C5-to-4/0/ADD-DEG4 + + 4/0 + C5 + + + 4/0 + ADD-DEG4 + + + + 4/0/C6-to-4/0/ADD-DEG1 + + 4/0 + C6 + + + 4/0 + ADD-DEG1 + + + + 4/0/C6-to-4/0/ADD-DEG2 + + 4/0 + C6 + + + 4/0 + ADD-DEG2 + + + + 4/0/C6-to-4/0/ADD-DEG3 + + 4/0 + C6 + + + 4/0 + ADD-DEG3 + + + + 4/0/C6-to-4/0/ADD-DEG4 + + 4/0 + C6 + + + 4/0 + ADD-DEG4 + + + + 4/0/C7-to-4/0/ADD-DEG1 + + 4/0 + C7 + + + 4/0 + ADD-DEG1 + + + + 4/0/C7-to-4/0/ADD-DEG2 + + 4/0 + C7 + + + 4/0 + ADD-DEG2 + + + + 4/0/C7-to-4/0/ADD-DEG3 + + 4/0 + C7 + + + 4/0 + ADD-DEG3 + + + + 4/0/C7-to-4/0/ADD-DEG4 + + 4/0 + C7 + + + 4/0 + ADD-DEG4 + + + + 4/0/C8-to-4/0/ADD-DEG1 + + 4/0 + C8 + + + 4/0 + ADD-DEG1 + + + + 4/0/C8-to-4/0/ADD-DEG2 + + 4/0 + C8 + + + 4/0 + ADD-DEG2 + + + + 4/0/C8-to-4/0/ADD-DEG3 + + 4/0 + C8 + + + 4/0 + ADD-DEG3 + + + + 4/0/C8-to-4/0/ADD-DEG4 + + 4/0 + C8 + + + 4/0 + ADD-DEG4 + + + + 4/0/C9-to-4/0/ADD-DEG1 + + 4/0 + C9 + + + 4/0 + ADD-DEG1 + + + + 4/0/C9-to-4/0/ADD-DEG2 + + 4/0 + C9 + + + 4/0 + ADD-DEG2 + + + + 4/0/C9-to-4/0/ADD-DEG3 + + 4/0 + C9 + + + 4/0 + ADD-DEG3 + + + + 4/0/C9-to-4/0/ADD-DEG4 + + 4/0 + C9 + + + 4/0 + ADD-DEG4 + + + + 4/0/C10-to-4/0/ADD-DEG1 + + 4/0 + C10 + + + 4/0 + ADD-DEG1 + + + + 4/0/C10-to-4/0/ADD-DEG2 + + 4/0 + C10 + + + 4/0 + ADD-DEG2 + + + + 4/0/C10-to-4/0/ADD-DEG3 + + 4/0 + C10 + + + 4/0 + ADD-DEG3 + + + + 4/0/C10-to-4/0/ADD-DEG4 + + 4/0 + C10 + + + 4/0 + ADD-DEG4 + + + + 4/0/C11-to-4/0/ADD-DEG1 + + 4/0 + C11 + + + 4/0 + ADD-DEG1 + + + + 4/0/C11-to-4/0/ADD-DEG2 + + 4/0 + C11 + + + 4/0 + ADD-DEG2 + + + + 4/0/C11-to-4/0/ADD-DEG3 + + 4/0 + C11 + + + 4/0 + ADD-DEG3 + + + + 4/0/C11-to-4/0/ADD-DEG4 + + 4/0 + C11 + + + 4/0 + ADD-DEG4 + + + + 4/0/C12-to-4/0/ADD-DEG1 + + 4/0 + C12 + + + 4/0 + ADD-DEG1 + + + + 4/0/C12-to-4/0/ADD-DEG2 + + 4/0 + C12 + + + 4/0 + ADD-DEG2 + + + + 4/0/C12-to-4/0/ADD-DEG3 + + 4/0 + C12 + + + 4/0 + ADD-DEG3 + + + + 4/0/C12-to-4/0/ADD-DEG4 + + 4/0 + C12 + + + 4/0 + ADD-DEG4 + + + + 4/0/C13-to-4/0/ADD-DEG1 + + 4/0 + C13 + + + 4/0 + ADD-DEG1 + + + + 4/0/C13-to-4/0/ADD-DEG2 + + 4/0 + C13 + + + 4/0 + ADD-DEG2 + + + + 4/0/C13-to-4/0/ADD-DEG3 + + 4/0 + C13 + + + 4/0 + ADD-DEG3 + + + + 4/0/C13-to-4/0/ADD-DEG4 + + 4/0 + C13 + + + 4/0 + ADD-DEG4 + + + + 4/0/C14-to-4/0/ADD-DEG1 + + 4/0 + C14 + + + 4/0 + ADD-DEG1 + + + + 4/0/C14-to-4/0/ADD-DEG2 + + 4/0 + C14 + + + 4/0 + ADD-DEG2 + + + + 4/0/C14-to-4/0/ADD-DEG3 + + 4/0 + C14 + + + 4/0 + ADD-DEG3 + + + + 4/0/C14-to-4/0/ADD-DEG4 + + 4/0 + C14 + + + 4/0 + ADD-DEG4 + + + + 4/0/C15-to-4/0/ADD-DEG1 + + 4/0 + C15 + + + 4/0 + ADD-DEG1 + + + + 4/0/C15-to-4/0/ADD-DEG2 + + 4/0 + C15 + + + 4/0 + ADD-DEG2 + + + + 4/0/C15-to-4/0/ADD-DEG3 + + 4/0 + C15 + + + 4/0 + ADD-DEG3 + + + + 4/0/C15-to-4/0/ADD-DEG4 + + 4/0 + C15 + + + 4/0 + ADD-DEG4 + + + + 4/0/C16-to-4/0/ADD-DEG1 + + 4/0 + C16 + + + 4/0 + ADD-DEG1 + + + + 4/0/C16-to-4/0/ADD-DEG2 + + 4/0 + C16 + + + 4/0 + ADD-DEG2 + + + + 4/0/C16-to-4/0/ADD-DEG3 + + 4/0 + C16 + + + 4/0 + ADD-DEG3 + + + + 4/0/C16-to-4/0/ADD-DEG4 + + 4/0 + C16 + + + 4/0 + ADD-DEG4 + + + + 4/0/ADD-DEG1-to-4/0/C1 + + 4/0 + ADD-DEG1 + + + 4/0 + C1 + + + + 4/0/ADD-DEG1-to-4/0/C2 + + 4/0 + ADD-DEG1 + + + 4/0 + C2 + + + + 4/0/ADD-DEG1-to-4/0/C3 + + 4/0 + ADD-DEG1 + + + 4/0 + C3 + + + + 4/0/ADD-DEG1-to-4/0/C4 + + 4/0 + ADD-DEG1 + + + 4/0 + C4 + + + + 4/0/ADD-DEG1-to-4/0/C5 + + 4/0 + ADD-DEG1 + + + 4/0 + C5 + + + + 4/0/ADD-DEG1-to-4/0/C6 + + 4/0 + ADD-DEG1 + + + 4/0 + C6 + + + + 4/0/ADD-DEG1-to-4/0/C7 + + 4/0 + ADD-DEG1 + + + 4/0 + C7 + + + + 4/0/ADD-DEG1-to-4/0/C8 + + 4/0 + ADD-DEG1 + + + 4/0 + C8 + + + + 4/0/ADD-DEG1-to-4/0/C9 + + 4/0 + ADD-DEG1 + + + 4/0 + C9 + + + + 4/0/ADD-DEG1-to-4/0/C10 + + 4/0 + ADD-DEG1 + + + 4/0 + C10 + + + + 4/0/ADD-DEG1-to-4/0/C11 + + 4/0 + ADD-DEG1 + + + 4/0 + C11 + + + + 4/0/ADD-DEG1-to-4/0/C12 + + 4/0 + ADD-DEG1 + + + 4/0 + C12 + + + + 4/0/ADD-DEG1-to-4/0/C13 + + 4/0 + ADD-DEG1 + + + 4/0 + C13 + + + + 4/0/ADD-DEG1-to-4/0/C14 + + 4/0 + ADD-DEG1 + + + 4/0 + C14 + + + + 4/0/ADD-DEG1-to-4/0/C15 + + 4/0 + ADD-DEG1 + + + 4/0 + C15 + + + + 4/0/ADD-DEG1-to-4/0/C16 + + 4/0 + ADD-DEG1 + + + 4/0 + C16 + + + + 4/0/ADD-DEG2-to-4/0/C1 + + 4/0 + ADD-DEG2 + + + 4/0 + C1 + + + + 4/0/ADD-DEG2-to-4/0/C2 + + 4/0 + ADD-DEG2 + + + 4/0 + C2 + + + + 4/0/ADD-DEG2-to-4/0/C3 + + 4/0 + ADD-DEG2 + + + 4/0 + C3 + + + + 4/0/ADD-DEG2-to-4/0/C4 + + 4/0 + ADD-DEG2 + + + 4/0 + C4 + + + + 4/0/ADD-DEG2-to-4/0/C5 + + 4/0 + ADD-DEG2 + + + 4/0 + C5 + + + + 4/0/ADD-DEG2-to-4/0/C6 + + 4/0 + ADD-DEG2 + + + 4/0 + C6 + + + + 4/0/ADD-DEG2-to-4/0/C7 + + 4/0 + ADD-DEG2 + + + 4/0 + C7 + + + + 4/0/ADD-DEG2-to-4/0/C8 + + 4/0 + ADD-DEG2 + + + 4/0 + C8 + + + + 4/0/ADD-DEG2-to-4/0/C9 + + 4/0 + ADD-DEG2 + + + 4/0 + C9 + + + + 4/0/ADD-DEG2-to-4/0/C10 + + 4/0 + ADD-DEG2 + + + 4/0 + C10 + + + + 4/0/ADD-DEG2-to-4/0/C11 + + 4/0 + ADD-DEG2 + + + 4/0 + C11 + + + + 4/0/ADD-DEG2-to-4/0/C12 + + 4/0 + ADD-DEG2 + + + 4/0 + C12 + + + + 4/0/ADD-DEG2-to-4/0/C13 + + 4/0 + ADD-DEG2 + + + 4/0 + C13 + + + + 4/0/ADD-DEG2-to-4/0/C14 + + 4/0 + ADD-DEG2 + + + 4/0 + C14 + + + + 4/0/ADD-DEG2-to-4/0/C15 + + 4/0 + ADD-DEG2 + + + 4/0 + C15 + + + + 4/0/ADD-DEG2-to-4/0/C16 + + 4/0 + ADD-DEG2 + + + 4/0 + C16 + + + + 4/0/ADD-DEG3-to-4/0/C1 + + 4/0 + ADD-DEG3 + + + 4/0 + C1 + + + + 4/0/ADD-DEG3-to-4/0/C2 + + 4/0 + ADD-DEG3 + + + 4/0 + C2 + + + + 4/0/ADD-DEG3-to-4/0/C3 + + 4/0 + ADD-DEG3 + + + 4/0 + C3 + + + + 4/0/ADD-DEG3-to-4/0/C4 + + 4/0 + ADD-DEG3 + + + 4/0 + C4 + + + + 4/0/ADD-DEG3-to-4/0/C5 + + 4/0 + ADD-DEG3 + + + 4/0 + C5 + + + + 4/0/ADD-DEG3-to-4/0/C6 + + 4/0 + ADD-DEG3 + + + 4/0 + C6 + + + + 4/0/ADD-DEG3-to-4/0/C7 + + 4/0 + ADD-DEG3 + + + 4/0 + C7 + + + + 4/0/ADD-DEG3-to-4/0/C8 + + 4/0 + ADD-DEG3 + + + 4/0 + C8 + + + + 4/0/ADD-DEG3-to-4/0/C9 + + 4/0 + ADD-DEG3 + + + 4/0 + C9 + + + + 4/0/ADD-DEG3-to-4/0/C10 + + 4/0 + ADD-DEG3 + + + 4/0 + C10 + + + + 4/0/ADD-DEG3-to-4/0/C11 + + 4/0 + ADD-DEG3 + + + 4/0 + C11 + + + + 4/0/ADD-DEG3-to-4/0/C12 + + 4/0 + ADD-DEG3 + + + 4/0 + C12 + + + + 4/0/ADD-DEG3-to-4/0/C13 + + 4/0 + ADD-DEG3 + + + 4/0 + C13 + + + + 4/0/ADD-DEG3-to-4/0/C14 + + 4/0 + ADD-DEG3 + + + 4/0 + C14 + + + + 4/0/ADD-DEG3-to-4/0/C15 + + 4/0 + ADD-DEG3 + + + 4/0 + C15 + + + + 4/0/ADD-DEG3-to-4/0/C16 + + 4/0 + ADD-DEG3 + + + 4/0 + C16 + + + + 4/0/ADD-DEG4-to-4/0/C1 + + 4/0 + ADD-DEG4 + + + 4/0 + C1 + + + + 4/0/ADD-DEG4-to-4/0/C2 + + 4/0 + ADD-DEG4 + + + 4/0 + C2 + + + + 4/0/ADD-DEG4-to-4/0/C3 + + 4/0 + ADD-DEG4 + + + 4/0 + C3 + + + + 4/0/ADD-DEG4-to-4/0/C4 + + 4/0 + ADD-DEG4 + + + 4/0 + C4 + + + + 4/0/ADD-DEG4-to-4/0/C5 + + 4/0 + ADD-DEG4 + + + 4/0 + C5 + + + + 4/0/ADD-DEG4-to-4/0/C6 + + 4/0 + ADD-DEG4 + + + 4/0 + C6 + + + + 4/0/ADD-DEG4-to-4/0/C7 + + 4/0 + ADD-DEG4 + + + 4/0 + C7 + + + + 4/0/ADD-DEG4-to-4/0/C8 + + 4/0 + ADD-DEG4 + + + 4/0 + C8 + + + + 4/0/ADD-DEG4-to-4/0/C9 + + 4/0 + ADD-DEG4 + + + 4/0 + C9 + + + + 4/0/ADD-DEG4-to-4/0/C10 + + 4/0 + ADD-DEG4 + + + 4/0 + C10 + + + + 4/0/ADD-DEG4-to-4/0/C11 + + 4/0 + ADD-DEG4 + + + 4/0 + C11 + + + + 4/0/ADD-DEG4-to-4/0/C12 + + 4/0 + ADD-DEG4 + + + 4/0 + C12 + + + + 4/0/ADD-DEG4-to-4/0/C13 + + 4/0 + ADD-DEG4 + + + 4/0 + C13 + + + + 4/0/ADD-DEG4-to-4/0/C14 + + 4/0 + ADD-DEG4 + + + 4/0 + C14 + + + + 4/0/ADD-DEG4-to-4/0/C15 + + 4/0 + ADD-DEG4 + + + 4/0 + C15 + + + + 4/0/ADD-DEG4-to-4/0/C16 + + 4/0 + ADD-DEG4 + + + 4/0 + C16 + + + + phylink-1 + + 2/0 + C1 + + + 4/0 + ADD-DEG1 + + + + phylink-2 + + 4/0 + ADD-DEG1 + + + 2/0 + C1 + + + + phylink-3 + + 3/0 + C1 + + + 4/0 + ADD-DEG2 + + + + phylink-4 + + 4/0 + ADD-DEG2 + + + 3/0 + C1 + + + + phylink-5 + + 2/0 + C9 + + + 3/0 + C9 + + + + phylink-6 + + 3/0 + C9 + + + 2/0 + C9 + + + + 1 + 96 + + 1 + 2/0 + + + 2 + 2/0/OSC-PLUG + + + 3 + 2/0/ETH-PLUG + + + 1 + 2/0 + L1 + + + + 2 + 96 + + 1 + 3/0 + + + 2 + 3/0/OSC-PLUG + + + 3 + 3/0/ETH-PLUG + + + 1 + 3/0 + L1 + + + + 1 + 16 + onePerSRG + + 1 + 4/0 + + + + 1 + + 2/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 2 + + 4/0 + C1 + + + 2/0 + E1 + + + + 3 + + 4/0 + C2 + + + 2/0 + E1 + + + + 4 + + 4/0 + C3 + + + 2/0 + E1 + + + + 5 + + 4/0 + C4 + + + 2/0 + E1 + + + + 6 + + 4/0 + C5 + + + 2/0 + E1 + + + + 7 + + 4/0 + C6 + + + 2/0 + E1 + + + + 8 + + 4/0 + C7 + + + 2/0 + E1 + + + + 9 + + 4/0 + C8 + + + 2/0 + E1 + + + + 10 + + 4/0 + C9 + + + 2/0 + E1 + + + + 11 + + 4/0 + C10 + + + 2/0 + E1 + + + + 12 + + 4/0 + C11 + + + 2/0 + E1 + + + + 13 + + 4/0 + C12 + + + 2/0 + E1 + + + + 14 + + 4/0 + C13 + + + 2/0 + E1 + + + + 15 + + 4/0 + C14 + + + 2/0 + E1 + + + + 16 + + 4/0 + C15 + + + 2/0 + E1 + + + + 17 + + 4/0 + C16 + + + 2/0 + E1 + + + + 18 + + 3/0 + L1 + + + 4/0 + C1 + + + 4/0 + C2 + + + 4/0 + C3 + + + 4/0 + C4 + + + 4/0 + C5 + + + 4/0 + C6 + + + 4/0 + C7 + + + 4/0 + C8 + + + 4/0 + C9 + + + 4/0 + C10 + + + 4/0 + C11 + + + 4/0 + C12 + + + 4/0 + C13 + + + 4/0 + C14 + + + 4/0 + C15 + + + 4/0 + C16 + + + + 19 + + 4/0 + C1 + + + 3/0 + E1 + + + + 20 + + 4/0 + C2 + + + 3/0 + E1 + + + + 21 + + 4/0 + C3 + + + 3/0 + E1 + + + + 22 + + 4/0 + C4 + + + 3/0 + E1 + + + + 23 + + 4/0 + C5 + + + 3/0 + E1 + + + + 24 + + 4/0 + C6 + + + 3/0 + E1 + + + + 25 + + 4/0 + C7 + + + 3/0 + E1 + + + + 26 + + 4/0 + C8 + + + 3/0 + E1 + + + + 27 + + 4/0 + C9 + + + 3/0 + E1 + + + + 28 + + 4/0 + C10 + + + 3/0 + E1 + + + + 29 + + 4/0 + C11 + + + 3/0 + E1 + + + + 30 + + 4/0 + C12 + + + 3/0 + E1 + + + + 31 + + 4/0 + C13 + + + 3/0 + E1 + + + + 32 + + 4/0 + C14 + + + 3/0 + E1 + + + + 33 + + 4/0 + C15 + + + 3/0 + E1 + + + + 34 + + 4/0 + C16 + + + 3/0 + E1 + + + + diff --git a/tests/sample_configs/nodes_config/sample-config-XPDRA.xml b/tests/sample_configs/nodes_config/sample-config-XPDRA.xml new file mode 100644 index 000000000..f79059264 --- /dev/null +++ b/tests/sample_configs/nodes_config/sample-config-XPDRA.xml @@ -0,0 +1,770 @@ + + + + + XPDRA + 1 + xpdr + NodeA + vendorA + 1 + 00001 + 127.0.0.10 + 28 + 127.0.0.20 + static + 127.0.0.10 + 28 + aa:aa:aa:aa:aa:aa + 1.0 + + 2017-08-29T15:58:01+00:00 + + 33 + -96 + + + + + openroadm + openroadm + sudo + + + + 1 + pizza + XYZ + 1 + inService + vendorA + 1 + 0001 + pizza + zzz + 2017-04-01T00:00:00+00:00 + www + 01 + inService + not-reserved-available + 2017-02-24T15:56:10+00:00 + + 0 + + 1/0 + + + + 1/0 + TSP100G + inService + VendorA + WDM80 + aaaaa + TSP + TSP100G1 + 2017-04-01T00:00:00+00:00 + xxx + 01 + inService + + circuitPack + + not-reserved-available + NORMAL + 1 + 0 + 0 + 2017-04-12T15:56:10+00:00 + + 1 + + 1/0/1-PLUG-NET + + + + 2 + + 1/0/2-PLUG-CLIENT + + + + + 1/0/1-PLUG-NET + pluggable + inService + vendorA + CFP2 + ssss + Coherent + T100N + 2017-04-01T00:00:00+00:00 + tttt + 01 + inService + + other + + not-reserved-available + NORMAL + 1 + 0 + 1 + 2017-04-14T15:56:10+00:00 + + 1/0 + 1 + + + 1 + CFP2 + xpdr-network + bidirectional + XPDRA-NETWORK + inService + NETWORK1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + + + + + 1/0/2-PLUG-CLIENT + pluggable + inService + vendorA + QSFP28 + xxxx + QSFP28 + 100GELR4 + 2017-03-01T00:00:00+00:00 + ccccc + 01 + + other + + not-reserved-available + NORMAL + 1 + 0 + 2 + 2017-04-14T15:56:10+00:00 + + 1/0 + 2 + + + 1 + QSFP28 + xpdr-client + bidirectional + XPDRA-CLIENT + inService + CLIENT1 + + 1 + + + + + + 1 + 196.1 + 1528.77 + + + 2 + 196.05 + 1529.16 + + + 3 + 196.0 + 1529.55 + + + 4 + 195.95 + 1529.94 + + + 5 + 195.9 + 1530.33 + + + 6 + 195.85 + 1530.72 + + + 7 + 195.8 + 1531.12 + + + 8 + 195.75 + 1531.51 + + + 9 + 195.7 + 1531.9 + + + 10 + 195.65 + 1532.29 + + + 11 + 195.6 + 1532.68 + + + 12 + 195.55 + 1533.07 + + + 13 + 195.5 + 1533.47 + + + 14 + 195.45 + 1533.86 + + + 15 + 195.4 + 1534.25 + + + 16 + 195.35 + 1534.64 + + + 17 + 195.3 + 1535.04 + + + 18 + 195.25 + 1535.43 + + + 19 + 195.2 + 1535.82 + + + 20 + 195.15 + 1536.22 + + + 21 + 195.1 + 1536.61 + + + 22 + 195.05 + 1537.0 + + + 23 + 195.0 + 1537.4 + + + 24 + 194.95 + 1537.79 + + + 25 + 194.9 + 1538.19 + + + 26 + 194.85 + 1538.58 + + + 27 + 194.8 + 1538.98 + + + 28 + 194.75 + 1539.37 + + + 29 + 194.7 + 1539.77 + + + 30 + 194.65 + 1540.16 + + + 31 + 194.6 + 1540.56 + + + 32 + 194.55 + 1540.95 + + + 33 + 194.5 + 1541.35 + + + 34 + 194.45 + 1541.75 + + + 35 + 194.4 + 1542.14 + + + 36 + 194.35 + 1542.54 + + + 37 + 194.3 + 1542.94 + + + 38 + 194.25 + 1543.33 + + + 39 + 194.2 + 1543.73 + + + 40 + 194.15 + 1544.13 + + + 41 + 194.1 + 1544.53 + + + 42 + 194.05 + 1544.92 + + + 43 + 194.0 + 1545.32 + + + 44 + 193.95 + 1545.72 + + + 45 + 193.9 + 1546.12 + + + 46 + 193.85 + 1546.52 + + + 47 + 193.8 + 1546.92 + + + 48 + 193.75 + 1547.32 + + + 49 + 193.7 + 1547.72 + + + 50 + 193.65 + 1548.11 + + + 51 + 193.6 + 1548.51 + + + 52 + 193.55 + 1548.91 + + + 53 + 193.5 + 1549.32 + + + 54 + 193.45 + 1549.72 + + + 55 + 193.4 + 1550.12 + + + 56 + 193.35 + 1550.52 + + + 57 + 193.3 + 1550.92 + + + 58 + 193.25 + 1551.32 + + + 59 + 193.2 + 1551.72 + + + 60 + 193.15 + 1552.12 + + + 61 + 193.1 + 1552.52 + + + 62 + 193.05 + 1552.93 + + + 63 + 193.0 + 1553.33 + + + 64 + 192.95 + 1553.73 + + + 65 + 192.9 + 1554.13 + + + 66 + 192.85 + 1554.54 + + + 67 + 192.8 + 1554.94 + + + 68 + 192.75 + 1555.34 + + + 69 + 192.7 + 1555.75 + + + 70 + 192.65 + 1556.15 + + + 71 + 192.6 + 1556.55 + + + 72 + 192.55 + 1556.96 + + + 73 + 192.5 + 1557.36 + + + 74 + 192.45 + 1557.77 + + + 75 + 192.4 + 1558.17 + + + 76 + 192.35 + 1558.58 + + + 77 + 192.3 + 1558.98 + + + 78 + 192.25 + 1559.39 + + + 79 + 192.2 + 1559.79 + + + 80 + 192.15 + 1560.2 + + + 81 + 192.1 + 1560.61 + + + 82 + 192.05 + 1561.01 + + + 83 + 192.0 + 1561.42 + + + 84 + 191.95 + 1561.83 + + + 85 + 191.9 + 1562.23 + + + 86 + 191.85 + 1562.64 + + + 87 + 191.8 + 1563.05 + + + 88 + 191.75 + 1563.45 + + + 89 + 191.7 + 1563.86 + + + 90 + 191.65 + 1564.27 + + + 91 + 191.6 + 1564.68 + + + 92 + 191.55 + 1565.09 + + + 93 + 191.5 + 1565.5 + + + 94 + 191.45 + 1565.9 + + + 95 + 191.4 + 1566.31 + + + 96 + 191.35 + 1566.72 + + + + 1/0/2-PLUG-CLIENT-to-1/0/1-PLUG-NET + + + 1/0/2-PLUG-CLIENT + 1 + + + 1/0/1-PLUG-NET + 1 + + + + 1 + + 1/0/2-PLUG-CLIENT + 1 + + + 1/0/1-PLUG-NET + 1 + + + + diff --git a/tests/tox.ini b/tests/tox.ini index 9b324a1d8..e8ceff59f 100644 --- a/tests/tox.ini +++ b/tests/tox.ini @@ -9,10 +9,12 @@ deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash commands = - {p27,portmapping,pce}: bash -c "(cd .. && mvn clean install -DskipTests -Dmaven.javadoc.skip=true)" + {p27,portmapping,topology,pce}: bash -c "(cd .. && mvn clean install -DskipTests -Dmaven.javadoc.skip=true)" {py27,portmapping}: ./build.sh + {topology}: ./buildTesttool.sh {p27,servicehandler}: ./SH_func_tests.sh py27: nosetests --with-xunit transportpce_tests/ portmapping: nosetests --with-xunit transportpce_tests/test_portmapping.py - servicehandler: nosetests --with-xunit transportpce_tests/test_servicehandler.py + topology: nosetests --with-xunit transportpce_tests/test_topology.py pce: nosetests --with-xunit transportpce_tests/test_pce.py + servicehandler: nosetests --with-xunit transportpce_tests/test_servicehandler.py diff --git a/tests/transportpce_tests/test_topology.py b/tests/transportpce_tests/test_topology.py new file mode 100644 index 000000000..ac25b464f --- /dev/null +++ b/tests/transportpce_tests/test_topology.py @@ -0,0 +1,1047 @@ +#!/usr/bin/env python + +############################################################################## +#Copyright (c) 2017 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 +############################################################################## + +import json +import os +import psutil +import requests +import signal +import shutil +import subprocess +import time +import unittest +import logging + +class TransportPCEtesting(unittest.TestCase): + + testtools_process1 = None + testtools_process2 = None + testtools_process3 = None + testtools_process4 = None + odl_process = None + restconf_baseurl = "http://localhost:8181/restconf" + + @classmethod + def __start_testtools(cls): + executable = ("./netconf/netconf/tools/netconf-testtool/target/" + "netconf-testtool-1.3.1-executable.jar") + if os.path.isfile(executable): + if not os.path.exists("transportpce_tests/log"): + os.makedirs("transportpce_tests/log") + if os.path.isfile("./transportpce_tests/log/response.log"): + os.remove("transportpce_tests/log/response.log") + with open('transportpce_tests/log/testtools_ROADMA.log', 'w') as outfile1: + cls.testtools_process1 = subprocess.Popen( + ["java", "-jar", executable, "--schemas-dir", "schemas", + "--initial-config-xml", "sample_configs/nodes_config/sample-config-ROADMA.xml","--starting-port","17831"], + stdout=outfile1) + with open('transportpce_tests/log/testtools_ROADMB.log', 'w') as outfile2: + cls.testtools_process2 = subprocess.Popen( + ["java", "-jar", executable, "--schemas-dir", "schemas", + "--initial-config-xml", "sample_configs/nodes_config/sample-config-ROADMB.xml","--starting-port","17832"], + stdout=outfile2) + with open('transportpce_tests/log/testtools_ROADMC.log', 'w') as outfile3: + cls.testtools_process3 = subprocess.Popen( + ["java", "-jar", executable, "--schemas-dir", "schemas", + "--initial-config-xml", "sample_configs/nodes_config/sample-config-ROADMC.xml","--starting-port","17833"], + stdout=outfile3) + with open('transportpce_tests/log/testtools_XPDRA.log', 'w') as outfile4: + cls.testtools_process4 = subprocess.Popen( + ["java", "-jar", executable, "--schemas-dir", "schemas", + "--initial-config-xml", "sample_configs/nodes_config/sample-config-XPDRA.xml","--starting-port","17830"], + stdout=outfile4) + + @classmethod + def __start_odl(cls): + executable = "../karaf/target/assembly/bin/karaf" + with open('transportpce_tests/log/odl.log', 'w') as outfile: + cls.odl_process = subprocess.Popen( + ["bash", executable], stdout=outfile, + stdin=open(os.devnull)) + + @classmethod + def setUpClass(cls): + cls.__start_testtools() + cls.__start_odl() + time.sleep(60) + + @classmethod + def tearDownClass(cls): + cls.testtools_process1.send_signal(signal.SIGINT) + cls.testtools_process1.wait() + cls.testtools_process2.send_signal(signal.SIGINT) + cls.testtools_process2.wait() + cls.testtools_process3.send_signal(signal.SIGINT) + cls.testtools_process3.wait() + cls.testtools_process4.send_signal(signal.SIGINT) + cls.testtools_process4.wait() + for child in psutil.Process(cls.odl_process.pid).children(): + child.send_signal(signal.SIGINT) + child.wait() + cls.odl_process.send_signal(signal.SIGINT) + cls.odl_process.wait() + print('End of the tear down class') + + def setUp(self): + time.sleep(10) + + def test_01_connect_ROADMA(self): + #Config ROADMA + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMA" + .format(self.restconf_baseurl)) + data = {"node": [{ + "node-id": "ROADMA", + "netconf-node-topology:username": "admin", + "netconf-node-topology:password": "admin", + "netconf-node-topology:host": "127.0.0.1", + "netconf-node-topology:port": "17831", + "netconf-node-topology:tcp-only": "false", + "netconf-node-topology:pass-through": {}}]} + headers = {'content-type': 'application/json'} + response = requests.request( + "PUT", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.created) + time.sleep(30) + + def test_02_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertEqual(res['network'][0]['node'][0]['node-id'],'NodeA') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'],'NodeA') + + def test_03_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMA') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['network-ref'],'clli-network') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['node-ref'],'NodeA') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:node-type'],'ROADM') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:model'],'2') + + def test_04_getLinks_OpenroadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Tests related to links + self.assertEqual(len(res['network'][0]['ietf-network-topology:link']),6) + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['org-openroadm-network-topology:link-type'],'ADD-LINK') + time.sleep(1) + + def test_05_getNodes_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + res = response.json() + #Tests related to nodes + self.assertEqual(response.status_code, requests.codes.ok) + with open('./transportpce_tests/log/response.log', 'a') as outfile1: + outfile1.write(str(len(res['network'][0]['node']))) + self.assertEqual(len(res['network'][0]['node']),3) + #Tests related to nodes + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMA-SRG1') + #failed tests + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][0]['supporting-node']) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][1]['node-id'],'ROADMA-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][1]['supporting-node']) + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMA-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][2]['supporting-node']) + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network-topology:node-type'],'DEGREE') + + def test_06_connect_XPDRA(self): + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/XPDRA" + .format(self.restconf_baseurl)) + data = {"node": [{ + "node-id": "XPDRA", + "netconf-node-topology:username": "admin", + "netconf-node-topology:password": "admin", + "netconf-node-topology:host": "127.0.0.1", + "netconf-node-topology:port": "17830", + "netconf-node-topology:tcp-only": "false", + "netconf-node-topology:pass-through": {}}]} + headers = {'content-type': 'application/json'} + response = requests.request( + "PUT", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.created) + time.sleep(30) + + def test_07_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertEqual(res['network'][0]['node'][0]['node-id'],'NodeA') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'],'NodeA') + + def test_08_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,2) + self.assertEqual(res['network'][0]['node'][0]['node-id'],'XPDRA') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['network-ref'],'clli-network') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['node-ref'],'NodeA') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:node-type'],'XPONDER') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:model'],'1') + + def test_09_getNodes_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + res = response.json() + #Tests related to nodes + self.assertEqual(response.status_code, requests.codes.ok) + with open('./transportpce_tests/log/response.log', 'a') as outfile1: + outfile1.write(str(len(res['network'][0]['node']))) + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,4) + #Tests related to XPDRA nodes + self.assertEqual(res['network'][0]['node'][1]['node-id'],'XPDRA-XPDR1') + self.assertEqual(len(res['network'][0]['node'][1]['ietf-network-topology:termination-point']),2) + self.assertEqual({'tp-id': 'XPDR1-CLIENT1', 'org-openroadm-network-topology:tp-type': 'XPONDER-CLIENT', + 'org-openroadm-network-topology:xpdr-network-attributes': { + 'tail-equipment-id': 'XPDR1-NETWORK1'}}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point'][0]) + self.assertEqual({'tp-id': 'XPDR1-NETWORK1', 'org-openroadm-network-topology:tp-type': 'XPONDER-NETWORK', + 'org-openroadm-network-topology:xpdr-client-attributes': {'tail-equipment-id': 'XPDR1-CLIENT1'}}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point'][1]) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA'}, + res['network'][0]['node'][1]['supporting-node']) + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network-topology:node-type'],'XPONDER') + #Tests related to ROADMA nodes + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMA-SRG1') + #To be integrate in the effective tests + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][0]['supporting-node']) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMA-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][2]['supporting-node']) + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][3]['node-id'],'ROADMA-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][3]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][3]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][3]['supporting-node']) + self.assertEqual(res['network'][0]['node'][3]['org-openroadm-network-topology:node-type'],'DEGREE') + + #Connect the tail XPDRA to ROADMA and vice versa + def test_10_connect_tail_xpdr_rdm(self): + #Connect the tail: XPDRA to ROADMA + url = ("{}/operations/networkutils:init-xpdr-rdm-links" + .format(self.restconf_baseurl)) + data = {"networkutils:input": { + "networkutils:links-input": { + "networkutils:xpdr-node": "XPDRA", + "networkutils:xpdr-num": "1", + "networkutils:network-num": "1", + "networkutils:rdm-node": "ROADMA", + "networkutils:srg-num": "1", + "networkutils:termination-point-num": "SRG1-PP1-TXRX" + } + } + } + headers = {'content-type': 'application/json'} + response = requests.request( + "POST", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + time.sleep(10) + + def test_11_connect_tail_rdm_xpdr(self): + #Connect the tail: ROADMA to XPDRA + url = ("{}/operations/networkutils:init-rdm-xpdr-links" + .format(self.restconf_baseurl)) + data = {"networkutils:input": { + "networkutils:links-input": { + "networkutils:xpdr-node": "XPDRA", + "networkutils:xpdr-num": "1", + "networkutils:network-num": "1", + "networkutils:rdm-node": "ROADMA", + "networkutils:srg-num": "1", + "networkutils:termination-point-num": "SRG1-PP1-TXRX" + } + } + } + headers = {'content-type': 'application/json'} + response = requests.request( + "POST", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + time.sleep(10) + + def test_12_getLinks_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Tests related to links + self.assertEqual(len(res['network'][0]['ietf-network-topology:link']),8) + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['link-id'],'XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['org-openroadm-network-topology:link-type'],'XPONDER-OUTPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['link-id'],'ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['org-openroadm-network-topology:link-type'],'XPONDER-INPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['org-openroadm-network-topology:link-type'],'ADD-LINK') + + def test_13_connect_ROADMC(self): + #Config ROADMC + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMC" + .format(self.restconf_baseurl)) + data = {"node": [{ + "node-id": "ROADMC", + "netconf-node-topology:username": "admin", + "netconf-node-topology:password": "admin", + "netconf-node-topology:host": "127.0.0.1", + "netconf-node-topology:port": "17833", + "netconf-node-topology:tcp-only": "false", + "netconf-node-topology:pass-through": {}}]} + headers = {'content-type': 'application/json'} + response = requests.request( + "PUT", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.created) + time.sleep(30) + + def test_14_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertEqual(res['network'][0]['node'][0]['node-id'],'NodeC') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'],'NodeC') + self.assertEqual(res['network'][0]['node'][1]['node-id'],'NodeA') + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-clli-network:clli'],'NodeA') + + def test_15_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,3) + self.assertEqual(res['network'][0]['node'][0]['node-id'],'XPDRA') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['network-ref'],'clli-network') + self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['node-ref'],'NodeA') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:node-type'],'XPONDER') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:model'],'1') + self.assertEqual(res['network'][0]['node'][1]['node-id'],'ROADMA') + self.assertEqual(res['network'][0]['node'][1]['supporting-node'][0]['network-ref'],'clli-network') + self.assertEqual(res['network'][0]['node'][1]['supporting-node'][0]['node-ref'],'NodeA') + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network:node-type'],'ROADM') + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network:model'],'2') + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMC') + self.assertEqual(res['network'][0]['node'][2]['supporting-node'][0]['network-ref'],'clli-network') + self.assertEqual(res['network'][0]['node'][2]['supporting-node'][0]['node-ref'],'NodeC') + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network:node-type'],'ROADM') + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network:model'],'2') + + def test_16_getROADMLinkOpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Tests related to links + nbLink=len(res['network'][0]['ietf-network-topology:link']) + self.assertEqual(nbLink,16) + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['link-id'],'ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['link-id'],'XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['org-openroadm-network-topology:link-type'],'XPONDER-OUTPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['link-id'],'ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['link-id'],'ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][8]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][8]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][9]['link-id'],'ROADMA-DEG1-DEG1-TTP-TXRXtoROADMC-DEG2-DEG2-TTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][9]['org-openroadm-network-topology:link-type'],'ROADM-TO-ROADM') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][10]['link-id'],'ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][10]['org-openroadm-network-topology:link-type'],'XPONDER-INPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][11]['link-id'],'ROADMC-DEG2-DEG2-TTP-TXRXtoROADMA-DEG1-DEG1-TTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][11]['org-openroadm-network-topology:link-type'],'ROADM-TO-ROADM') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][12]['link-id'],'ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][12]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][13]['link-id'],'ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][13]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][14]['link-id'],'ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][14]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][15]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][15]['org-openroadm-network-topology:link-type'],'ADD-LINK') + + def test_17_getNodes_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + res = response.json() + #Tests related to nodes + self.assertEqual(response.status_code, requests.codes.ok) + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,7) + #************************Tests related to XPDRA nodes + self.assertEqual(res['network'][0]['node'][4]['node-id'],'XPDRA-XPDR1') + self.assertEqual(len(res['network'][0]['node'][4]['ietf-network-topology:termination-point']),2) + self.assertEqual({'tp-id': 'XPDR1-CLIENT1', 'org-openroadm-network-topology:tp-type': 'XPONDER-CLIENT', + 'org-openroadm-network-topology:xpdr-network-attributes': { + 'tail-equipment-id': 'XPDR1-NETWORK1'}}, + res['network'][0]['node'][4]['ietf-network-topology:termination-point'][0]) + self.assertEqual({'tp-id': 'XPDR1-NETWORK1', 'org-openroadm-network-topology:tp-type': 'XPONDER-NETWORK', + 'org-openroadm-network-topology:xpdr-client-attributes': {'tail-equipment-id': 'XPDR1-CLIENT1'}}, + res['network'][0]['node'][4]['ietf-network-topology:termination-point'][1]) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA'}, + res['network'][0]['node'][4]['supporting-node']) + self.assertEqual(res['network'][0]['node'][4]['org-openroadm-network-topology:node-type'],'XPONDER') + #************************Tests related to ROADMA nodes + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][3]['node-id'],'ROADMA-SRG1') + #To be integrate in the effective tests + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][3]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][3]['supporting-node']) + self.assertEqual(res['network'][0]['node'][3]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][5]['node-id'],'ROADMA-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][5]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][5]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][5]['supporting-node']) + self.assertEqual(res['network'][0]['node'][5]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][6]['node-id'],'ROADMA-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][6]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][6]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][6]['supporting-node']) + self.assertEqual(res['network'][0]['node'][6]['org-openroadm-network-topology:node-type'],'DEGREE') + #************************Tests related to ROADMC nodes + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMC-SRG1') + #To be integrate in the effective tests + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC'}, + res['network'][0]['node'][0]['supporting-node']) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][1]['node-id'],'ROADMC-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC'}, + res['network'][0]['node'][1]['supporting-node']) + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMC-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC'}, + res['network'][0]['node'][2]['supporting-node']) + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network-topology:node-type'],'DEGREE') + + def test_18_connect_ROADMB(self): + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMB" + .format(self.restconf_baseurl)) + data = {"node": [{ + "node-id": "ROADMB", + "netconf-node-topology:username": "admin", + "netconf-node-topology:password": "admin", + "netconf-node-topology:host": "127.0.0.1", + "netconf-node-topology:port": "17832", + "netconf-node-topology:tcp-only": "false", + "netconf-node-topology:pass-through": {}}]} + headers = {'content-type': 'application/json'} + response = requests.request( + "PUT", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.created) + time.sleep(30) + + def test_19_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertEqual(res['network'][0]['node'][0]['node-id'],'NodeC') + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'],'NodeC') + self.assertEqual(res['network'][0]['node'][1]['node-id'],'NodeA') + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-clli-network:clli'],'NodeA') + self.assertEqual(res['network'][0]['node'][2]['node-id'],'NodeB') + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-clli-network:clli'],'NodeB') + + def test_20_verifyDegree(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Tests related to links + nbLink=len(res['network'][0]['ietf-network-topology:link']) + listR2RLink=['ROADMA-DEG1-DEG1-TTP-TXRXtoROADMC-DEG2-DEG2-TTP-TXRX','ROADMC-DEG2-DEG2-TTP-TXRXtoROADMA-DEG1-DEG1-TTP-TXRX', + 'ROADMA-DEG2-DEG2-TTP-TXRXtoROADMB-DEG1-DEG1-TTP-TXRX','ROADMC-DEG1-DEG1-TTP-TXRXtoROADMB-DEG2-DEG2-TTP-TXRX', + 'ROADMB-DEG1-DEG1-TTP-TXRXtoROADMA-DEG2-DEG2-TTP-TXRX','ROADMB-DEG2-DEG2-TTP-TXRXtoROADMC-DEG1-DEG1-TTP-TXRX'] + for i in range(0,nbLink): + if res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-network-topology:link-type'] == 'ROADM-TO-ROADM': + link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] + find= link_id in listR2RLink + self.assertEqual(find, True) + listR2RLink.remove(link_id) + self.assertEqual(len(listR2RLink),0) + + def test_21_verifyOppositeLinkTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Write the response in the log + with open('./transportpce_tests/log/response.log', 'a') as outfile1: + outfile1.write(str(res)) + #Tests related to links + nbLink=len(res['network'][0]['ietf-network-topology:link']) + self.assertEqual(nbLink,26) + for i in range(0,nbLink): + link_id=res['network'][0]['ietf-network-topology:link'][i]['link-id'] + link_type=res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-network-topology:link-type'] + link_src=res['network'][0]['ietf-network-topology:link'][i]['source']['source-node'] + link_dest=res['network'][0]['ietf-network-topology:link'][i]['destination']['dest-node'] + oppLink_id=res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-opposite-links:opposite-link'] + #Find the opposite link + url_oppLink="{}/config/ietf-network:network/openroadm-topology/ietf-network-topology:link/"+oppLink_id + url = (url_oppLink.format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response_oppLink = requests.request("GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response_oppLink.status_code, requests.codes.ok) + res_oppLink = response_oppLink.json() + self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['org-openroadm-opposite-links:opposite-link'],link_id) + self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['source']['source-node'],link_dest) + self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['destination']['dest-node'],link_src) + oppLink_type=res_oppLink['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'] + if link_type=='ADD-LINK': + self.assertEqual(oppLink_type, 'DROP-LINK') + elif link_type=='DROP-LINK': + self.assertEqual(oppLink_type, 'ADD-LINK') + elif link_type=='EXPRESS-LINK': + self.assertEqual(oppLink_type, 'EXPRESS-LINK') + elif link_type=='ROADM-TO-ROADM': + self.assertEqual(oppLink_type, 'ROADM-TO-ROADM') + elif link_type=='XPONDER-INPUT': + self.assertEqual(oppLink_type, 'XPONDER-OUTPUT') + elif link_type=='XPONDER-OUTPUT': + self.assertEqual(oppLink_type, 'XPONDER-INPUT') + time.sleep(5) + + def test_22_disconnect_ROADMB(self): + #Delete in the topology-netconf + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMB" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the clli-network + url = ("{}/config/ietf-network:network/clli-network/node/NodeB" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the openroadm-network + url = ("{}/config/ietf-network:network/openroadm-network/node/ROADMB" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + + def test_23_disconnect_ROADMC(self): + #Delete in the topology-netconf + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMC" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the clli-network + url = ("{}/config/ietf-network:network/clli-network/node/NodeC" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the openroadm-network + url = ("{}/config/ietf-network:network/openroadm-network/node/ROADMC" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + + def test_24_getLinks_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + #Write the response in the log + with open('./transportpce_tests/log/response.log', 'a') as outfile1: + outfile1.write(str(res)) + #Tests related to links + nbLink=len(res['network'][0]['ietf-network-topology:link']) + self.assertEqual(nbLink,8) + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['link-id'],'XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['org-openroadm-network-topology:link-type'],'XPONDER-OUTPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['link-id'],'ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['org-openroadm-network-topology:link-type'],'XPONDER-INPUT') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][6]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][7]['org-openroadm-network-topology:link-type'],'ADD-LINK') + for i in range(0,nbLink-1): + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-network-topology:link-type'],'ROADM-TO-ROADM') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG2-DEG1-CTP-TXRX') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-DEG1-DEG2-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['link-id'],'ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX') + + def test_25_getNodes_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + res = response.json() + #Tests related to nodes + self.assertEqual(response.status_code, requests.codes.ok) + with open('./transportpce_tests/log/response.log', 'a') as outfile1: + outfile1.write(str(len(res['network'][0]['node']))) + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,4) + #Tests related to nodes + self.assertEqual(res['network'][0]['node'][1]['node-id'],'XPDRA-XPDR1') + self.assertEqual(len(res['network'][0]['node'][1]['ietf-network-topology:termination-point']),4) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA'}, + res['network'][0]['node'][1]['supporting-node']) + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network-topology:node-type'],'XPONDER') + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMA-SRG1') + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][0]['supporting-node']) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMA-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network' ][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][2]['supporting-node']) + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][3]['node-id'],'ROADMA-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][3]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][3]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][3]['supporting-node']) + self.assertEqual(res['network'][0]['node'][3]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to SRG1 of ROADMC + for i in range(0,nbNode-1): + self.assertNotEqual(res['network'][0]['node'][i]['node-id'],'ROADMC-SRG1') + self.assertNotEqual(res['network'][0]['node'][i]['node-id'],'ROADMC-DEG1') + self.assertNotEqual(res['network'][0]['node'][i]['node-id'],'ROADMC-DEG2') + + def test_26_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,2) + for i in range(0,nbNode-1): + self.assertNotEqual(res['network'][0]['node'][i]['node-id'],'ROADMC') + + def test_27_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,1) + for i in range(0,nbNode-1): + self.assertNotEqual(res['network'][0]['node'][1]['org-openroadm-clli-network:clli'],'NodeC') + + def test_28_disconnect_XPDRA(self): + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/XPDRA" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the openroadm-network + url = ("{}/config/ietf-network:network/openroadm-network/node/XPDRA" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + + def test_29_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,1) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'],'NodeA') + + def test_30_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,1) + for i in range(0,nbNode-1): + self.assertNotEqual(res['network'][0]['node'][i]['node-id'],'XPDRA') + + def test_31_getNodes_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + res = response.json() + #Tests related to nodes + self.assertEqual(response.status_code, requests.codes.ok) + nbNode=len(res['network'][0]['node']) + self.assertEqual(nbNode,3) + #Tests related to nodes + #Test related to SRG1 + self.assertEqual(res['network'][0]['node'][0]['node-id'],'ROADMA-SRG1') + self.assertEqual(len(res['network'][0]['node'][0]['ietf-network-topology:termination-point']),17) + self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-CP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-network-topology:tp-type': 'SRG-TXRX-PP'}, + res['network'][0]['node'][0]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][0]['supporting-node']) + self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network-topology:node-type'],'SRG') + #Test related to DEG2 + self.assertEqual(res['network'][0]['node'][1]['node-id'],'ROADMA-DEG2') + self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][1]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][1]['supporting-node']) + self.assertEqual(res['network'][0]['node'][1]['org-openroadm-network-topology:node-type'],'DEGREE') + #Test related to DEG1 + self.assertEqual(res['network'][0]['node'][2]['node-id'],'ROADMA-DEG1') + self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-TTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-network-topology:tp-type': 'DEGREE-TXRX-CTP'}, + res['network'][0]['node'][2]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA'}, + res['network'][0]['node'][2]['supporting-node']) + self.assertEqual(res['network'][0]['node'][2]['org-openroadm-network-topology:node-type'],'DEGREE') + + def test_32_disconnect_ROADM_XPDRA_link(self): + #Link-1 + url = ("{}/config/ietf-network:network/openroadm-topology/ietf-network-topology:" + "link/XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Link-2 + url = ("{}/config/ietf-network:network/openroadm-topology/ietf-network-topology:" + "link/ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + + def test_33_getLinks_OpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + nbLink=len(res['network'][0]['ietf-network-topology:link']) + self.assertEqual(nbLink,6) + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][0]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][1]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['link-id'],'ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][2]['org-openroadm-network-topology:link-type'],'DROP-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][3]['org-openroadm-network-topology:link-type'],'ADD-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['link-id'],'ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][4]['org-openroadm-network-topology:link-type'],'EXPRESS-LINK') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['link-id'],'ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX') + self.assertEqual(res['network'][0]['ietf-network-topology:link'][5]['org-openroadm-network-topology:link-type'],'ADD-LINK') + for i in range(0,nbLink-1): + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-network-topology:link-type'],'XPONDER-OUTPUT') + self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-network-topology:link-type'],'XPONDER-INPUT') + + def test_34_disconnect_ROADMA(self): + url = ("{}/config/network-topology:" + "network-topology/topology/topology-netconf/node/ROADMA" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the clli-network + url = ("{}/config/ietf-network:network/clli-network/node/NodeA" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + #Delete in the openroadm-network + url = ("{}/config/ietf-network:network/openroadm-network/node/ROADMA" + .format(self.restconf_baseurl)) + data = {} + headers = {'content-type': 'application/json'} + response = requests.request( + "DELETE", url, data=json.dumps(data), headers=headers, + auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + time.sleep(5) + + def test_35_getClliNetwork(self): + url = ("{}/config/ietf-network:network/clli-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertNotIn('node', res['network'][0]) + + def test_36_getOpenRoadmNetwork(self): + url = ("{}/config/ietf-network:network/openroadm-network" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertNotIn('node', res['network'][0]) + + def test_37_getOpenRoadmTopology(self): + url = ("{}/config/ietf-network:network/openroadm-topology" + .format(self.restconf_baseurl)) + headers = {'content-type': 'application/json'} + response = requests.request( + "GET", url, headers=headers, auth=('admin', 'admin')) + self.assertEqual(response.status_code, requests.codes.ok) + res = response.json() + self.assertNotIn('node', res['network'][0]) + self.assertNotIn('ietf-network-topology:link', res['network'][0]) + +if __name__ == "__main__": + #logging.basicConfig(filename='./transportpce_tests/log/response.log',filemode='w',level=logging.DEBUG) + #logging.debug('I am there') + unittest.main(verbosity=2) -- 2.36.6