diff --git a/changelog b/changelog index b6f6a536b3f108660a2b9df7e132c9e0133f53cf..d4f3660dc08f3fc7cbc46a3dbc8be7510df02ee3 100644 --- a/changelog +++ b/changelog @@ -48,4 +48,5 @@ 0.30: DBOARD3-173 No service name for critical alarm 0.31: Added top-level-services to the related services Fix canonicalization error of v6 addresses -0.32: Ensured all Related Services are returned for juniper links \ No newline at end of file +0.32: Ensured all Related Services are returned for juniper links +0.33: Added Related Services for Infinera info \ No newline at end of file diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py index b6d83118bdab6ffb9a58781710462d7b3d36ed11..c4aaf73fee717ac24964ccde4e0432cae8586fc1 100644 --- a/inventory_provider/routes/classifier.py +++ b/inventory_provider/routes/classifier.py @@ -294,11 +294,18 @@ def get_trap_metadata(source_equipment, interface, circuit_id): result = result.decode('utf-8') else: result = {} + top_level_services = [] services = r.get( 'opsdb:interface_services:%s:%s' % (source_equipment, interface)) if services: result['services'] = json.loads(services.decode('utf=8')) + for s in result['services']: + tls = get_top_level_services(s['id'], r) + if tls: + top_level_services.extend(tls) + if top_level_services: + result['related-services'] = top_level_services gl = r.get('opsdb:geant_lambdas:%s' % circuit_id.lower()) if gl: diff --git a/setup.py b/setup.py index 088fa4d6c1e8d824145751d982539ec6e7f7e311..26f7c2f6349764a85fb01115f5b523d6f312c4d8 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='inventory-provider', - version="0.32", + version="0.33", author='GEANT', author_email='swd@geant.org', description='Dashboard inventory provider', diff --git a/test/test_infinera_classifier.py b/test/test_infinera_classifier.py index 892bd06f2bda4e1a407e3fad631af793d206acf2..81d2ad96d0f2fa43e9a5fc34983a4f511789d5e9 100644 --- a/test/test_infinera_classifier.py +++ b/test/test_infinera_classifier.py @@ -81,6 +81,10 @@ INFINERA_LINK_METADATA = { "type": "array", "items": {"$ref": "#/definitions/service-info"} }, + "related-services": { + "type": "array", + "items": {"$ref": "#/definitions/service-info"} + }, "geant-lambda": { "$ref": "#/definitions/geant-lambda" },