From b3d0f5c44d9ba82987d560c9b3e9d2f86f11eff3 Mon Sep 17 00:00:00 2001
From: Pelle Koster <pelle.koster@geant.org>
Date: Wed, 26 Feb 2025 14:15:12 +0100
Subject: [PATCH] snmp polling of gws_indirect counters only for juniper

---
 brian_polling_manager/gws_indirect.py | 6 ++++--
 brian_polling_manager/inventory.py    | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/brian_polling_manager/gws_indirect.py b/brian_polling_manager/gws_indirect.py
index 540dc6e..8eb15b0 100644
--- a/brian_polling_manager/gws_indirect.py
+++ b/brian_polling_manager/gws_indirect.py
@@ -40,8 +40,10 @@ class DSCP32CountersCheck(sensu.AbstractCheck):
 def refresh(sensu_params, services):
 
     required_checks = [
-        DSCP32CountersCheck(sensu_params['dscp32-service-check'], s)
-        for s in services]
+        DSCP32CountersCheck(sensu_params["dscp32-service-check"], s)
+        for s in services
+        if s.get("vendor", "juniper") == "juniper"
+    ]
 
     return sensu.refresh(
         sensu_params,
diff --git a/brian_polling_manager/inventory.py b/brian_polling_manager/inventory.py
index eb74058..0871e2b 100644
--- a/brian_polling_manager/inventory.py
+++ b/brian_polling_manager/inventory.py
@@ -80,7 +80,8 @@ GWS_INDIRECT_SCHEMA = {
             'properties': {
                 # minimal validation for our purposes
                 'name': {'type': 'string'},
-                'hostname': {'type': 'string'}
+                'hostname': {'type': 'string'},
+                'vendor': {'type': 'string'},
             },
             'required': ['name', 'hostname']
         }
@@ -171,7 +172,7 @@ def load_gws_indirect_services(base_urls):
     :return: an iterable of strings (service names)
     """
     return load_inventory_json(
-        'poller/gws/indirect', base_urls, GWS_INDIRECT_SCHEMA)
+        'poller/gws/indirect?vendor=1&ip_filter=1', base_urls, GWS_INDIRECT_SCHEMA)
 
 
 def load_eumetsat_multicast_subscriptions(base_urls):
-- 
GitLab