Hi Alessio,
Thank you for your help. Your answer solved the problem. I was really
confused by the different documents with different versions. It should
be v2.0.
But after this step, I met another problem, when I ran "swift -A
http://127.0.0.1:5000/v2.0 -U joeuser -K secrete stat -v", I got the
following error message:
Traceback (most recent call last):
File "/usr/bin/swift", line 1853, in <module>
error_queue)
File "/usr/bin/swift", line 1363, in st_stat
headers = conn.head_account()
File "/usr/bin/swift", line 818, in head_account
return self._retry(None, head_account)
File "/usr/bin/swift", line 790, in _retry
self.http_conn = self.http_connection()
File "/usr/bin/swift", line 778, in http_connection
return http_connection(self.url)
File "/usr/bin/swift", line 163, in http_connection
parsed = urlparse(url)
File "/usr/lib/python2.7/urlparse.py", line 135, in urlparse
tuple = urlsplit(url, scheme, allow_fragments)
File "/usr/lib/python2.7/urlparse.py", line 174, in urlsplit
i = url.find(':')
AttributeError: 'NoneType' object has no attribute 'find'
I have found a answer online said "Keystone try to pick the tenant ID
from table "users" last variable which is tenant_id . if you did not
specify it , I think that keystone will return wrong URL for swift
client . try to associate a tenant for the user , and add an endpoint
for the tenant to swift endpoint templates." And this answer worked
for the guy who had this problem.
But this solution haven't worked for me. I have created a user named
"joeuser", its tenant is "customer-x". And I also have created the
endpointTemplates, and added endpoints (swift endpoint is one) with
tenants (customer-x). (All are done by running the sampledata provided
by the keystone).
The keystone api.log: WARNING [eventlet.wsgi.server] 127.0.0.1 --
[18/Jan/2012 14:05:30] "GET /v2.0 HTTP/1.1" 200 1364 0.000522. (It
seemed nothing was wrong)
I was totally confused when I fed the swift with wrong username and
password "swift -A http://127.0.0.1:5000/v2.0 -U asdf -K asdfasdf stat
-v", I got the same error message and the api.log showed the same log
message. So, it seemed that his problem may happen before authentication.
So, could you please help with this problem? That must be highly
appreciated. I have got stuck here for several days.
Other information: I used the tempauth for swift successfully and
created two containers and uploaded several files. So I think swift
works well. And the bug mentioned in the official documentation "note:
you currently have to create a container or upload something as your
first action to have the account created; there’s a Swift bug to be
fixed soon" may NOT affect my swift command. I also got error message
when I tried "swift -A http://127.0.0.1:5000/v2.0 -U asdf -K asdfasdf
post myfiles" ("myfiles" is a container I created before).
Thank you so much for you help.
Fine regards,
Sean.