[openstack-dev] [nova] logging wsgi requests exactly once ... issues with request usefulness
Christopher Yeoh
cbkyeoh at gmail.com
Mon Feb 10 22:37:21 UTC 2014
On Mon, Feb 10, 2014 at 3:11 PM, Sean Dague <sean at dague.net> wrote:
> On 02/10/2014 05:05 PM, Christopher Yeoh wrote:
> > On Mon, Feb 10, 2014 at 2:56 PM, Sean Dague <sean at dague.net
> > <mailto:sean at dague.net>> wrote:
> >
> > In upstream Nova master we're currently logging ec2 wsgi requests
> twice,
> > once in the paste pipeline, and once in eventlet.
> >
> > The following patch removes the paste pipeline portion -
> > https://review.openstack.org/#/c/67736/
> >
> > However... I'm not very satisfied with this approach, as the
> resulting
> > log entries look as follows (lots more examples at -
> >
> http://logs.openstack.org/36/67736/7/check/check-tempest-dsvm-full/9b0eb3e/logs/screen-n-api.txt.gz?level=INFO
> )
> >
> > ... "POST /services/Cloud/ HTTP/1.1" status: 200 len: 2099 time:
> > 0.8823061
> > ... "POST /services/Cloud/ HTTP/1.1" status: 200 len: 449 time:
> > 0.1196980
> > ... "POST /services/Cloud/ HTTP/1.1" status: 200 len: 2095 time:
> > 0.4743402
> > ... "POST /services/Cloud/ HTTP/1.1" status: 400 len: 360 time:
> > 0.5385840
> > ... "POST /services/Cloud/ HTTP/1.1" status: 200 len: 449 time:
> > 0.1317410
> >
> > Because the eventlet logger is only logging the requestline (which is
> > the URL), Post requests are basically completely information free.
> >
> > We have an equally opaque problem in the Nova API with server
> actions:
> >
> > ... "POST
> >
> /v2/85979842c31049fab70bcdd399cb9a3f/servers/4d5c5ba0-a975-4f4b-863a-390ad58e1c48/action
> > HTTP/1.1" status: 202 len: 185 time: 1.1360781
> >
> > Because these aren't really RESTful interfaces, so the url is not
> useful
> > enough to determine the action.
> >
> > My feeling is that we need to make the wsgi request logs useful
> enough
> > to know what was actually called on an API call, which means I'm not
> > convinced we can actually use the eventlet logger for Nova, because
> our
> > URLs aren't actually RESTful.
> >
> > I'm slightly surprised that in v3 we do the same thing. Could we at
> > minimum change .... action urls to action/ACTIONNAME, or would that
> > completely not work with our router?
> >
> >
> > Yea this is a wsgi "thing". I guess we'll need to log action POSTs twice
> > to get enough useful info in the logs.
>
> No, I get that our urls are POST .../action. :)
>
> What I'm saying is that isn't a RESTful url. The API end point should be
> POST .../action/BLAH, and that's what attached to the controller. It
> seems like given that we haven't yet released the v3 API this is maybe
> changable.
>
Hrm perhaps. Probably require a bit of hacking on wsgi to change how
wsgi.action works and then a bunch of unittests and tempest tests updated
to allow the patches to merge (unless we allow both types of behaviour in
the meantime.
However, for a RESTful url api design aren't you meant to avoid using verbs
in the URL?
Which is why I think the design was done this way in the first place. eg
http://stackoverflow.com/questions/2447722/rest-services-exposing-non-data-actions
so I'm not convinced we should be changing this. And feature propsal
deadline is
only a week away anyway.
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140210/6844dd3e/attachment.html>
More information about the OpenStack-dev
mailing list