Skip to content

[UBI] Telemetry collector python versioning and misplacement issues

Reporters

  • Georgios P. Katsikas (UBITECH)

Description

Telemetry INT collector was misplaced in the backend git repo. Also, some Python versioning issues prevented proper deployment.

Deployment environment

  • Linux Ubuntu server 22.04.5 LTS
  • MicroK8s (include version and add-ons):
  • TeraFlowSDN: latest develop

TFS deployment settings

  • list of components deployed: context device pathcomp service nbi webui kpi_manager kpi_value_writer kpi_value_api telemetry

Sequence of actions that resulted in the bug

  • deploy/all.sh was failing due to python versioning errors

Document the explicit error

  • affected component is telemetry-backend
  • example error:
Waiting for 'telemetry' component...
error: timed out waiting for the condition on deployments/telemetryservice
  Failed to deploy 'telemetry' component, exit code '1', exiting...
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/var/teraflow/telemetry/backend/service/__main__.py", line 20, in <module>
    from .TelemetryBackendService import TelemetryBackendService
  File "/var/teraflow/telemetry/backend/service/TelemetryBackendService.py", line 31, in <module>
    from .collectors.emulated.EmulatedCollector  import EmulatedCollector
  File "/var/teraflow/telemetry/backend/service/collectors/__init__.py", line 40, in <module>
    from .gnmi_oc.GnmiOpenConfigCollector import GNMIOpenConfigCollector # pylint: disable=wrong-import-position
  File "/var/teraflow/telemetry/backend/service/collectors/gnmi_oc/GnmiOpenConfigCollector.py", line 22, in <module>
    from .SubscriptionNew import Subscription
  File "/var/teraflow/telemetry/backend/service/collectors/gnmi_oc/SubscriptionNew.py", line 28, in <module>
    class Subscription:
  File "/var/teraflow/telemetry/backend/service/collectors/gnmi_oc/SubscriptionNew.py", line 85, in Subscription
    heartbeat_interval_ns: int | None,
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Expected behaviour

  • After bug fix is applied, telemetry backed gets deployed

Acknowledgements

This work is jointly funded by the European Commission through the HORIZON-JU-SNS-2022 FLEX-SCALE project with grant agreement number 101096909.

Edited by Georgios P. Katsikas