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 <jonas.martensson@ri.se>
Change-Id: I7b7aba070f7ecf7894c89de9807b686f75eecfeb
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) {
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
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());
}
}
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)
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)
"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/"
"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)
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/"
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)
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)
"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/"
"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)