Keystone doesn't return 301's (ever). However, your 301 response headers show:<div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></span></div><div>
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">    Server: BlueCoat-Security-Appliance</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br>I'm guessing that wasn't installed by devstack :)</div><div><br></div><div>-Dolph<br><br><div class="gmail_quote">On Fri, Aug 24, 2012 at 3:03 AM, Lu, Lianhao <span dir="ltr"><<a href="mailto:lianhao.lu@intel.com" target="_blank">lianhao.lu@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi gang,<br>
<br>
I used the devstack to install a "all-one-one" develop environment, but the keystone service seemed not working for me.<br>
<br>
The host OS is Ubuntu 12.04 with a statically assigned IP address 192.168.79.201. Since this host is in the internal network, I have to use a gateway(with 2 NICs of ip addresses 192.168.79.1 and 10.239.48.224) to login into the 192.168.79.201 host from the <a href="http://10.239.48.0/24" target="_blank">10.239.48.0/24</a> network to run devstack.<br>

<br>
After running devstack successfully, I found that the keystone service was not usable. It mysteriously redirected http requests to the gateway 10.239.48.224(see below for the http response and keystone configurations). Does anyone know why I saw the redirect here? Thanks!<br>

<br>
Best Regards,<br>
-Lianhao<br>
<br>
$ keystone --debug tenant-list<br>
connect: (127.0.0.1, 5000)<br>
send: 'POST /v2.0/tokens HTTP/1.1\r\nHost: <a href="http://127.0.0.1:5000" target="_blank">127.0.0.1:5000</a>\r\nContent-Length: 100\r\ncontent-type: application/json\r\naccept-encoding: gzip, deflate\r\nuser-agent: python-keystoneclient\r\n\r\n{"auth": {"tenantName": "demo", "passwordCredentials": {"username": "admin", "password": "123456"}}}'<br>

reply: 'HTTP/1.1 301 Moved Permanently\r\n'<br>
header: Server: BlueCoat-Security-Appliance<br>
header: Location:<a href="http://10.239.48.224" target="_blank">http://10.239.48.224</a><br>
header: Connection: Close<br>
connect: (10.239.48.224, 80)<br>
send: 'POST / HTTP/1.1\r\nHost: 10.239.48.224\r\nContent-Length: 100\r\ncontent-type: application/json\r\naccept-encoding: gzip, deflate\r\nuser-agent: python-keystoneclient\r\n\r\n{"auth": {"tenantName": "demo", "passwordCredentials": {"username": "admin", "password": "123456"}}}'<br>

<br>
<br>
$ cat /etc/keystone/keystone.conf<br>
[DEFAULT]<br>
admin_token = 123456<br>
[sql]<br>
connection = mysql://root:123456@localhost/keystone?charset=utf8<br>
[catalog]<br>
template_file = /etc/keystone/default_catalog.templates<br>
driver = keystone.catalog.backends.templated.TemplatedCatalog<br>
[ec2]<br>
driver = keystone.contrib.ec2.backends.sql.Ec2<br>
[filter:debug]<br>
paste.filter_factory = keystone.common.wsgi:Debug.factory<br>
[filter:token_auth]<br>
paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory<br>
[filter:admin_token_auth]<br>
paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory<br>
[filter:xml_body]<br>
paste.filter_factory = keystone.middleware:XmlBodyMiddleware.factory<br>
[filter:json_body]<br>
paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory<br>
[filter:user_crud_extension]<br>
paste.filter_factory = keystone.contrib.user_crud:CrudExtension.factory<br>
[filter:crud_extension]<br>
paste.filter_factory = keystone.contrib.admin_crud:CrudExtension.factory<br>
[filter:ec2_extension]<br>
paste.filter_factory = keystone.contrib.ec2:Ec2Extension.factory<br>
[filter:s3_extension]<br>
paste.filter_factory = keystone.contrib.s3:S3Extension.factory<br>
[filter:url_normalize]<br>
paste.filter_factory = keystone.middleware:NormalizingFilter.factory<br>
[filter:stats_monitoring]<br>
paste.filter_factory = keystone.contrib.stats:StatsMiddleware.factory<br>
[filter:stats_reporting]<br>
paste.filter_factory = keystone.contrib.stats:StatsExtension.factory<br>
[app:public_service]<br>
paste.app_factory = keystone.service:public_app_factory<br>
[app:admin_service]<br>
paste.app_factory = keystone.service:admin_app_factory<br>
[pipeline:public_api]<br>
pipeline = stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug ec2_extension user_crud_extension public_service<br>
[pipeline:admin_api]<br>
pipeline = stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug stats_reporting ec2_extension s3_extension crud_extension admin_service<br>
[app:public_version_service]<br>
paste.app_factory = keystone.service:public_version_app_factory<br>
[app:admin_version_service]<br>
paste.app_factory = keystone.service:admin_version_app_factory<br>
[pipeline:public_version_api]<br>
pipeline = stats_monitoring url_normalize xml_body public_version_service<br>
[pipeline:admin_version_api]<br>
pipeline = stats_monitoring url_normalize xml_body admin_version_service<br>
[composite:main]<br>
use = egg:Paste#urlmap<br>
/v2.0 = public_api<br>
/ = public_version_api<br>
[composite:admin]<br>
use = egg:Paste#urlmap<br>
/v2.0 = admin_api<br>
/ = admin_version_api<br>
<br>
<br>
$ cat /etc/keystone/default_catalog.templates<br>
catalog.RegionOne.identity.publicURL = http://192.168.79.201:$(public_port)s/v2.0<br>
catalog.RegionOne.identity.adminURL = http://192.168.79.201:$(admin_port)s/v2.0<br>
catalog.RegionOne.identity.internalURL = http://192.168.79.201:$(public_port)s/v2.0<br>
<a href="http://catalog.RegionOne.identity.name" target="_blank">catalog.RegionOne.identity.name</a> = Identity Service<br>
<br>
catalog.RegionOne.compute.publicURL = <a href="http://192.168.79.201:8774/v2/$(tenant_id)s" target="_blank">http://192.168.79.201:8774/v2/$(tenant_id)s</a><br>
catalog.RegionOne.compute.adminURL = <a href="http://192.168.79.201:8774/v2/$(tenant_id)s" target="_blank">http://192.168.79.201:8774/v2/$(tenant_id)s</a><br>
catalog.RegionOne.compute.internalURL = <a href="http://192.168.79.201:8774/v2/$(tenant_id)s" target="_blank">http://192.168.79.201:8774/v2/$(tenant_id)s</a><br>
<a href="http://catalog.RegionOne.compute.name" target="_blank">catalog.RegionOne.compute.name</a> = Compute Service<br>
<br>
catalog.RegionOne.volume.publicURL = <a href="http://192.168.79.201:8776/v1/$(tenant_id)s" target="_blank">http://192.168.79.201:8776/v1/$(tenant_id)s</a><br>
catalog.RegionOne.volume.adminURL = <a href="http://192.168.79.201:8776/v1/$(tenant_id)s" target="_blank">http://192.168.79.201:8776/v1/$(tenant_id)s</a><br>
catalog.RegionOne.volume.internalURL = <a href="http://192.168.79.201:8776/v1/$(tenant_id)s" target="_blank">http://192.168.79.201:8776/v1/$(tenant_id)s</a><br>
<a href="http://catalog.RegionOne.volume.name" target="_blank">catalog.RegionOne.volume.name</a> = Volume Service<br>
<br>
catalog.RegionOne.ec2.publicURL = <a href="http://192.168.79.201:8773/services/Cloud" target="_blank">http://192.168.79.201:8773/services/Cloud</a><br>
catalog.RegionOne.ec2.adminURL = <a href="http://192.168.79.201:8773/services/Admin" target="_blank">http://192.168.79.201:8773/services/Admin</a><br>
catalog.RegionOne.ec2.internalURL = <a href="http://192.168.79.201:8773/services/Cloud" target="_blank">http://192.168.79.201:8773/services/Cloud</a><br>
<a href="http://catalog.RegionOne.ec2.name" target="_blank">catalog.RegionOne.ec2.name</a> = EC2 Service<br>
<br>
catalog.RegionOne.s3.publicURL = <a href="http://192.168.79.201:3333" target="_blank">http://192.168.79.201:3333</a><br>
catalog.RegionOne.s3.adminURL = <a href="http://192.168.79.201:3333" target="_blank">http://192.168.79.201:3333</a><br>
catalog.RegionOne.s3.internalURL = <a href="http://192.168.79.201:3333" target="_blank">http://192.168.79.201:3333</a><br>
<a href="http://catalog.RegionOne.s3.name" target="_blank">catalog.RegionOne.s3.name</a> = S3 Service<br>
<br>
catalog.RegionOne.image.publicURL = <a href="http://192.168.79.201:9292" target="_blank">http://192.168.79.201:9292</a><br>
catalog.RegionOne.image.adminURL = <a href="http://192.168.79.201:9292" target="_blank">http://192.168.79.201:9292</a><br>
catalog.RegionOne.image.internalURL = <a href="http://192.168.79.201:9292" target="_blank">http://192.168.79.201:9292</a><br>
<a href="http://catalog.RegionOne.image.name" target="_blank">catalog.RegionOne.image.name</a> = Image Service<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>-Dolph<br>
</div>