3 ##############################################################################
4 #Copyright (c) 2017 Orange, Inc. and others. All rights reserved.
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
23 class TransportGNPYtesting(unittest.TestCase):
27 restconf_baseurl = "http://localhost:8181/restconf"
30 def __init_logfile(cls):
31 if os.path.isfile("./transportpce_tests/gnpy.log"):
32 os.remove("transportpce_tests/gnpy.log")
36 executable = "../karaf/target/assembly/bin/karaf"
37 with open('transportpce_tests/odl.log', 'w') as outfile:
38 cls.odl_process = subprocess.Popen(
39 ["bash", executable, "server"], stdout=outfile,
40 stdin=open(os.devnull))
48 def tearDownClass(cls):
49 for child in psutil.Process(cls.odl_process.pid).children():
50 child.send_signal(signal.SIGINT)
52 cls.odl_process.send_signal(signal.SIGINT)
53 cls.odl_process.wait()
58 #Connect the different topology
59 def test_01_connect_clliNetwork(self):
61 url = ("{}/config/ietf-network:networks/network/clli-network"
62 .format(self.restconf_baseurl))
64 "network-id": "clli-network",
66 "org-openroadm-clli-network:clli-network": {}
71 "org-openroadm-clli-network:clli": "NodeA"
75 "org-openroadm-clli-network:clli": "NodeB"
79 "org-openroadm-clli-network:clli": "NodeC"
84 headers = {'content-type': 'application/json'}
85 response = requests.request(
86 "PUT", url, data=json.dumps(data), headers=headers,
87 auth=('admin', 'admin'))
88 self.assertEqual(response.status_code, requests.codes.ok)
91 def test_02_connect_openroadmNetwork(self):
93 url = ("{}/config/ietf-network:networks/network/openroadm-network"
94 .format(self.restconf_baseurl))
96 "network-id": "openroadm-network",
98 "org-openroadm-common-network:openroadm-common-network": {}
105 "network-ref": "clli-network",
109 "org-openroadm-network:node-type": "ROADM",
110 "org-openroadm-network:vendor": "vendorA",
111 "org-openroadm-network:ip": "127.0.0.12",
112 "org-openroadm-network:model": "2"
118 "network-ref": "clli-network",
122 "org-openroadm-network:node-type": "ROADM",
123 "org-openroadm-network:vendor": "vendorA",
124 "org-openroadm-network:ip": "127.0.0.13",
125 "org-openroadm-network:model": "2"
131 "network-ref": "clli-network",
135 "org-openroadm-network:node-type": "XPONDER",
136 "org-openroadm-network:vendor": "vendorA",
137 "org-openroadm-network:ip": "127.0.0.14",
138 "org-openroadm-network:model": "1"
144 "network-ref": "clli-network",
148 "org-openroadm-network:node-type": "ROADM",
149 "org-openroadm-network:vendor": "vendorA",
150 "org-openroadm-network:ip": "127.0.0.11",
151 "org-openroadm-network:model": "2"
157 "network-ref": "clli-network",
161 "org-openroadm-network:node-type": "XPONDER",
162 "org-openroadm-network:vendor": "vendorA",
163 "org-openroadm-network:ip": "127.0.0.10",
164 "org-openroadm-network:model": "1"
169 headers = {'content-type': 'application/json'}
170 response = requests.request(
171 "PUT", url, data=json.dumps(data), headers=headers,
172 auth=('admin', 'admin'))
173 self.assertEqual(response.status_code, requests.codes.ok)
176 def test_03_connect_openroadmTopology(self):
178 url = ("{}/config/ietf-network:networks/network/openroadm-topology"
179 .format(self.restconf_baseurl))
180 data = {"network": [{
181 "network-id": "openroadm-topology",
184 "node-id": "XPDRA-XPDR1",
185 "org-openroadm-network-topology:node-type": "XPONDER",
186 "ietf-network-topology:termination-point": [
188 "tp-id": "XPDR1-CLIENT2",
189 "org-openroadm-network-topology:xpdr-client-attributes": {
190 "tail-equipment-id": "XPDR1-NETWORK2"
192 "org-openroadm-network-topology:tp-type": "XPONDER-CLIENT"
195 "tp-id": "XPDR1-CLIENT1",
196 "org-openroadm-network-topology:xpdr-client-attributes": {
197 "tail-equipment-id": "XPDR1-NETWORK1"
199 "org-openroadm-network-topology:tp-type": "XPONDER-CLIENT"
202 "tp-id": "XPDR1-NETWORK2",
203 "org-openroadm-network-topology:xpdr-client-attributes": {
204 "tail-equipment-id": "XPDR1-NETWORK1"
206 "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
207 "org-openroadm-network-topology:xpdr-network-attributes": {
208 "tail-equipment-id": "XPDR1-CLIENT2"
212 "tp-id": "XPDR1-NETWORK1",
213 "org-openroadm-network-topology:xpdr-client-attributes": {
214 "tail-equipment-id": "XPDR1-NETWORK1"
216 "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
217 "org-openroadm-network-topology:xpdr-network-attributes": {
218 "tail-equipment-id": "XPDR1-CLIENT1"
224 "network-ref": "openroadm-network",
230 "node-id": "ROADMC-DEG2",
231 "org-openroadm-network-topology:degree-attributes": {
233 "available-wavelengths": [
524 "org-openroadm-network-topology:node-type": "DEGREE",
525 "ietf-network-topology:termination-point": [
527 "tp-id": "DEG2-CTP-TXRX",
528 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
531 "tp-id": "DEG2-TTP-TXRX",
532 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
537 "network-ref": "openroadm-network",
543 "node-id": "ROADMC-SRG1",
544 "org-openroadm-network-topology:srg-attributes": {
545 "available-wavelengths": [
836 "org-openroadm-network-topology:node-type": "SRG",
837 "ietf-network-topology:termination-point": [
839 "tp-id": "SRG1-PP16-TXRX",
840 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
843 "tp-id": "SRG1-PP10-TXRX",
844 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
847 "tp-id": "SRG1-PP3-TXRX",
848 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
851 "tp-id": "SRG1-PP6-TXRX",
852 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
855 "tp-id": "SRG1-PP9-TXRX",
856 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
859 "tp-id": "SRG1-PP1-TXRX",
860 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
863 "tp-id": "SRG1-PP13-TXRX",
864 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
867 "tp-id": "SRG1-PP4-TXRX",
868 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
871 "tp-id": "SRG1-PP7-TXRX",
872 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
875 "tp-id": "SRG1-PP11-TXRX",
876 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
879 "tp-id": "SRG1-PP15-TXRX",
880 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
883 "tp-id": "SRG1-PP8-TXRX",
884 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
887 "tp-id": "SRG1-CP-TXRX",
888 "org-openroadm-network-topology:tp-type": "SRG-TXRX-CP"
891 "tp-id": "SRG1-PP12-TXRX",
892 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
895 "tp-id": "SRG1-PP14-TXRX",
896 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
899 "tp-id": "SRG1-PP2-TXRX",
900 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
903 "tp-id": "SRG1-PP5-TXRX",
904 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
909 "network-ref": "openroadm-network",
915 "node-id": "ROADMA-DEG1",
916 "org-openroadm-network-topology:degree-attributes": {
918 "available-wavelengths": [
1209 "org-openroadm-network-topology:node-type": "DEGREE",
1210 "ietf-network-topology:termination-point": [
1212 "tp-id": "DEG1-TTP-TXRX",
1213 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
1216 "tp-id": "DEG1-CTP-TXRX",
1217 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
1220 "supporting-node": [
1222 "network-ref": "openroadm-network",
1223 "node-ref": "ROADMA"
1228 "node-id": "ROADMA-DEG2",
1229 "org-openroadm-network-topology:degree-attributes": {
1231 "available-wavelengths": [
1522 "org-openroadm-network-topology:node-type": "DEGREE",
1523 "ietf-network-topology:termination-point": [
1525 "tp-id": "DEG2-CTP-TXRX",
1526 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
1529 "tp-id": "DEG2-TTP-TXRX",
1530 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
1533 "supporting-node": [
1535 "network-ref": "openroadm-network",
1536 "node-ref": "ROADMA"
1541 "node-id": "ROADMB-SRG1",
1542 "org-openroadm-network-topology:srg-attributes": {
1543 "available-wavelengths": [
1834 "org-openroadm-network-topology:node-type": "SRG",
1835 "ietf-network-topology:termination-point": [
1837 "tp-id": "SRG1-PP16-TXRX",
1838 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1841 "tp-id": "SRG1-PP10-TXRX",
1842 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1845 "tp-id": "SRG1-PP3-TXRX",
1846 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1849 "tp-id": "SRG1-PP6-TXRX",
1850 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1853 "tp-id": "SRG1-PP9-TXRX",
1854 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1857 "tp-id": "SRG1-PP1-TXRX",
1858 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1861 "tp-id": "SRG1-PP13-TXRX",
1862 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1865 "tp-id": "SRG1-PP4-TXRX",
1866 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1869 "tp-id": "SRG1-PP7-TXRX",
1870 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1873 "tp-id": "SRG1-PP11-TXRX",
1874 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1877 "tp-id": "SRG1-PP15-TXRX",
1878 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1881 "tp-id": "SRG1-PP8-TXRX",
1882 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1885 "tp-id": "SRG1-CP-TXRX",
1886 "org-openroadm-network-topology:tp-type": "SRG-TXRX-CP"
1889 "tp-id": "SRG1-PP12-TXRX",
1890 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1893 "tp-id": "SRG1-PP14-TXRX",
1894 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1897 "tp-id": "SRG1-PP2-TXRX",
1898 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1901 "tp-id": "SRG1-PP5-TXRX",
1902 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
1905 "supporting-node": [
1907 "network-ref": "openroadm-network",
1908 "node-ref": "ROADMB"
1913 "node-id": "ROADMC-DEG1",
1914 "org-openroadm-network-topology:degree-attributes": {
1916 "available-wavelengths": [
2207 "org-openroadm-network-topology:node-type": "DEGREE",
2208 "ietf-network-topology:termination-point": [
2210 "tp-id": "DEG1-TTP-TXRX",
2211 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
2214 "tp-id": "DEG1-CTP-TXRX",
2215 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
2218 "supporting-node": [
2220 "network-ref": "openroadm-network",
2221 "node-ref": "ROADMC"
2226 "node-id": "XPDRB-XPDR1",
2227 "org-openroadm-network-topology:node-type": "XPONDER",
2228 "ietf-network-topology:termination-point": [
2230 "tp-id": "XPDR1-CLIENT2",
2231 "org-openroadm-network-topology:xpdr-client-attributes": {
2232 "tail-equipment-id": "XPDR1-NETWORK2"
2234 "org-openroadm-network-topology:tp-type": "XPONDER-CLIENT"
2237 "tp-id": "XPDR1-CLIENT1",
2238 "org-openroadm-network-topology:xpdr-client-attributes": {
2239 "tail-equipment-id": "XPDR1-NETWORK1"
2241 "org-openroadm-network-topology:tp-type": "XPONDER-CLIENT"
2244 "tp-id": "XPDR1-NETWORK2",
2245 "org-openroadm-network-topology:xpdr-client-attributes": {
2246 "tail-equipment-id": "XPDR1-NETWORK1"
2248 "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
2249 "org-openroadm-network-topology:xpdr-network-attributes": {
2250 "tail-equipment-id": "XPDR1-CLIENT2"
2254 "tp-id": "XPDR1-NETWORK1",
2255 "org-openroadm-network-topology:xpdr-client-attributes": {
2256 "tail-equipment-id": "XPDR1-NETWORK1"
2258 "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
2259 "org-openroadm-network-topology:xpdr-network-attributes": {
2260 "tail-equipment-id": "XPDR1-CLIENT1"
2264 "supporting-node": [
2266 "network-ref": "openroadm-network",
2272 "node-id": "ROADMB-DEG1",
2273 "org-openroadm-network-topology:degree-attributes": {
2275 "available-wavelengths": [
2566 "org-openroadm-network-topology:node-type": "DEGREE",
2567 "ietf-network-topology:termination-point": [
2569 "tp-id": "DEG1-TTP-TXRX",
2570 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
2573 "tp-id": "DEG1-CTP-TXRX",
2574 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
2577 "supporting-node": [
2579 "network-ref": "openroadm-network",
2580 "node-ref": "ROADMB"
2585 "node-id": "ROADMA-SRG1",
2586 "org-openroadm-network-topology:srg-attributes": {
2587 "available-wavelengths": [
2878 "org-openroadm-network-topology:node-type": "SRG",
2879 "ietf-network-topology:termination-point": [
2881 "tp-id": "SRG1-PP16-TXRX",
2882 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2885 "tp-id": "SRG1-PP10-TXRX",
2886 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2889 "tp-id": "SRG1-PP3-TXRX",
2890 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2893 "tp-id": "SRG1-PP6-TXRX",
2894 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2897 "tp-id": "SRG1-PP9-TXRX",
2898 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2901 "tp-id": "SRG1-PP1-TXRX",
2902 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2905 "tp-id": "SRG1-PP13-TXRX",
2906 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2909 "tp-id": "SRG1-PP4-TXRX",
2910 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2913 "tp-id": "SRG1-PP7-TXRX",
2914 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2917 "tp-id": "SRG1-PP11-TXRX",
2918 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2921 "tp-id": "SRG1-PP15-TXRX",
2922 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2925 "tp-id": "SRG1-PP8-TXRX",
2926 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2929 "tp-id": "SRG1-CP-TXRX",
2930 "org-openroadm-network-topology:tp-type": "SRG-TXRX-CP"
2933 "tp-id": "SRG1-PP12-TXRX",
2934 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2937 "tp-id": "SRG1-PP14-TXRX",
2938 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2941 "tp-id": "SRG1-PP2-TXRX",
2942 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2945 "tp-id": "SRG1-PP5-TXRX",
2946 "org-openroadm-network-topology:tp-type": "SRG-TXRX-PP"
2949 "supporting-node": [
2951 "network-ref": "openroadm-network",
2952 "node-ref": "ROADMA"
2957 "node-id": "ROADMB-DEG2",
2958 "org-openroadm-network-topology:degree-attributes": {
2960 "available-wavelengths": [
3251 "org-openroadm-network-topology:node-type": "DEGREE",
3252 "ietf-network-topology:termination-point": [
3254 "tp-id": "DEG2-CTP-TXRX",
3255 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-CTP"
3258 "tp-id": "DEG2-TTP-TXRX",
3259 "org-openroadm-network-topology:tp-type": "DEGREE-TXRX-TTP"
3262 "supporting-node": [
3264 "network-ref": "openroadm-network",
3265 "node-ref": "ROADMB"
3271 "org-openroadm-common-network:openroadm-common-network": {}
3273 "ietf-network-topology:link": [
3275 "link-id": "ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX",
3277 "source-node": "ROADMA-DEG1",
3278 "source-tp": "DEG1-CTP-TXRX"
3280 "org-openroadm-network-topology:link-type": "DROP-LINK",
3282 "dest-node": "ROADMA-SRG1",
3283 "dest-tp": "SRG1-CP-TXRX"
3285 "org-openroadm-common-network:opposite-link": "ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX"
3288 "link-id": "ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX",
3290 "source-node": "ROADMA-DEG2",
3291 "source-tp": "DEG2-CTP-TXRX"
3293 "org-openroadm-network-topology:link-type": "DROP-LINK",
3295 "dest-node": "ROADMA-SRG1",
3296 "dest-tp": "SRG1-CP-TXRX"
3298 "org-openroadm-common-network:opposite-link": "ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX"
3301 "link-id": "ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX",
3303 "source-node": "ROADMA-DEG1",
3304 "source-tp": "DEG1-CTP-TXRX"
3306 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3308 "dest-node": "ROADMA-DEG2",
3309 "dest-tp": "DEG2-CTP-TXRX"
3311 "org-openroadm-common-network:opposite-link": "ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX"
3314 "link-id": "ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX",
3316 "source-node": "ROADMC-DEG1",
3317 "source-tp": "DEG1-CTP-TXRX"
3319 "org-openroadm-network-topology:link-type": "DROP-LINK",
3321 "dest-node": "ROADMC-SRG1",
3322 "dest-tp": "SRG1-CP-TXRX"
3324 "org-openroadm-common-network:opposite-link": "ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX"
3327 "link-id": "ROADMB-DEG1-DEG1-CTP-TXRXtoROADMB-SRG1-SRG1-CP-TXRX",
3329 "source-node": "ROADMB-DEG1",
3330 "source-tp": "DEG1-CTP-TXRX"
3332 "org-openroadm-network-topology:link-type": "DROP-LINK",
3334 "dest-node": "ROADMB-SRG1",
3335 "dest-tp": "SRG1-CP-TXRX"
3337 "org-openroadm-common-network:opposite-link": "ROADMB-SRG1-SRG1-CP-TXRXtoROADMB-DEG1-DEG1-CTP-TXRX"
3340 "link-id": "ROADMB-DEG2-DEG2-CTP-TXRXtoROADMB-SRG1-SRG1-CP-TXRX",
3342 "source-node": "ROADMB-DEG2",
3343 "source-tp": "DEG2-CTP-TXRX"
3345 "org-openroadm-network-topology:link-type": "DROP-LINK",
3347 "dest-node": "ROADMB-SRG1",
3348 "dest-tp": "SRG1-CP-TXRX"
3350 "org-openroadm-common-network:opposite-link": "ROADMB-SRG1-SRG1-CP-TXRXtoROADMB-DEG2-DEG2-CTP-TXRX"
3353 "link-id": "ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX",
3355 "source-node": "ROADMC-DEG2",
3356 "source-tp": "DEG2-CTP-TXRX"
3358 "org-openroadm-network-topology:link-type": "DROP-LINK",
3360 "dest-node": "ROADMC-SRG1",
3361 "dest-tp": "SRG1-CP-TXRX"
3363 "org-openroadm-common-network:opposite-link": "ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX"
3366 "link-id": "ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX",
3368 "source-node": "ROADMC-DEG1",
3369 "source-tp": "DEG1-CTP-TXRX"
3371 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3373 "dest-node": "ROADMC-DEG2",
3374 "dest-tp": "DEG2-CTP-TXRX"
3376 "org-openroadm-common-network:opposite-link": "ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX"
3379 "link-id": "ROADMB-DEG1-DEG1-CTP-TXRXtoROADMB-DEG2-DEG2-CTP-TXRX",
3381 "source-node": "ROADMB-DEG1",
3382 "source-tp": "DEG1-CTP-TXRX"
3384 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3386 "dest-node": "ROADMB-DEG2",
3387 "dest-tp": "DEG2-CTP-TXRX"
3389 "org-openroadm-common-network:opposite-link": "ROADMB-DEG2-DEG2-CTP-TXRXtoROADMB-DEG1-DEG1-CTP-TXRX"
3392 "link-id": "ROADMA-DEG1-DEG1-TTP-TXRXtoROADMC-DEG2-DEG2-TTP-TXRX",
3394 "source-node": "ROADMA-DEG1",
3395 "source-tp": "DEG1-TTP-TXRX"
3397 "org-openroadm-network-topology:OMS-attributes": {
3398 "opposite-link": "ROADMC-DEG2-DEG2-TTP-TXRXtoROADMA-DEG1-DEG1-TTP-TXRX",
3400 "spanloss-base": 11.4,
3401 "link-concatenation": [
3404 "SRLG-length": 100000,
3409 "spanloss-current": 12,
3410 "engineered-spanloss": 12.2,
3412 "auto-spanloss": "true"
3415 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3417 "dest-node": "ROADMC-DEG2",
3418 "dest-tp": "DEG2-TTP-TXRX"
3420 "org-openroadm-common-network:opposite-link": "ROADMC-DEG2-DEG2-TTP-TXRXtoROADMA-DEG1-DEG1-TTP-TXRX"
3423 "link-id": "XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX",
3425 "source-node": "XPDRA-XPDR1",
3426 "source-tp": "XPDR1-NETWORK1"
3428 "org-openroadm-network-topology:opposite-link": "ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1",
3429 "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT",
3431 "dest-node": "ROADMA-SRG1",
3432 "dest-tp": "SRG1-PP1-TXRX"
3434 "org-openroadm-common-network:opposite-link": "ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1"
3437 "link-id": "ROADMC-DEG1-DEG1-TTP-TXRXtoROADMB-DEG2-DEG2-TTP-TXRX",
3439 "source-node": "ROADMC-DEG1",
3440 "source-tp": "DEG1-TTP-TXRX"
3442 "org-openroadm-network-topology:OMS-attributes": {
3443 "opposite-link": "ROADMB-DEG2-DEG2-TTP-TXRXtoROADMC-DEG1-DEG1-TTP-TXRX",
3445 "spanloss-base": 11.4,
3446 "link-concatenation": [
3449 "SRLG-length": 100000,
3454 "spanloss-current": 12,
3455 "engineered-spanloss": 12.2,
3457 "auto-spanloss": "true"
3460 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3462 "dest-node": "ROADMB-DEG2",
3463 "dest-tp": "DEG2-TTP-TXRX"
3465 "org-openroadm-common-network:opposite-link": "ROADMB-DEG2-DEG2-TTP-TXRXtoROADMC-DEG1-DEG1-TTP-TXRX"
3468 "link-id": "ROADMB-DEG1-DEG1-TTP-TXRXtoROADMA-DEG2-DEG2-TTP-TXRX",
3470 "source-node": "ROADMB-DEG1",
3471 "source-tp": "DEG1-TTP-TXRX"
3473 "org-openroadm-network-topology:OMS-attributes": {
3474 "opposite-link": "ROADMA-DEG2-DEG2-TTP-TXRXtoROADMB-DEG1-DEG1-TTP-TXRX",
3476 "spanloss-base": 11.4,
3477 "link-concatenation": [
3480 "SRLG-length": 100000,
3485 "spanloss-current": 12,
3486 "engineered-spanloss": 12.2,
3488 "auto-spanloss": "true"
3491 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3493 "dest-node": "ROADMA-DEG2",
3494 "dest-tp": "DEG2-TTP-TXRX"
3496 "org-openroadm-common-network:opposite-link": "ROADMA-DEG2-DEG2-TTP-TXRXtoROADMB-DEG1-DEG1-TTP-TXRX"
3499 "link-id": "ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX",
3501 "source-node": "ROADMA-SRG1",
3502 "source-tp": "SRG1-CP-TXRX"
3504 "org-openroadm-network-topology:link-type": "ADD-LINK",
3506 "dest-node": "ROADMA-DEG2",
3507 "dest-tp": "DEG2-CTP-TXRX"
3509 "org-openroadm-common-network:opposite-link": "ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX"
3512 "link-id": "ROADMA-DEG2-DEG2-CTP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX",
3514 "source-node": "ROADMA-DEG2",
3515 "source-tp": "DEG2-CTP-TXRX"
3517 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3519 "dest-node": "ROADMA-DEG1",
3520 "dest-tp": "DEG1-CTP-TXRX"
3522 "org-openroadm-common-network:opposite-link": "ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-DEG2-DEG2-CTP-TXRX"
3525 "link-id": "XPDRB-XPDR1-XPDR1-NETWORK1toROADMB-SRG1-SRG1-PP1-TXRX",
3527 "source-node": "XPDRB-XPDR1",
3528 "source-tp": "XPDR1-NETWORK1"
3530 "org-openroadm-network-topology:opposite-link": "ROADMB-SRG1-SRG1-PP1-TXRXtoXPDRB-XPDR1-XPDR1-NETWORK1",
3531 "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT",
3533 "dest-node": "ROADMB-SRG1",
3534 "dest-tp": "SRG1-PP1-TXRX"
3536 "org-openroadm-common-network:opposite-link": "ROADMB-SRG1-SRG1-PP1-TXRXtoXPDRB-XPDR1-XPDR1-NETWORK1"
3539 "link-id": "ROADMA-SRG1-SRG1-CP-TXRXtoROADMA-DEG1-DEG1-CTP-TXRX",
3541 "source-node": "ROADMA-SRG1",
3542 "source-tp": "SRG1-CP-TXRX"
3544 "org-openroadm-network-topology:link-type": "ADD-LINK",
3546 "dest-node": "ROADMA-DEG1",
3547 "dest-tp": "DEG1-CTP-TXRX"
3549 "org-openroadm-common-network:opposite-link": "ROADMA-DEG1-DEG1-CTP-TXRXtoROADMA-SRG1-SRG1-CP-TXRX"
3552 "link-id": "ROADMA-SRG1-SRG1-PP1-TXRXtoXPDRA-XPDR1-XPDR1-NETWORK1",
3554 "source-node": "ROADMA-SRG1",
3555 "source-tp": "SRG1-PP1-TXRX"
3557 "org-openroadm-network-topology:opposite-link": "XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX",
3558 "org-openroadm-network-topology:link-type": "XPONDER-INPUT",
3560 "dest-node": "XPDRA-XPDR1",
3561 "dest-tp": "XPDR1-NETWORK1"
3563 "org-openroadm-common-network:opposite-link": "XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX"
3566 "link-id": "ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX",
3568 "source-node": "ROADMC-DEG2",
3569 "source-tp": "DEG2-CTP-TXRX"
3571 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3573 "dest-node": "ROADMC-DEG1",
3574 "dest-tp": "DEG1-CTP-TXRX"
3576 "org-openroadm-common-network:opposite-link": "ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX"
3579 "link-id": "ROADMB-DEG2-DEG2-TTP-TXRXtoROADMC-DEG1-DEG1-TTP-TXRX",
3581 "source-node": "ROADMB-DEG2",
3582 "source-tp": "DEG2-TTP-TXRX"
3584 "org-openroadm-network-topology:OMS-attributes": {
3585 "opposite-link": "ROADMC-DEG1-DEG1-TTP-TXRXtoROADMB-DEG2-DEG2-TTP-TXRX",
3587 "spanloss-base": 11.4,
3588 "link-concatenation": [
3591 "SRLG-length": 100000,
3596 "spanloss-current": 12,
3597 "engineered-spanloss": 12.2,
3599 "auto-spanloss": "true"
3602 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3604 "dest-node": "ROADMC-DEG1",
3605 "dest-tp": "DEG1-TTP-TXRX"
3607 "org-openroadm-common-network:opposite-link": "ROADMC-DEG1-DEG1-TTP-TXRXtoROADMB-DEG2-DEG2-TTP-TXRX"
3610 "link-id": "ROADMB-DEG2-DEG2-CTP-TXRXtoROADMB-DEG1-DEG1-CTP-TXRX",
3612 "source-node": "ROADMB-DEG2",
3613 "source-tp": "DEG2-CTP-TXRX"
3615 "org-openroadm-network-topology:link-type": "EXPRESS-LINK",
3617 "dest-node": "ROADMB-DEG1",
3618 "dest-tp": "DEG1-CTP-TXRX"
3620 "org-openroadm-common-network:opposite-link": "ROADMB-DEG1-DEG1-CTP-TXRXtoROADMB-DEG2-DEG2-CTP-TXRX"
3623 "link-id": "ROADMA-DEG2-DEG2-TTP-TXRXtoROADMB-DEG1-DEG1-TTP-TXRX",
3625 "source-node": "ROADMA-DEG2",
3626 "source-tp": "DEG2-TTP-TXRX"
3628 "org-openroadm-network-topology:OMS-attributes": {
3629 "opposite-link": "ROADMB-DEG1-DEG1-TTP-TXRXtoROADMA-DEG2-DEG2-TTP-TXRX",
3631 "spanloss-base": 11.4,
3632 "link-concatenation": [
3635 "SRLG-length": 100000,
3640 "spanloss-current": 12,
3641 "engineered-spanloss": 12.2,
3643 "auto-spanloss": "true"
3646 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3648 "dest-node": "ROADMB-DEG1",
3649 "dest-tp": "DEG1-TTP-TXRX"
3651 "org-openroadm-common-network:opposite-link": "ROADMB-DEG1-DEG1-TTP-TXRXtoROADMA-DEG2-DEG2-TTP-TXRX"
3654 "link-id": "ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG2-DEG2-CTP-TXRX",
3656 "source-node": "ROADMC-SRG1",
3657 "source-tp": "SRG1-CP-TXRX"
3659 "org-openroadm-network-topology:link-type": "ADD-LINK",
3661 "dest-node": "ROADMC-DEG2",
3662 "dest-tp": "DEG2-CTP-TXRX"
3664 "org-openroadm-common-network:opposite-link": "ROADMC-DEG2-DEG2-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX"
3667 "link-id": "ROADMC-DEG2-DEG2-TTP-TXRXtoROADMA-DEG1-DEG1-TTP-TXRX",
3669 "source-node": "ROADMC-DEG2",
3670 "source-tp": "DEG2-TTP-TXRX"
3672 "org-openroadm-network-topology:OMS-attributes": {
3673 "opposite-link": "ROADMA-DEG1-DEG1-TTP-TXRXtoROADMC-DEG2-DEG2-TTP-TXRX",
3675 "spanloss-base": 11.4,
3676 "link-concatenation": [
3679 "SRLG-length": 100000,
3684 "spanloss-current": 12,
3685 "engineered-spanloss": 12.2,
3687 "auto-spanloss": "true"
3690 "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM",
3692 "dest-node": "ROADMA-DEG1",
3693 "dest-tp": "DEG1-TTP-TXRX"
3695 "org-openroadm-common-network:opposite-link": "ROADMA-DEG1-DEG1-TTP-TXRXtoROADMC-DEG2-DEG2-TTP-TXRX"
3698 "link-id": "ROADMC-SRG1-SRG1-CP-TXRXtoROADMC-DEG1-DEG1-CTP-TXRX",
3700 "source-node": "ROADMC-SRG1",
3701 "source-tp": "SRG1-CP-TXRX"
3703 "org-openroadm-network-topology:link-type": "ADD-LINK",
3705 "dest-node": "ROADMC-DEG1",
3706 "dest-tp": "DEG1-CTP-TXRX"
3708 "org-openroadm-common-network:opposite-link": "ROADMC-DEG1-DEG1-CTP-TXRXtoROADMC-SRG1-SRG1-CP-TXRX"
3711 "link-id": "ROADMB-SRG1-SRG1-CP-TXRXtoROADMB-DEG1-DEG1-CTP-TXRX",
3713 "source-node": "ROADMB-SRG1",
3714 "source-tp": "SRG1-CP-TXRX"
3716 "org-openroadm-network-topology:link-type": "ADD-LINK",
3718 "dest-node": "ROADMB-DEG1",
3719 "dest-tp": "DEG1-CTP-TXRX"
3721 "org-openroadm-common-network:opposite-link": "ROADMB-DEG1-DEG1-CTP-TXRXtoROADMB-SRG1-SRG1-CP-TXRX"
3724 "link-id": "ROADMB-SRG1-SRG1-CP-TXRXtoROADMB-DEG2-DEG2-CTP-TXRX",
3726 "source-node": "ROADMB-SRG1",
3727 "source-tp": "SRG1-CP-TXRX"
3729 "org-openroadm-network-topology:link-type": "ADD-LINK",
3731 "dest-node": "ROADMB-DEG2",
3732 "dest-tp": "DEG2-CTP-TXRX"
3734 "org-openroadm-common-network:opposite-link": "ROADMB-DEG2-DEG2-CTP-TXRXtoROADMB-SRG1-SRG1-CP-TXRX"
3737 "link-id": "ROADMB-SRG1-SRG1-PP1-TXRXtoXPDRB-XPDR1-XPDR1-NETWORK1",
3739 "source-node": "ROADMB-SRG1",
3740 "source-tp": "SRG1-PP1-TXRX"
3742 "org-openroadm-network-topology:opposite-link": "XPDRB-XPDR1-XPDR1-NETWORK1toROADMB-SRG1-SRG1-PP1-TXRX",
3743 "org-openroadm-network-topology:link-type": "XPONDER-INPUT",
3745 "dest-node": "XPDRB-XPDR1",
3746 "dest-tp": "XPDR1-NETWORK1"
3748 "org-openroadm-common-network:opposite-link": "XPDRB-XPDR1-XPDR1-NETWORK1toROADMB-SRG1-SRG1-PP1-TXRX"
3753 headers = {'content-type': 'application/json'}
3754 response = requests.request(
3755 "PUT", url, data=json.dumps(data), headers=headers,
3756 auth=('admin', 'admin'))
3757 self.assertEqual(response.status_code, requests.codes.ok)
3761 def test_04_path_computation_xpdr_bi(self):
3762 url = ("{}/operations/transportpce-pce:path-computation-request"
3763 .format(self.restconf_baseurl))
3765 "service-name": "service-1",
3766 "resource-reserve": "true",
3767 "pce-metric": "hop-count",
3768 "service-handler-header": {
3769 "request-id": "request-1"
3773 "service-rate": "100",
3778 "service-rate": "100",
3783 headers = {'content-type': 'application/json',
3784 "Accept": "application/json"}
3785 response = requests.request(
3786 "POST", url, data=json.dumps(body), headers=headers,
3787 auth=('admin', 'admin'))
3788 self.assertEqual(response.status_code, requests.codes.ok)
3789 res = response.json()
3790 self.assertEqual(res['output']['gnpy-response'][0]['path-dir'], 'A-to-Z')
3791 self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],True)
3792 self.assertEqual(res['output']['gnpy-response'][1]['path-dir'], 'Z-to-A')
3793 self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],True)
3796 #Disconnect the different topology
3797 def test_05_disconnect_openroadmTopology(self):
3798 url = ("{}/config/ietf-network:networks/network/openroadm-topology"
3799 .format(self.restconf_baseurl))
3801 headers = {'content-type': 'application/json'}
3802 response = requests.request(
3803 "DELETE", url, data=json.dumps(data), headers=headers,
3804 auth=('admin', 'admin'))
3805 self.assertEqual(response.status_code, requests.codes.ok)
3808 def test_06_disconnect_openroadmNetwork(self):
3810 url = ("{}/config/ietf-network:networks/network/openroadm-network"
3811 .format(self.restconf_baseurl))
3813 headers = {'content-type': 'application/json'}
3814 response = requests.request(
3815 "DELETE", url, data=json.dumps(data), headers=headers,
3816 auth=('admin', 'admin'))
3817 self.assertEqual(response.status_code, requests.codes.ok)
3820 def test_07_disconnect_clliNetwork(self):
3821 url = ("{}/config/ietf-network:networks/network/clli-network"
3822 .format(self.restconf_baseurl))
3824 headers = {'content-type': 'application/json'}
3825 response = requests.request(
3826 "DELETE", url, data=json.dumps(data), headers=headers,
3827 auth=('admin', 'admin'))
3828 self.assertEqual(response.status_code, requests.codes.ok)
3831 if __name__ == "__main__":
3832 #logging.basicConfig(filename='./transportpce_tests/log/response.log',filemode='w',level=logging.DEBUG)
3833 unittest.main(verbosity=2)