Hi Xuyun -

Object-store is the correct type based on the API spec (it's defined in the 
XSDs for Keystone as well). Can you point me at documentation that lists any 
other type?

IANA assigned port 35357 to Keystone last year and we've been using that for a 
while. 5001 is no longer in use.

Hope this helps,
Z

From: Xuyun Zhang <[email protected]<mailto:[email protected]>>
Date: Thu, 19 Jan 2012 20:24:42 +1100
To: <[email protected]<mailto:[email protected]>>
Subject: [Openstack] Running swift got stuck!

Dear all,

After I ran the command "swift -A http://127.0.0.1:5000/v2.0/ -U 
demo-tenant:demo -K secrete -V 2.0 stat -v", the swift command got stuck and 
nothing appeared. I even had to login from other tty to kill this swift process.

I have already used curl -i http://127.0.0.1:5000/v2.0/tokens -H "Content-type: 
application/json" -d '{"auth": {"passwordCredentials": {"username": "demo", 
"password": "secrete"}, "tenantName": "demo-tenant"}}' to generate the 
corresponding token. The returned token shows it owns tenants and service 
catalog. details:
{"access": {"token": {"expires": "2012-01-20T20:19:26.838644", "tenants": 
[{"id": "239624b0fdf14043b415224c7a2a4b02", "name": "demo-tenant"}], "id": 
"09033fab-97c2-433f-a506-d3e623bf48b5", "tenant": {"id": 
"239624b0fdf14043b415224c7a2a4b02", "name": "demo-tenant"}}, "serviceCatalog": 
[{"endpoints": [{"id": "1", "region": "RegionOne", "internalURL": 
"http://138.25.61.81:8774/v1.1/239624b0fdf14043b415224c7a2a4b02";, "publicURL": 
"http://138.25.61.81:8774/v1.1/239624b0fdf14043b415224c7a2a4b02"}], "type": 
"compute", "name": "nova"}, {"endpoints": [{"id": "2", "region": "RegionOne", 
"internalURL": "http://138.25.61.81:9292/v1";, "publicURL": 
"http://138.25.61.81:9292/v1"}], "type": "image", "name": "glance"}, 
{"endpoints": [{"id": "3", "region": "RegionOne", "internalURL": 
"http://127.0.0.1:8888/v1/AUTH_239624b0fdf14043b415224c7a2a4b02";, "publicURL": 
"http://127.0.0.1:8888/v1/AUTH_239624b0fdf14043b415224c7a2a4b02"}], "type": 
"object-store", "name": "swift"}, {"endpoints": [{"id": "4", "region": 
"RegionOne", "internalURL": "http://138.25.61.81:5000/v2.0";, "publicURL": 
"http://138.25.61.81:5000/v2.0"}], "type": "identity", "name": "keystone"}], 
"user": {"id": "cccf764ca22d4abb96230c76ba08a219", "roles": [{"name": "Member", 
"id": "3", "tenantId": "239624b0fdf14043b415224c7a2a4b02"}], "name": "demo"}}}

I'm sure that the authentication was OK, because I have met a error said that 
something wrong with endpoint when I ran "swift..." command. Then the error was 
fixed by modifying the swift endpointTemplate type from "storage" to 
"object-store". (these two types appeared in different documentations, it seems 
"object-store" works for current version of keystone).

I guess the reason why swift got stuck is that swift doesn't get the right URL 
from keystone after authentication or the swift-proxy server is listening on 
the right port.

When I use "keystone-manage endpointTemplates list" command, it showed the id 
of swift is 3. But when running "keystone-manage endpointTemplates list 
demo-tenant", I got the "ERROR: URLs not found, ...., IndexError: URLs not 
found". However, I'm not sure whether this is a bug of keystone-manage command. 
I had already added a endpoint that associating demo-tenant and swift template 
(keystone-manage endpoint add demo-tenant 3). I'm sure that the pair (2,3) 
already exists in table endpoints(tenant_id, endpoint_template_id).
I post the details of my data sample below:
#!/bin/bash
service keystone stop
rm -f /var/lib/keystone/keystone.db
service keystone start
keystone-manage database version_control
keystone-manage database goto 10
keystone-manage database sync
chown keystone:nogroup /var/lib/keystone/keystone.db
keystone-manage tenant add admin-tenant
keystone-manage user add admin secrete admin-tenant
keystone-manage role add Admin
keystone-manage role add KeystoneServiceAdmin
keystone-manage role grant Admin admin admin-tenant
keystone-manage role grant KeystoneServiceAdmin admin admin-tenant
keystone-manage service add nova compute "Nova-Compute-Service"
keystone-manage service add glance image "Glance-Image-Service"
keystone-manage service add swift object-store "Swift-Ojbect-Storage-Service"
keystone-manage service add keystone identity "Keystone-Identity-Service"
keystone-manage endpointTemplates add RegionOne nova 
http://138.25.61.81:8774/v1.1/%tenant_id% 
http://127.0.0.1:8774/v1.1/%tenant_id% 
http://138.25.61.81:8774/v1.1/%tenant_id% 1 1
keystone-manage endpointTemplates add RegionOne glance 
http://138.25.61.81:9292/v1 http://127.0.0.1:9292/v1 
http://138.25.61.81:9292/v1 1 1
keystone-manage endpointTemplates add RegionOne swift 
http://127.0.0.1:8888/v1/AUTH_%tenant_id% http://127.0.0.1:8888/v1.0/ 
http://127.0.0.1:8888/v1/AUTH_%tenant_id% 1 1
keystone-manage endpointTemplates add RegionOne keystone 
http://138.25.61.81:5000/v2.0 http://127.0.0.1:5001/v2.0 
http://138.25.61.81:5000/v2.0 1 1
keystone-manage token add 999888777666 admin admin-tenant 2015-02-05T00:00
keystone-manage tenant add demo-tenant
keystone-manage user add demo secrete demo-tenant
keystone-manage role add Member
keystone-manage role grant Member demo demo-tenant
keystone-manage role grant Admin admin demo-tenant
keystone-manage endpoint add admin-tenant 1
keystone-manage endpoint add admin-tenant 2
keystone-manage endpoint add admin-tenant 3
keystone-manage endpoint add admin-tenant 4
keystone-manage endpoint add demo-tenant 1
keystone-manage endpoint add demo-tenant 2
keystone-manage endpoint add demo-tenant 3
keystone-manage endpoint add demo-tenant 4


part of the swift-proxy.conf which is relevant to the ports:
bind_port = 8888
[filter:keystone]
use = egg:keystone#tokenauth
auth_protocol = http
auth_host = 127.0.0.1
auth_port = 5001
admin_token = 999888777666
delay_auth_decision = 0
service_protocol = http
service_host = 127.0.0.1
service_port = 5000
service_pass = dTpw

But in most documentations, the auth_port is set to 35357, service_port is set 
to 8100. So I'm not sure whether these settings matter.

part of the keystone.conf which is relevant to the ports:
service_host  = 127.0.0.1
service_port = 5000

admin_host = 127.0.0.1
admin_port = 5001

admin_port is usually set to 35357 in most documentations. It seems that 
auth_port, service_port and adim_port are different. But they confused me to 
set up them. Could you please tell me what's the relationship among them?

Your help will be highly appreciated.
Best wishes,
Sean
_______________________________________________ Mailing list: 
https://launchpad.net/~openstack Post to : 
[email protected]<mailto:[email protected]> Unsubscribe 
: https://launchpad.net/~openstack More help : 
https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to