[openstack-dev] request-id in API response

Joe Gordon joe.gordon0 at gmail.com
Thu Dec 12 09:09:10 UTC 2013


On Thu, Dec 12, 2013 at 1:40 AM, Sean Dague <sean at dague.net> wrote:

> On 12/11/2013 04:17 PM, Chris Buccella wrote:
> > On 12/02/2013 10:18 AM, Joe Gordon wrote:
> >>
> >>
> >>
> >>
> >>     Thanks for bringing this up, and I'd welcome a patch in Swift that
> >>     would use a common library to generate the transaction id, if it
> >>     were installed. I can see that there would be huge advantage to
> >>     operators to trace requests through multiple systems.
> >>
> >>     Another option would be for each system that calls an another
> >>     OpenStack system to expect and log the transaction ID for the
> >>     request that was given. This would be looser coupling and be more
> >>     forgiving for a heterogeneous cluster. Eg when Glance makes a call
> >>     to Swift, Glance cloud log the transaction id that Swift used
> >>     (from the Swift response). Likewise, when Swift makes a call to
> >>     Keystone, Swift could log the Keystone transaction id. This
> >>     wouldn't result in a single transaction id across all systems, but
> >>     it would provide markers so an admin could trace the request.
> >>
> >>
> >> There was a session on this at the summit, and although the notes are
> >> a little scarce this was the conclusion we came up with.  Every time a
> >> cross service call is made, we will log and send a notification for
> >> ceilometer to consume, with the request-ids of both request ids.  One
> >> of the benefits of this approach is that we can easily generate a tree
> >> of all the API calls that are made (and clearly show when multiple
> >> calls are made to the same service), something that just a cross
> >> service request id would have trouble with.
> >>
> >> https://etherpad.openstack.org/p/icehouse-summit-qa-gate-debugability
> >>
> >>
> >> With that in mind I think having a standard x-openstack-request-id
> >> makes things a little more uniform, and means that adding new services
> >> doesn't require new logic to handle new request ids.
> >
> > Two questions here:
> >
> > 1) The APIChangeGuidelines state that changing a header is frowned upon.
> > So I suppose that means we'll need to add x-openstack-request-id to nova
> > and cinder, keeping around x-compute-request-id for the time being?
> >
> > 2) The deadline for blueprints for icehouse-2 is next week. This
> > blueprint [1] is still marked as "next"; should be move that up to
> > icehouse-2?
>

I can't seem to find footnote [1], but yes it sounds like this should be
moved to icehouse-2.  Also we will need at least two blueprints (nova and
cinder)


>
> x-compute-request-id would need to go through the normal deprecation
> path. So deprecate for icehouse, remove in J. Adding
> x-openstack-request-id could happen right away, just mirror the ids
> across to it.
>

+1


>
>         -Sean
>
> --
> Sean Dague
> http://dague.net
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131212/64946962/attachment.html>


More information about the OpenStack-dev mailing list