s3api doesn't log internal requests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
We have an option that you can turn on in the [filter:s3api] section:
# By default, Swift reports only S3 style access log.
# (e.g. PUT /bucket/object) If set force_swift_
# to be 'true', Swift will become to output Swift style log
# (e.g. PUT /v1/account/
# Note that they will be reported twice (i.e. s3api doesn't care about
# the duplication) and Swift style log will includes also various subrequests
# to achieve S3 compatibilities when force_swift_
# 'true'
# force_swift_
But the name doesn't match the implementation well.
In s3request:
sw_req = self.to_
# don't show log message of this request
And then later when it was realized this had the side-effect of supressing ALL subrequests based on this environ, we added a odd kludge in s3request:
if self.force_
Which allows us to still suppress the logging for TEST requests, but still get to see the REST of the subrequests again.
It's really confusing to operate and difficult to develop s3api without proper logging of swift sub-requests. There's a lot of potential to mask and miss problems. We already default this option to True on the clusters we deploy - I think the upstream default should definitely change.
But perhaps better would be to flip the option around, something more like:
# By default Swift will not log s3api authenticate TEST subrequests to keep
# chatter down for a better signal to noise ratio, but if you happen to be
# developing/
# you can turn this off for better logging visibility.
# suppress_