Choosing between Request-ID middleware and Telemetry event pipeline for tracing failed VM deployments in OpenStack
25.5K reputation · 16 Sept 2023, 17:40 UTC
Operators need to trace a failed VM deployment across Nova, Neutron, and Cinder logs to pinpoint where the failure occurred. Two documented mechanisms are available: the oslo.middleware.RequestID middleware that injects a request identifier into each service’s log line, and the Telemetry event pipeline that captures versioned notifications containing a request_id field. The middleware requires enabling in every service’s paste.ini and relies on proper context propagation; gaps in middleware deployment break the chain. Telemetry adds operational overhead through notification drivers, message queues, and event storage, and its usefulness depends on the notification format version and whether services populate the request_id field. Choosing between them involves weighing trace completeness against implementation complexity and storage cost.
- Which approach guarantees end‑to‑end traceability when some services lack the RequestID middleware?
- Does enabling both mechanisms simultaneously create duplicate identifiers that confuse log‑analysis tools?
- Under which OpenStack releases does the Telemetry pipeline reliably include the request_id field in compute.instance.create.* notifications?