SWIFT 400 bad request path not found when POST ing

Asked by GP on 2014-01-08

This is the first time I've installed OpenStack. I have the swift proxy installed on the same node as the storage node, but different than the controller node which has keystone. The swift proxy starts and swift stat returns properly.

When I test creating a container using swift post mycontainer I get an error:

Container POST failed http://10.10.10.4:8888/v1/AUTH_612d73af0232bee1331313/mycontainer
Invalid Path /sdb1/90145/AUTH_612d73af0232bee1331313

I have /dev/sdb1 partitioned as xfs and mounted to /srv/node/sdb1 the path is writable for the swift user.

My ring for accounts/containers/objects are all setup the same way with a single node 10.10.10.4 on port 6002 with dev sdb1 same IP and port for the replication info.

Everything seems to line up so I'm not sure what to look at next.

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Solved by:
Samuel Merritt
Solved:
2014-01-10
Last query:
2014-01-10
Last reply:
2014-01-09
Best Samuel Merritt (torgomatic) said : #1

Your object server listens on 6000, container on 6001, and account on 6002.

Therefore, your object ring's devices should have port 6000, container 6001, and account 6002. Otherwise you wind up sending account, container, and object requests to whichever server managed to bind to the port first, and it rejects 2/3 of them.

GP (garrett-s-page) said : #2

Thanks Samuel Merritt, that solved my question.

kishorebjv (kishorerbjv) said : #3

Yeah, that's correct.. but i didn't get how to fix it..
Where can i redirect to respective ports? Do i need to change OS_AUTH_URL?

GP, can you tel l me where you fixed this exactly? i didn't understand object ring's device.

kishorebjv (kishorerbjv) said : #4

Sorry.. fixed it.. :) Understood..

Really thanks for the help Samuel Merritt.. :) :)