Hide Forgot
Cloned from launchpad blueprint https://blueprints.launchpad.net/oslo/+spec/cross-component-request-id-propagation. Description: Currently, if a request comes into nova-api (e.g.) that produces a request id which is used within nova processes (i.e. nova-api, nova-scheduler, etc), but will not get propagated to other components that may be logically related to the original request. For example, a nova-api request to create an instance will require to talk to glance, yet it seems that the request id that was generated in nova for the instance creation does not get used in glance for work performed towards that "user request" (create instance). Ideally, if a component receives an api request that includes a request id, then it should use that id for any downstream requests and all work related to that request. Propagating the request id is really out of band with respect to the API and therefore should be stored as an HTTP header (e.g. request-id). In the end, all activity related to a "top-level" request (e.g. Heat stack create) should be traceable across all components of OpenStack (nova, cinder, glance, neutron, etc). One idea is to have the request id included in the HTTP header as "OpenStack-request-id" (note http://tools.ietf.org/html/rfc6648 deprecates use of HTTP headers starting with "X-") and have that id used in subsequent request related to other components, such that the receiving components can use that request id instead of generating its own. Specification URL (additional information): None