Trace-ID propagation
Trace-ID propagation
Cisco NSO assigns a trace-id to every transaction it processes. The NSO adapter generates a trace-id for each transaction it sends to NSO and returns it in the task response, letting you trace a request end-to-end — from an Itential Platform workflow step, through the adapter, into NSO’s own logs, and back into the stored task result.
This gives you a single ID to search on when correlating an Itential Platform workflow run with its corresponding NSO transaction, rather than matching timestamps across two separate logging systems.
This feature is enabled by default and requires no configuration. It applies automatically once you’re on a supported adapter version.
Version requirements
How trace-id generation works
Cisco NSO changed how it exposes trace correlation starting in NSO 6.7: earlier versions use NSO’s own trace-id extension, while 6.7 and later use the W3C Trace Context standard (traceparent). The adapter detects the connected NSO version automatically and uses the matching mechanism for each protocol — you don’t need to choose or configure anything.
Protocol-specific notes:
-
RESTCONF is standard HTTP, so older NSO versions safely ignore the
traceparentheader if they don’t recognize it — this doesn’t affect compatibility with earlier NSO releases. -
NETCONF on NSO 6.7 and later looks like this:
Where to find the trace-id
-
In the task response: The adapter returns the trace-id as a
traceIdfield on the task’s result object, so it’s visible directly in the workflow’s task output: -
In NSO’s own logs: Every log line NSO emits while processing a request includes the same trace-id the adapter sent, so you can search for it in
devel.log,netconf.log, oraudit.log. -
Persisted with the task result: The trace-id is stored in MongoDB alongside the task’s success or error data, so it remains available for troubleshooting after the fact.
A trace-id is only included for transactional adapter methods — provisioning, service configuration, dry runs, template application, and raw NETCONF RPC calls. Simple read or query calls don’t return a trace-id, since they don’t correspond to an NSO transaction.