Swift emphasize object over the response body

Bug #1089254 reported by Attila Fazekas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tempest
Expired
Wishlist
Unassigned

Bug Description

The Swift tests should be re-factored by adding new class for swift objects.

When you receive a swift object, not just content body considered as an object, the full entity including all entity headers must be considered as part of the object.

The swift object python representation, must consider the header names are "token"s, you cannot store the entity-body in the same naming scope as all headers/attributes, unless you pick a header name, which can't be an entity header.

The class may provide shorthand methods for the X-Object-Meta headers or for other header groups.
Note: The headers are case insensitive. Lower case store is practical, case insensitive lookup should be considered.

The accounts and containers should get similar classes, they might have the same base class.

The object when converted to string , it should contains the entity-body only, but the repr should include all other attributes.

Note: The 'status' is not header, but our http client in several cases represent it in a similar way, try to avoid this blind spot.
Note: One header can occur multiple times in a response (http://stackoverflow.com/questions/4371328/are-duplicate-http-response-headers-acceptable), probably our httplib's responsibility to handle it correctly.

Sean Dague (sdague)
Changed in tempest:
importance: Undecided → Wishlist
Sean Dague (sdague)
Changed in tempest:
status: New → Triaged
tags: added: low-hanging-fruit
Revision history for this message
Luis de Bethencourt (l2is) wrote :

Is this bug still open? I would like to work on it if it is :)

Changed in tempest:
assignee: nobody → pradeep kumar singh (pradeep-singh-u)
Changed in tempest:
assignee: pradeep kumar singh (pradeep-singh-u) → nobody
Changed in tempest:
assignee: nobody → Luz Cazares (luz-cazares)
Revision history for this message
Luz Cazares (luz-cazares) wrote :

Not sure if this is still valid.
tempest/services/object_storage reflects object_client, container_client and account_client classes. Headers are handled by common.rest_client. Metadata is handled within the headers.

Can you provide additional information regarding the problem or changes needed? For instance is it expected to create a base class for the 3 existing clients? Is the class supposed to treat any item as a generic swift object even if it is either an account, an object or a container?

Please advise.

Changed in tempest:
status: Triaged → Incomplete
assignee: Luz Cazares (luz-cazares) → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for tempest because there has been no activity for 60 days.]

Changed in tempest:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.