Object name restrictions not documented
Bug #1670915 reported by
wolever
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Confirmed
|
Undecided
|
Unassigned | ||
python-swiftclient |
New
|
Undecided
|
Unassigned |
Bug Description
The fact that object names can have arbitrary, provider-defined, restrictions is not documented anywhere developers might reasonably notice it.
At very least it should be mentioned:
- In the API documentation: https:/
- In the documentation for client libraries (ex, so when I look up the Python swiftclient documentation, there's a big warning in the `get_object` method that it will fail with an HTTP 400 if the object name contains certain arbitrary characters)
- How to determine which characters the provider has decided to restrict (see https:/
Changed in swift: | |
status: | New → Confirmed |
To post a comment you must log in.
I think https:/ /review. openstack. org/#/c/ 442859 is on the right track for the swift end
I think the python-swiftclient get_object handling mostly exposes the right hint from the command line:
ubuntu@saio:~$ swift download test "a b" saio:8080/ v1/AUTH_ test/test/ a%20b 400 Bad Request [first 60 chars of response] Object/ Container/ Account name contains forbidden chars from
Error downloading object 'test/a b': Object GET failed: http://
I think the programmatic guidelines could better discuss the right way to handle errors the ensure the maximum amount of detail is exposed to the caller
https:/ /docs.openstack .org/developer/ python- swiftclient/ service- api.html# available- operations
https:/ /docs.openstack .org/developer/ python- swiftclient/ client- api.html# examples
Some of the python-swiftclient stuff might be better addressed in lp bug #1670917