Skip to content
Snippets Groups Projects
Commit 73e3cbb3 authored by Erik Reid's avatar Erik Reid
Browse files

save logical-system with interface details

parent 73dd2fc6
No related branches found
No related tags found
No related merge requests found
......@@ -215,7 +215,7 @@ def list_interfaces(netconf_config):
if _inactive(u):
continue
unit_info = _ifc_info(u)
unit_info['name'] = "%s.%s" % (base_name, unit_info['name'])
unit_info['name'] = f'{base_name}.{unit_info["name"]}'
yield unit_info
for i in netconf_config.xpath('//configuration/interfaces/interface'):
......@@ -225,12 +225,15 @@ def list_interfaces(netconf_config):
yield info
yield from _units(info['name'], i)
for i in netconf_config.xpath(
'//configuration/logical-systems/interfaces/interface'):
name = i.find('name')
assert name is not None, 'expected interface ''name'' child element'
for u in _units(name.text, i):
yield u
for ls_node in netconf_config.xpath('//configuration/logical-systems'):
logical_system = ls_node.xpath('./name/text()')
assert logical_system, 'no logical-system name found'
for i in ls_node.xpath('.//interfaces/interface'):
name = i.xpath('./name/text()')
assert name, "expected interface 'name' child element"
for u in _units(name[0], i):
u['logical-system'] = logical_system[0]
yield u
def _system_bgp_peers(system_node):
......
......@@ -14,6 +14,7 @@ def test_interface_list(netconf_doc):
"items": {
"type": "object",
"properties": {
"logical-system": {"type": "string"},
"name": {"type": "string"},
"description": {"type": "string"},
"bundle": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment