[openstack-dev] [tempest][swift][radosgw] Can we please merge the fix for the RFC 7230 violation issue?

John Dickinson me at not.mn
Tue Aug 9 03:39:23 UTC 2016



On 8 Aug 2016, at 9:50, Jay Pipes wrote:

> Tempest devs,
>
> Let me please draw your attention to a LP bug that may not seem particularly high priority, but I believe could be resolved easily with a patch already proposed.
>
> LP bug 1536251 [1] accurately states that Tempest is actively verifying that an OpenStack API call violates RFC 7230.
>
> When a 204 No Content is received, the Content-Length header MUST NOT be present.
>
> However, Swift returns a Content-Length header and also an HTTP response code of 204 for a request to list containers of a new user (that has no containers).
>
> Tempest has been validating this behaviour even though it is a violation of RFC 7230:
>
> https://github.com/openstack/tempest/blob/master/tempest/api/object_storage/test_account_services.py#L81
>
> RadosGW provides a proxy API that attempts to match the OpenStack Object Storage API, backed by Ceph object storage. In order for RadosGW to pass RefStack's burden of compatibility, it must pass the Tempest OpenStack Object Storage API tests. It currently cannot do so because RadosGW does not violate RFC 7230.
>
> The RadosGW developer community does not wish to argue about whether or not to make Swift's API comply with RFC 7230. At the same time, they do not want to add a configuration option to RadosGW to force the proxy service to violate RFC 7230 just to satisfy the RefStack/Tempest API tests.

I think tempest should merge the proposed patch (or one like it) so that content-length isn't checked on a 204 response. That solves the discrepancy when deployers are running Swift behind some other web server or caching system that is stripping the header. On the Swift side, we've got to consider the question of risk of breaking clients vs violating updated RFCs. My gut says we'll drip the header, but that's something that we'll discuss. But either way, it seems silly to me to be blocked here by tempest.


>
> Therefore, Radoslaw (cc'd) has proposed a patch to Tempest that would allow RadosGW's proxy API to meet the RefStack compatibility tests while also not violating RFC 7230 and not requiring any change of Swift:
>
> https://review.openstack.org/#/c/272062
>
> I ask Tempest devs to re-review the above patch and consider merging it for the sake of collaboration between the OpenStack and Ceph developer communities.
>
> Thanks very much!
> -jay
>
> [1] https://bugs.launchpad.net/tempest/+bug/1536251
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160808/dafc4048/attachment.pgp>


More information about the OpenStack-dev mailing list