diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py index 2043dacedc8835a2e2f8153f6d3f10a275acb3e5..1673e80744ec617f0cd2c120f751dc5416a70f76 100644 --- a/inventory_provider/routes/classifier.py +++ b/inventory_provider/routes/classifier.py @@ -176,6 +176,13 @@ def get_juniper_link_info(source_equipment, interface): 'ipv4': [], 'ipv6': [] } + bundle_members = r.get( + 'netconf-interface-bundles:%s:%s' % (source_equipment, interface)) + if bundle_members: + result['interface']['bundle_members'] = \ + json.loads(bundle_members.decode('utf-8')) + else: + result['interface']['bundle_members'] = [] def _related_services(): for related in related_interfaces(source_equipment, interface): diff --git a/test/test_classifier_routes.py b/test/test_classifier_routes.py index f9ccb307cf73f69972e7b4e165402480447f3b5c..4afac35968354d664183242e34654c3907e18cab 100644 --- a/test/test_classifier_routes.py +++ b/test/test_classifier_routes.py @@ -65,7 +65,8 @@ JUNIPER_LINK_METADATA_DEFINITIONS = { }, # TODO: check what's changed: added to make tests pass - 'bundle': {"type": "array"} + 'bundle': {"type": "array"}, + 'bundle_members': {"type": "array"} }, "required": ["name", "description", "ipv4", "ipv6"], "additionalProperties": False @@ -203,7 +204,8 @@ def test_juniper_link_info_not_found(client): 'description': '', 'ipv4': [], 'ipv6': [], - 'bundle': [] + 'bundle': [], + 'bundle_members': [] }, 'locations': [{ 'a': {