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 @@
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
- POL1-876: Add additional Nokia error counters to influx and error report
......
......@@ -90,7 +90,7 @@ def get_netconf_interface_info(
"""
query_path = {
"port": ["port", "statistics"],
"port": ["port", ["statistics", "ethernet"]],
"lag": ["lag", "statistics"],
"router-interface": ["router", "interface"],
}
......@@ -110,8 +110,16 @@ def query(connection, *path):
sub_elem = etree.SubElement(
root, f"{{{STATE_NS}}}state", nsmap={"nokia-state": STATE_NS}
)
is_leaf = False
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)
......
......@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name='brian-polling-manager',
version="0.12",
version="0.13",
author='GEANT',
author_email='swd@geant.org',
description='service for managing BRIAN polling checks',
......
......@@ -8,9 +8,16 @@ logging.basicConfig(level=logging.DEBUG)
ncclient_logger = logging.getLogger("ncclient")
ncclient_logger.level = logging.WARNING
ROUTERS = ["rt0.lon.uk.lab.office.geant.net", "rt0.ams.nl.lab.office.geant.net"]
SSH_PARAMS = {"ssh_config": "~/.ssh/config.d/routers-jump"}
ROUTERS = [
"rt0.ams.nl.geant.net",
]
SSH_PARAMS = {
"ssh_config": "~/.ssh/config",
"hostkey_verify": False,
"username": "inprov",
"password": "<password>",
}
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):
assert set(all_nokia_routers) == {
"rt0.ams.nl.lab.office.geant.net",
"rt0.lon.uk.lab.office.geant.net",
"rt0.ams.nl.geant.net",
}
......
......@@ -255,17 +255,27 @@ class TestGetNokiaNetconf:
calls = mocked_connection().__enter__().get.call_args_list
assert len(calls) == 3
for i, kind in enumerate(["port", "lag"]):
elems = calls[i][1]["filter"].iter()
assert [e.tag for e in elems] == [
"filter",
"{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}" + kind,
"{urn:nokia.com:sros:ns:yang:sr:state}statistics",
]
elems = calls[2][1]["filter"].iter()
assert [e.tag for e in elems] == [
def _get_element_tags(call):
elems = call[1]["filter"].iter()
return [e.tag for e in elems]
assert _get_element_tags(calls[0]) == [
"filter",
"{urn:nokia.com:sros:ns:yang:sr:state}state",
"{urn:nokia.com:sros:ns:yang:sr:state}port",
"{urn:nokia.com:sros:ns:yang:sr:state}statistics",
"{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",
"{urn:nokia.com:sros:ns:yang:sr:state}state",
"{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