Add support for x-openstack-request-id

Registered by Chris Buccella on 2014-02-13

This blueprint is basically the cinder version of the nova blueprint:
https://blueprints.launchpad.net/nova/+spec/cross-service-request-id

---

There is an existing effort to more efficiently trace request flows across OpenStack services. This will be accomplished by logging mappings of request IDs as they cross service boundaries. For example, nova responding to an image-list request will log the request ID of itself along with the request ID it gets back from glance. In this way log info from both sides can be associated.

Since this is dependent on request IDs, there is an effort to standardize the HTTP header used for returning a request ID. This was discussed on openstack-dev: http://lists.openstack.org/pipermail/openstack-dev/2013-December/020774.html

As it stands now, we have glance and neutron using x-openstack-request-id, and nova has a pending change. That just leaves cinder. Cinder is currently using the old nova header name, x-compute-request-id . As with nova and neutron, the plan is to use the already-available request_id oslo middleware to generate the request ID and attach the header.

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Medium
Drafter:
Chris Buccella
Direction:
Approved
Assignee:
Chris Buccella
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
John Griffith on 2014-02-13
Completed by
Chris Buccella on 2014-02-24

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/cross-service-request-id,n,z

Addressed by: https://review.openstack.org/70065
    Sync request_id, request_utils for cinder

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-standard-req-id-header,n,z

Addressed by: https://review.openstack.org/73776
    Add x-openstack-request-id to cinder responses

(?)

Work Items

Work items:
1. Sync oslo modules request_id and request_utils: DONE
2. Use request_id middleware in cinder: DONE

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.