Skip to content

Add Infinera vendor support#389

Open
fakrul wants to merge 1 commit intonapalm-automation:developfrom
fakrul:fakrul/infinera_log_support
Open

Add Infinera vendor support#389
fakrul wants to merge 1 commit intonapalm-automation:developfrom
fakrul:fakrul/infinera_log_support

Conversation

@fakrul
Copy link

@fakrul fakrul commented Feb 7, 2026

Summary

Adds support for parsing syslog messages from Coriant / Infinera

Changes

  • Added napalm_logs/config/infinera/init.yml - prefix pattern for Infinera RFC5424-style syslog messages
  • Added napalm_logs/config/infinera/USER_LOGIN.yml - message definitions for SECURITY events (login/logout)

Infinera Log Format

Infinera devices emit RFC5424-style syslog messages with the following structure:

Example:
<85>1 2026-01-20T05:02:17+00:00 dci01.abc01@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":1234;"session-type":cli;"user-name":admin;"event/action":logged in

Supported Message Types

Per Infinera vendor documentation:

  • ALARM - alarm notifications with severity, duration, service-affect
  • EVENT - system events with entity and attributes
  • CONFIGURATION - config changes with user, result, attributes
  • SECURITY - authentication events (login/logout) - implemented

OpenConfig Mapping

USER_LOGIN and USER_LOGOUT events are mapped to:

  • openconfig-system model
  • Path: system/aaa/authentication/users/user/{user}/state/username

Testing

Tested locally with sample Infinera syslog messages. Hostname extraction correctly captures device name (e.g., dci01.abc01 from dci01.abc01@::).

Local Test
Raw Log: <85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in
Validation:

2026-02-10 22:40:24,926,926 [napalm_logs.listener.udp][DEBUG   ] [b'<85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in\n'] Received from udp ('127.0.0.1', 48122) from 1770723624.926784
2026-02-10 22:40:24,926,926 [napalm_logs.listener_proc][DEBUG   ] Received b'<85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in\n' from 127.0.0.1. Queueing to the server.
2026-02-10 22:40:24,927,927 [napalm_logs.server][DEBUG   ] [127.0.0.1] Dequeued message from <85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in
: 1770723624.927943
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching under ios
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+):\s+([^ ]+):\s+\*?(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\.(\d\d\d)\s?(\w+)?:\s+%([\w-]+):\s+Process\s+(\d+),\s+(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+):\s+([^ ]+):\s+\*?(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\.(\d+)\s?(\w+)?:\s+%([\w-]+):\s+(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] No match found for ios
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching under infinera
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>1\s+(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})([\+\-]\d{2}:\d{2})\s+([\w\.\-]+)@::\s+(ALARM|EVENT|CONFIGURATION|SECURITY)\s+(\d+)\s+(\[.*?\])\s+(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Adding infinera to list of matched OS
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching under opengear
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>([^ ]+)\s+(\w+)\s+(\d+-\w+-[\s|\d]\d)\s+(\d\d:\d\d:\d\d)\s+(\w+):\s+(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>([^ ]+)\s+(\w+)\s+(\d+-\w+-[\s|\d]\d)\s+(\d\d:\d\d:\d\d\.\d+)\s+(\w+):\s+(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] No match found for opengear
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching under fortinet
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] \<(\d+)\>date=(\d+-\d+-\d+)\s+time=(\d\d:\d\d:\d\d)\s+devname=(.*)\s+devid=(.*)\s+logid=(\d+)\s+type=(\w+)\s+subtype=(\w+)(.*)
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] No match found for fortinet
2026-02-10 22:40:24,928,928 [napalm_logs.server][DEBUG   ] Matching under junos
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+ +\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+(jlaunchd):\s+(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+/?(\w+)\[?(\d+)?\]?:\s+([\w\s]+):(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+(\w+)\[(\d+)\]:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+fpc(\d+)\s+(\w+)(?:(?:\[|\()(.+)(?:\]|\)))?:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+fpc(\d+)\s+fpc(\d+)\s+dcpfe:\s+(\w+)(?:(?:\[|\()(.+)(?:\]|\)))?:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+\s+\d+)\s+(\d\d:\d\d:\d\d)\s+(re\d.)?([^ ]+)\s+(fpc\d)(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+(jlaunchd):\s+(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+/?(\w+)\[?(\d+)?\]?:\s+([\w\s]+):(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+(\w+)\[(\d+)\]:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+fpc(\d+)\s+(\w+)(?:(?:\[|\()(.+)(?:\]|\)))?:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+fpc(\d+)\s+fpc(\d+)\s+dcpfe:\s+(\w+)(?:(?:\[|\()(.+)(?:\]|\)))?:(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+(re\d.)?([^ ]+)\s+(fpc\d)(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] No match found for junos
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching under sonic
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+)\s+(\d+-\d+-\d+)T(\d+:\d+:\d+)\.(\d{6})((?:\+|\-)\d{2}:\d{2})\s+([^ ]+)\s+([^ ]+)\s+([^ ]+)\s+([^ ]+)\s+([^ ]+)\s+(.*)
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] No match found for sonic
2026-02-10 22:40:24,929,929 [napalm_logs.server][DEBUG   ] Matching under huawei
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+-\d+-\d+)\s+(\d+:\d+:\d+)\.(\d{3})\.1\s+([^ ]+)\s+%%(\w+\/\w+\/\w+)(\(\w+\))\[(\d+)\]:(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] No match found for huawei
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching under eos
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+ +\d+)\s+(\d\d:\d\d:\d\d)\s+([^ ]+)\s+([\w-]+):\s+%([\w-]+)(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}[\.\d{3}]?[\+|-]\d{2}:\d{2})\s+([^ ]+)\s+([\w-]+):\s+%([\w-]+)(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] No match found for eos
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching under iosxr
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+):\s+([^ ]+)\s+([^ ]+):(\w+ +\d+)\s+(\d\d:\d\d:\d\d)(\.\d\d\d)\s?(\w\w\w)?:\s+(\w+)\[(\d+)\]:\s+%([\w-]+)\s+:\s+(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\d+):\s+([^ ]+):(\w+ +\d+)\s+(\d\d:\d\d:\d\d)(\.\d\d\d)\s?(\w\w\w)?:\s+(\w+)\[(\d+)\]:\s+%([\w-]+)\s+:\s+(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] No match found for iosxr
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching under netiron
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching using YAML-defined profiler:
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] \<(\d+)\>(\w+ +\d+)\s+(\d\d:\d\d:\d\d)\s+([^ ]+)\s+(\w+):\s+(.*)
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] No match found for netiron
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Matching under nxos
2026-02-10 22:40:24,930,930 [napalm_logs.server][DEBUG   ] Trying to match using the /home/fakrul/napalm-logs/napalm_logs/config/nxos/__init__.py custom python profiler
2026-02-10 22:40:24,930,930 [napalm_logs.utils][DEBUG   ] Matching regex "\<(\d+)\>([^ ]+): (\d+ \w+ +\d+) (\d\d:\d\d:\d\d) (\w\w\w): %([\w\d-]+): (.*)" on "<85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in
"
2026-02-10 22:40:24,931,931 [napalm_logs.utils][INFO    ] The regex didnt match
2026-02-10 22:40:24,931,931 [napalm_logs.utils][DEBUG   ] Matching regex "\<(\d+)\>(\d+ \w+ +\d+) (\d\d:\d\d:\d\d) ([^ ]+) %([\w\d-]+): (.*)" on "<85>1 2026-01-20T05:02:17+00:00 dci01.waw02@:: SECURITY 401 [meta sequenceId="735"] "time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in
"
2026-02-10 22:40:24,931,931 [napalm_logs.utils][INFO    ] The regex didnt match
2026-02-10 22:40:24,931,931 [napalm_logs.server][DEBUG   ] Match not found
2026-02-10 22:40:24,931,931 [napalm_logs.server][DEBUG   ] No match found for nxos
2026-02-10 22:40:24,931,931 [napalm_logs.server][DEBUG   ] Identified OS: infinera
2026-02-10 22:40:24,931,931 [napalm_logs.server][DEBUG   ] Queueing message to infinera
2026-02-10 22:40:24,932,932 [napalm_logs.device][DEBUG   ] infinera: dequeued {'date': '2026-01-20', 'time': '05:02:17', 'timezone': '+00:00', 'host': 'dci01.waw02', 'tag': 'SECURITY', 'messageId': '401', 'structuredData': '[meta sequenceId="735"]', 'pri': '85', 'message': '"time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in', '__prefix_id__': 0, 'facility': 10, 'severity': 5}, received from 127.0.0.1
2026-02-10 22:40:24,966,966 [tzlocal          ][DEBUG   ] /etc/timezone found, contents:
 Australia/Sydney

2026-02-10 22:40:24,966,966 [tzlocal          ][DEBUG   ] /etc/localtime found
2026-02-10 22:40:24,967,967 [tzlocal          ][DEBUG   ] 2 found:
 {'/etc/timezone': 'Australia/Sydney', '/etc/localtime is a symlink to': 'Australia/Sydney'}
2026-02-10 22:40:24,969,969 [napalm_logs.device][DEBUG   ] Generated OC object:
2026-02-10 22:40:24,969,969 [napalm_logs.device][DEBUG   ] {'system': {'aaa': {'authentication': {'users': {'user': {'rancid': {'state': {'username': 'rancid'}}}}}}}}
2026-02-10 22:40:24,969,969 [napalm_logs.device][DEBUG   ] Queueing to be published:
2026-02-10 22:40:24,969,969 [napalm_logs.device][DEBUG   ] {'error': 'USER_LOGIN', 'host': 'dci01.waw02', 'ip': '127.0.0.1', 'timestamp': 1768885337, 'yang_message': {'system': {'aaa': {'authentication': {'users': {'user': {'rancid': {'state': {'username': 'rancid'}}}}}}}}, 'message_details': {'date': '2026-01-20', 'time': '05:02:17', 'timezone': '+00:00', 'host': 'dci01.waw02', 'tag': 'SECURITY', 'messageId': '401', 'structuredData': '[meta sequenceId="735"]', 'pri': '85', 'message': '"time-stamp":2026-01-20T05:02:17Z;"session-id":2400:cb00:36:1092::ac46:1c5:37926;"session-type":cli;"user-name":rancid;"event/action":logged in', 'facility': 10, 'severity': 5}, 'yang_model': 'openconfig-system', 'os': 'infinera', 'facility': 10, 'severity': 5}
2026-02-10 22:40:24,971,971 [napalm_logs.publisher][DEBUG   ] Publishing the OC object

Future Work

Additional message definitions can be added for ALARM, EVENT, and CONFIGURATION message types as needed.

@fakrul fakrul force-pushed the fakrul/infinera_log_support branch 2 times, most recently from 280070e to 935b310 Compare February 7, 2026 13:42
Copy link
Member

@mirceaulinic mirceaulinic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice! Would you be able to add some tests as well @fakrul? Let me know if you need any guidance.
(Yes, I'm aware many things are broken here right now, but would be great to have some basic tests)

@fakrul
Copy link
Author

fakrul commented Feb 10, 2026

Very nice! Would you be able to add some tests as well @fakrul? Let me know if you need any guidance. (Yes, I'm aware many things are broken here right now, but would be great to have some basic tests)

@mirceaulinic I have updated the MR with test output. will add some test too.

@fakrul fakrul force-pushed the fakrul/infinera_log_support branch from 935b310 to a044fb8 Compare February 10, 2026 12:53
@fakrul fakrul force-pushed the fakrul/infinera_log_support branch from a044fb8 to dd1a022 Compare February 10, 2026 12:56
@fakrul fakrul requested a review from mirceaulinic February 11, 2026 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants