- #Path computed by PCE is not feasible and Gnpy computes a new one feasible
- def test_04_path_computation_NotFeasibleWithPCE_FeasibleWithGnpy(self):
- url = ("{}/operations/transportpce-pce:path-computation-request"
- .format(self.restconf_baseurl))
- body = {"input": {
- "service-name": "service-1",
- "resource-reserve": "true",
- "pce-metric": "hop-count",
- "service-handler-header": {
- "request-id": "request-1"
- },
- "service-a-end": {
- "node-id": "XPONDER-1",
- "service-rate": "100",
- "clli": "Node1"
- },
- "service-z-end": {
- "node-id": "XPONDER-5",
- "service-rate": "100",
- "clli": "Node5"
- }
- }
- }
- headers = {'content-type': 'application/json',
- "Accept": "application/json"}
- response = requests.request(
- "POST", url, data=json.dumps(body), headers=headers,
- auth=('admin', 'admin'))
+ # Path computed by PCE is feasible according to Gnpy
+ def test_04_path_computation_FeasibleWithPCE(self):
+ response = test_utils.path_computation_request("request-1", "service-1",
+ {"node-id": "XPONDER-1", "service-rate": "100",
+ "service-format": "Ethernet", "clli": "Node1"},
+ {"node-id": "XPONDER-5", "service-rate": "100",
+ "service-format": "Ethernet", "clli": "Node5"})
+ self.assertEqual(response.status_code, requests.codes.ok)
+ res = response.json()
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-code'], '200')
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-message'],
+ 'Path is calculated by PCE')
+ self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
+ 'A-to-Z')
+ self.assertEqual(res['output']['gnpy-response'][1]['feasibility'], True)
+ self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
+ 'Z-to-A')
+ self.assertEqual(res['output']['gnpy-response'][0]['feasibility'], True)
+ time.sleep(5)
+
+ # Path computed by PCE is not feasible by GNPy and GNPy cannot find
+ # another one (low SNR)
+ def test_05_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
+ response = test_utils.path_computation_request("request-2", "service-2",
+ {"node-id": "XPONDER-1", "service-rate": "100",
+ "service-format": "Ethernet", "clli": "Node1"},
+ {"node-id": "XPONDER-5", "service-rate": "100",
+ "service-format": "Ethernet", "clli": "Node5"},
+ {"include_": {"ordered-hops": [
+ {"hop-number": "0", "hop-type": {"node-id": "OpenROADM-2"}},
+ {"hop-number": "1", "hop-type": {"node-id": "OpenROADM-3"}},
+ {"hop-number": "2", "hop-type": {"node-id": "OpenROADM-4"}}]}
+ })