From: Jonas MÃ¥rtensson Date: Sun, 31 May 2020 18:39:11 +0000 (+0200) Subject: Measure and set spanloss with one fractional digit X-Git-Tag: 2.0.0~101 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=0b7d7035d3affa2b9fc85d85d7c0b916e29ab799 Measure and set spanloss with one fractional digit Currently spanloss is measured and set without any fractional digits. This patch proposes to use one fractional digit for more precise calculation of target power value. Unit tests and functional tests have been updated with the more precise spanloss and power values. Signed-off-by: Jonas MÃ¥rtensson Change-Id: I7b7aba070f7ecf7894c89de9807b686f75eecfeb --- diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java index 943ad6b5c..a0f3a77bf 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java @@ -528,7 +528,7 @@ public class OlmPowerServiceImpl implements OlmPowerService { continue; } spanLoss = new BigDecimal(srcOtsPmHoler.getOtsParameterVal() - destOtsPmHoler.getOtsParameterVal()) - .setScale(0, RoundingMode.HALF_UP); + .setScale(1, RoundingMode.HALF_UP); LOG.info("Spanloss Calculated as :{}={}-{}", spanLoss, srcOtsPmHoler.getOtsParameterVal(), destOtsPmHoler.getOtsParameterVal()); if (spanLoss.doubleValue() > 28) { diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java index bf8b202ed..ff3967b8e 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java @@ -153,7 +153,7 @@ public class OlmPowerServiceImplSpanLossBaseTest extends AbstractTest { Assert.assertEquals("Success", output.getResult()); Assert.assertEquals("ROADM-A1-to-ROADM-C1", output.getSpans().get(0).getLinkId().getValue()); - Assert.assertEquals("15", output.getSpans().get(0).getSpanloss()); + Assert.assertEquals("14.6", output.getSpans().get(0).getSpanloss()); } @Test @@ -176,6 +176,6 @@ public class OlmPowerServiceImplSpanLossBaseTest extends AbstractTest { Assert.assertEquals("Success", output.getResult()); Assert.assertEquals("ROADM-A1-to-ROADM-C1", output.getSpans().get(0).getLinkId().getValue()); - Assert.assertEquals("15", output.getSpans().get(0).getSpanloss()); + Assert.assertEquals("14.6", output.getSpans().get(0).getSpanloss()); } } diff --git a/tests/transportpce_tests/1.2.1/test_olm.py b/tests/transportpce_tests/1.2.1/test_olm.py index b284f3d7d..a6059ecb3 100644 --- a/tests/transportpce_tests/1.2.1/test_olm.py +++ b/tests/transportpce_tests/1.2.1/test_olm.py @@ -368,7 +368,7 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) self.assertIn({ - "spanloss": "6", + "spanloss": "5.7", "link-id": "ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX" }, res["output"]["spans"]) time.sleep(5) @@ -389,11 +389,11 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) self.assertIn({ - "spanloss": "15", + "spanloss": "15.1", "link-id": "ROADMC01-DEG2-DEG2-TTP-TXRXtoROADMA01-DEG1-DEG1-TTP-TXRX" }, res["output"]["spans"]) self.assertIn({ - "spanloss": "6", + "spanloss": "5.7", "link-id": "ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX" }, res["output"]["spans"]) time.sleep(5) @@ -407,8 +407,8 @@ class TransportOlmTesting(unittest.TestCase): "GET", url, headers=headers, auth=('admin', 'admin')) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() - self.assertEqual(6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) - self.assertEqual(15, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) + self.assertEqual(5.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) + self.assertEqual(15.1, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_16_get_OTS_DEG2_TTP_TXRX_ROADMC(self): url = ("{}/config/network-topology:network-topology/topology/topology-netconf/" @@ -419,8 +419,8 @@ class TransportOlmTesting(unittest.TestCase): "GET", url, headers=headers, auth=('admin', 'admin')) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() - self.assertEqual(15, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) - self.assertEqual(6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) + self.assertEqual(15.1, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) + self.assertEqual(5.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_17_servicePath_create_AToZ(self): url = "{}/operations/transportpce-device-renderer:service-path".format(self.restconf_baseurl) @@ -566,7 +566,7 @@ class TransportOlmTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("gainLoss", res['roadm-connections'][0]['opticalControlMode']) - self.assertEqual(-3, res['roadm-connections'][0]['target-output-power']) + self.assertEqual(-3.3, res['roadm-connections'][0]['target-output-power']) def test_22_get_roadmconnection_ROADMC(self): url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADMC01/yang-ext:mount/" diff --git a/tests/transportpce_tests/2.2.1/test_olm.py b/tests/transportpce_tests/2.2.1/test_olm.py index c721d591a..8a0068335 100644 --- a/tests/transportpce_tests/2.2.1/test_olm.py +++ b/tests/transportpce_tests/2.2.1/test_olm.py @@ -370,7 +370,7 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) self.assertIn({ - "spanloss": "18", + "spanloss": "17.6", "link-id": "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX" }, res["output"]["spans"]) time.sleep(5) @@ -391,11 +391,11 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) self.assertIn({ - "spanloss": "26", + "spanloss": "25.7", "link-id": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX" }, res["output"]["spans"]) self.assertIn({ - "spanloss": "18", + "spanloss": "17.6", "link-id": "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX" }, res["output"]["spans"]) time.sleep(5) @@ -409,8 +409,8 @@ class TransportOlmTesting(unittest.TestCase): "GET", url, headers=headers, auth=('admin', 'admin')) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() - self.assertEqual(18, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) - self.assertEqual(26, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) + self.assertEqual(17.6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) + self.assertEqual(25.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_16_get_OTS_DEG1_TTP_TXRX_ROADMC(self): url = ("{}/config/network-topology:network-topology/topology/topology-netconf/" @@ -421,8 +421,8 @@ class TransportOlmTesting(unittest.TestCase): "GET", url, headers=headers, auth=('admin', 'admin')) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() - self.assertEqual(26, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) - self.assertEqual(18, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) + self.assertEqual(25.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) + self.assertEqual(17.6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_17_servicePath_create_AToZ(self): url = "{}/operations/transportpce-device-renderer:service-path".format(self.restconf_baseurl)