Red Hat Bugzilla – Bug 976842
Extra character in the endpoint definition for swift
Last modified: 2014-08-03 19:50:06 EDT
Title: Configuring the Identity Service to work with the Object Storage Service Describe the issue: There's this command in the doc: $ keystone endpoint-create --service_id <serviceid> \ --publicurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" \ --adminurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" \ --internalurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" This creates and endpoint like this in keystone: | dc78bb13406041d7b67a498e626f7717 | regionOne | http://10.34.60.70:8080/v1/AUTH_\%(tenant_id)s | http://10.34.60.70:8080/v1/AUTH_\%(tenant_id)s | http://10.34.60.70:8080/v1/AUTH_\%(tenant_id)s | ec2753c8d247419692c21e178702a915 | Note that the % is still escaped, which results in error in the communication with swift: # swift list Account GET failed: http://10.34.60.70:8080/v1/AUTH_\0462cfe859364e2e92a1f78309576d02?format=json 403 Forbidden [first 60 chars of response] <html><h1>Forbidden</h1><p>Access was denied to this resourc Suggestions for improvement: Remove the \ before the % character, it is not needed, at least with bash. Also I think the correct adminurl doesn't have that AUTH part (checked how packstack does it, and it works). So my recommendation is this: $ keystone endpoint-create --service_id <serviceid> \ --publicurl "http://IP:8080/v1/AUTH_%(tenant_id)s" \ --adminurl "http://IP:8080/" \ --internalurl "http://IP:8080/v1/AUTH_%(tenant_id)s" Additional information: I would also suggest replacing that random IP with the word "IP", as it is in other parts of the documents.
(In reply to Attila Darazs from comment #0) > Title: Configuring the Identity Service to work with the Object Storage > Service > > Describe the issue: > There's this command in the doc: > > $ keystone endpoint-create --service_id <serviceid> \ > --publicurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" \ > --adminurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" \ > --internalurl "http://192.0.43.10:8080/v1/AUTH_\%(tenant_id)s" Looking at the most up to date version I think Tim has replaced the % with a $, which means the escaping is required: $ keystone endpoint-create --service_id <serviceid> \ --publicurl "http://proxy_node_ip_address:8080/v1/AUTH_\$(tenant_id)s" \ --adminurl "http://proxy_node_ip_address:8080/v1/AUTH_\$(tenant_id)s" \ --internalurl "http://proxy_node_ip_address:8080/v1/AUTH_\$(tenant_id)s" I've removed the AUTH section of the adminurl (note that the version is still required however) and replaced proxy_node_ip_address with IP. "Configuring the Identity Service to work with the Object Storage Service" - ID: 16782 [rev: 469724]