Specific details for Object Storage API and metadata

Bug #1214136 reported by Anne Gentle
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-api-site
Fix Released
Medium
Diane Fleming

Bug Description

Reported by SDK devs at Rackspace. I would like to include these details in the Object Storage API 1.0 doc.

· Account metadata does not work the same way as some other metadata functions in object storage. In particular, a POST request will not reset all metadata to the specified values, but instead will update the metadata associated with the account in one of three ways:
o If the value for a key is not specified, it is removed if the key exists or otherwise ignored.
o If a value is specified for a key, and a value already exists for that key, then the value is updated.
o If a value is specified for a key, and the key is not already associated with the account, then a metadata item is added for the key and the given value assigned.
o If a metadata item is associated with an account, and it is not included in the POST request, then the key remains associated with the account and the value is unchanged.
o For the above rules, specifying the key X-Remove-Account-Meta-* with any value is equivalent to specifying X-Account-Meta-* with an empty value.
· I do not see any way to associate user-defined headers which do not start with X-Account-Meta- with an account.
· Metadata keys must be treated as case-insensitive at all times, and can only contain ASCII 7-bit characters which are not control characters (0-31), and not DEL, and not a separator character according to HTTP/1.1. In addition, Cloud Files does not support the underscore character, which it silently converts to a hyphen.
· The metadata values in Cloud Files do not follow HTTP/1.1 rules for character encodings. In particular, you will need to use a UTF-8 encoding to get a byte array for any string containing characters which do not fall into the 7-bit ASCII range (0-127). If you fail to follow this, then you’ll find that for ISO-8859-1 characters in the range 128-255, Cloud Files will return a 404 which is a direct violation of HTTP/1.1 §2.2.

Tags: swift
Tom Fifield (fifieldt)
Changed in openstack-api-site:
status: New → Confirmed
importance: Undecided → Medium
Akihiro Motoki (amotoki)
tags: added: swift
Revision history for this message
Anne Gentle (annegentle) wrote :

Instead of "Cloud Files" throughout, be sure to use "Object Storage."

Changed in openstack-api-site:
assignee: nobody → Diane Fleming (diane-fleming)
milestone: none → liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to api-site (master)

Fix proposed to branch: master
Review: https://review.openstack.org/241348

Changed in openstack-api-site:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to api-site (master)

Reviewed: https://review.openstack.org/241348
Committed: https://git.openstack.org/cgit/openstack/api-site/commit/?id=bcf5c5fea9a8b00e547e0ab52a31a50860771968
Submitter: Jenkins
Branch: master

commit bcf5c5fea9a8b00e547e0ab52a31a50860771968
Author: Diane Fleming <email address hidden>
Date: Tue Nov 3 13:39:45 2015 -0600

    Add notes for account metadata

    Change-Id: Ifb2b3edaa61b2f9275e92754c7c3b94b1b29a835
    Closes-Bug: #1214136

Changed in openstack-api-site:
status: In Progress → Fix Released
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.