Commit 29342a07 authored by Waleed Akbar's avatar Waleed Akbar
Browse files

Updated Telemetry Backend gNMI collector to add support for MGON power streaming.

- Add skip_verify for MGON support.
- Added another path
- messages.py (telemetry backend) adde skip_verify
parent fb90ccbd
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ class GNMIOpenConfigCollector(_Collector):
        self.username    = setting.get('username', 'admin')
        self.password    = setting.get('password', 'admin')
        self.insecure    = setting.get('insecure', True)
        self.skip_verify = setting.get('skip_verify', False)  # For TLS certificate verification
        # self.username = username
        # self.password = password
        # self.insecure = insecure
@@ -61,7 +62,8 @@ class GNMIOpenConfigCollector(_Collector):
                target      = (self.address, self.port),
                username    = self.username,
                password    = self.password,
                insecure=self.insecure
                insecure    = self.insecure,
                skip_verify = self.skip_verify            # Skip TLS certificate verification (like gnmi_subscribe_example.py)
            )
            # self.logger.info("Connecting to gNMI target %s:%s with %s and %s", self.address, self.port, self.username, self.password)
            self.client.connect()           # type: ignore
+2 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ class PathMapper:
    # Uses oc-wave-router and fsmgon module prefixes to avoid origin extraction issues
    _WAVELENGTH_ROUTER_PREFIXES = [
        'oc-wave-router:wavelength-router/fsmgon:optical-bands/optical-band[index={endpoint}]/state/{leaf}',
        # Also try without the root prefix as fallback
        'wavelength-router/fsmgon:optical-bands/optical-band[index={endpoint}]/state/{leaf}',
    ]
    # --------------------------------------------------------------#
    #  Public helper                                                #
+2 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ devices = {
        'kpi'     : KPI.KPISAMPLETYPE_OPTICAL_POWER_TOTAL_INPUT,
        'resource': 'wavelength-router',    #TODO: verify resource name form mg-on model
        'endpoint': '1',
        'skip_verify': True,
    },
}

@@ -75,6 +76,7 @@ def creat_basic_sub_request_parameters() -> dict:
            'password'          : device['password'],
            'connect_timeout'   : 15,
            'insecure'          : device['insecure'],
            'skip_verify'       : device.get('skip_verify', True),
            'mode'              : 'sample',            # Subscription internal mode posibly: on_change, poll, sample
            'sample_interval_ns': '3s',  
            'sample_interval'   : '10s',
+8 −7
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ def collector(sub_parameters):
        insecure    = sub_parameters['insecure'],
        address     = sub_parameters['target'][0],
        port        = sub_parameters['target'][1],
        skip_verify = sub_parameters.get('skip_verify', True),
    )
    collector.Connect()
    yield collector
@@ -69,7 +70,7 @@ def subscription_data(sub_parameters):
                "endpoint" : sub_parameters['endpoint'],
                "resource" : sub_parameters['resource'],
            },
            float(10.0),
            float(20.0),
            float(5.0),
        ),
    ]
@@ -109,7 +110,7 @@ def test_get_state_updates(collector, subscription_data):
    assert len(updates_received) > 0


def test_unsubscribe_state(collector, subscription_data, kpi_manager_client, context_client):
def test_unsubscribe_state(collector, subscription_data):
    """Test unsubscribing from state."""
    logger.info("----- Testing Unsubscribe -----")
    collector.SubscribeState(subscription_data)