Skip to content
Snippets Groups Projects
Commit 12ff335e authored by geant-release-service's avatar geant-release-service
Browse files

Finished release 0.13.

parents a8a8f1a7 3c4f3ef2
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.13] - 2025-01-15
- FIX: Retrieve additional required netconf data from Nokia routers
## [0.12] - 2025-01-13 ## [0.12] - 2025-01-13
- POL1-876: Add additional Nokia error counters to influx and error report - POL1-876: Add additional Nokia error counters to influx and error report
......
...@@ -90,7 +90,7 @@ def get_netconf_interface_info( ...@@ -90,7 +90,7 @@ def get_netconf_interface_info(
""" """
query_path = { query_path = {
"port": ["port", "statistics"], "port": ["port", ["statistics", "ethernet"]],
"lag": ["lag", "statistics"], "lag": ["lag", "statistics"],
"router-interface": ["router", "interface"], "router-interface": ["router", "interface"],
} }
...@@ -110,8 +110,16 @@ def query(connection, *path): ...@@ -110,8 +110,16 @@ def query(connection, *path):
sub_elem = etree.SubElement( sub_elem = etree.SubElement(
root, f"{{{STATE_NS}}}state", nsmap={"nokia-state": STATE_NS} root, f"{{{STATE_NS}}}state", nsmap={"nokia-state": STATE_NS}
) )
is_leaf = False
for p in path: for p in path:
sub_elem = etree.SubElement(sub_elem, f"{{{STATE_NS}}}{p}") if is_leaf:
raise ValueError("Can only have multiple nodes as leaf elements in path")
if isinstance(p, str):
sub_elem = etree.SubElement(sub_elem, f"{{{STATE_NS}}}{p}")
else:
is_leaf = True
for item in p:
etree.SubElement(sub_elem, f"{{{STATE_NS}}}{item}")
return connection.get(filter=root) return connection.get(filter=root)
......
...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name='brian-polling-manager', name='brian-polling-manager',
version="0.12", version="0.13",
author='GEANT', author='GEANT',
author_email='swd@geant.org', author_email='swd@geant.org',
description='service for managing BRIAN polling checks', description='service for managing BRIAN polling checks',
......
...@@ -8,9 +8,16 @@ logging.basicConfig(level=logging.DEBUG) ...@@ -8,9 +8,16 @@ logging.basicConfig(level=logging.DEBUG)
ncclient_logger = logging.getLogger("ncclient") ncclient_logger = logging.getLogger("ncclient")
ncclient_logger.level = logging.WARNING ncclient_logger.level = logging.WARNING
ROUTERS = ["rt0.lon.uk.lab.office.geant.net", "rt0.ams.nl.lab.office.geant.net"] ROUTERS = [
"rt0.ams.nl.geant.net",
SSH_PARAMS = {"ssh_config": "~/.ssh/config.d/routers-jump"} ]
SSH_PARAMS = {
"ssh_config": "~/.ssh/config",
"hostkey_verify": False,
"username": "inprov",
"password": "<password>",
}
def load_estate_interface_info(): def load_estate_interface_info():
......
<rpc-reply message-id="urn:uuid:de93eb4e-7458-41dd-911e-e7fd9021f95e">
<data>
<state>
<lag>
<lag-name>lag-3</lag-name>
<statistics>
<in-discards>0</in-discards>
<in-errors>0</in-errors>
<in-octets>4262911680743558</in-octets>
<in-packets>4131460943831</in-packets>
<in-unknown-protocol-discards>0</in-unknown-protocol-discards>
<in-broadcast-packets>14543</in-broadcast-packets>
<in-multicast-packets>31651048</in-multicast-packets>
<in-unicast-packets>4131429278240</in-unicast-packets>
<out-discards>0</out-discards>
<out-errors>0</out-errors>
<out-octets>6143111971753298</out-octets>
<out-packets>4585754847713</out-packets>
<out-broadcast-packets>82</out-broadcast-packets>
<out-multicast-packets>131933931835</out-multicast-packets>
<out-unicast-packets>4453820915796</out-unicast-packets>
</statistics>
</lag>
<lag>
<lag-name>lag-4</lag-name>
<statistics>
<in-discards>0</in-discards>
<in-errors>0</in-errors>
<in-octets>78688699170263699</in-octets>
<in-packets>69237004327539</in-packets>
<in-unknown-protocol-discards>0</in-unknown-protocol-discards>
<in-broadcast-packets>1895</in-broadcast-packets>
<in-multicast-packets>7033982258</in-multicast-packets>
<in-unicast-packets>69229970343386</in-unicast-packets>
<out-discards>0</out-discards>
<out-errors>0</out-errors>
<out-octets>72222434098076111</out-octets>
<out-packets>61199416865411</out-packets>
<out-broadcast-packets>16</out-broadcast-packets>
<out-multicast-packets>797774566690</out-multicast-packets>
<out-unicast-packets>60401642298705</out-unicast-packets>
</statistics>
</lag>
<lag>
<lag-name>lag-5</lag-name>
<statistics>
<in-discards>0</in-discards>
<in-errors>0</in-errors>
<in-octets>146841456717876906</in-octets>
<in-packets>123954876108483</in-packets>
<in-unknown-protocol-discards>0</in-unknown-protocol-discards>
<in-broadcast-packets>14676</in-broadcast-packets>
<in-multicast-packets>49671763</in-multicast-packets>
<in-unicast-packets>123954826422044</in-unicast-packets>
<out-discards>0</out-discards>
<out-errors>0</out-errors>
<out-octets>101696790878608621</out-octets>
<out-packets>85739232991110</out-packets>
<out-broadcast-packets>2</out-broadcast-packets>
<out-multicast-packets>765302691551</out-multicast-packets>
<out-unicast-packets>84973930299557</out-unicast-packets>
</statistics>
</lag>
<lag>
<lag-name>lag-8</lag-name>
<statistics>
<in-discards>0</in-discards>
<in-errors>0</in-errors>
<in-octets>112255955714300782</in-octets>
<in-packets>86277548109089</in-packets>
<in-unknown-protocol-discards>0</in-unknown-protocol-discards>
<in-broadcast-packets>4449</in-broadcast-packets>
<in-multicast-packets>802961090615</in-multicast-packets>
<in-unicast-packets>85474587014025</in-unicast-packets>
<out-discards>0</out-discards>
<out-errors>0</out-errors>
<out-octets>141323252913094017</out-octets>
<out-packets>118405624891620</out-packets>
<out-broadcast-packets>56</out-broadcast-packets>
<out-multicast-packets>51205870</out-multicast-packets>
<out-unicast-packets>118405573685694</out-unicast-packets>
</statistics>
</lag>
<lag>
<lag-name>lag-9</lag-name>
<statistics>
<in-discards>0</in-discards>
<in-errors>0</in-errors>
<in-octets>30605692942167200</in-octets>
<in-packets>23850931371932</in-packets>
<in-unknown-protocol-discards>0</in-unknown-protocol-discards>
<in-broadcast-packets>7443</in-broadcast-packets>
<in-multicast-packets>81986733</in-multicast-packets>
<in-unicast-packets>23850849377756</in-unicast-packets>
<out-discards>0</out-discards>
<out-errors>0</out-errors>
<out-octets>52021331246724118</out-octets>
<out-packets>38480105732702</out-packets>
<out-broadcast-packets>30</out-broadcast-packets>
<out-multicast-packets>73536726606</out-multicast-packets>
<out-unicast-packets>38406569006066</out-unicast-packets>
</statistics>
</lag>
</state>
</data>
</rpc-reply>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
...@@ -26,6 +26,7 @@ def test_sanity_check_nokia_snapshot_data(all_nokia_routers): ...@@ -26,6 +26,7 @@ def test_sanity_check_nokia_snapshot_data(all_nokia_routers):
assert set(all_nokia_routers) == { assert set(all_nokia_routers) == {
"rt0.ams.nl.lab.office.geant.net", "rt0.ams.nl.lab.office.geant.net",
"rt0.lon.uk.lab.office.geant.net", "rt0.lon.uk.lab.office.geant.net",
"rt0.ams.nl.geant.net",
} }
......
...@@ -255,17 +255,27 @@ class TestGetNokiaNetconf: ...@@ -255,17 +255,27 @@ class TestGetNokiaNetconf:
calls = mocked_connection().__enter__().get.call_args_list calls = mocked_connection().__enter__().get.call_args_list
assert len(calls) == 3 assert len(calls) == 3
for i, kind in enumerate(["port", "lag"]):
elems = calls[i][1]["filter"].iter() def _get_element_tags(call):
assert [e.tag for e in elems] == [ elems = call[1]["filter"].iter()
"filter", return [e.tag for e in elems]
"{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}" + kind, assert _get_element_tags(calls[0]) == [
"{urn:nokia.com:sros:ns:yang:sr:state}statistics", "filter",
] "{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}port",
elems = calls[2][1]["filter"].iter() "{urn:nokia.com:sros:ns:yang:sr:state}statistics",
assert [e.tag for e in elems] == [ "{urn:nokia.com:sros:ns:yang:sr:state}ethernet",
]
assert _get_element_tags(calls[1]) == [
"filter",
"{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}lag",
"{urn:nokia.com:sros:ns:yang:sr:state}statistics",
]
assert _get_element_tags(calls[2]) == [
"filter", "filter",
"{urn:nokia.com:sros:ns:yang:sr:state}state", "{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}router", "{urn:nokia.com:sros:ns:yang:sr:state}router",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment