Bug 1042963 - [RFE][oslo]: Propagation of request id across components (heat, nova, cinder, etc)
Summary: [RFE][oslo]: Propagation of request id across components (heat, nova, cinder,...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/oslo...
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-13 16:48 UTC by RHOS Integration
Modified: 2015-03-19 17:21 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-19 17:21:43 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description RHOS Integration 2013-12-13 16:48:22 UTC
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


Note You need to log in before you can comment on or make changes to this bug.