Revision history [back]

I think the % and $ are interchangeable.

%(tenant_id)s is a placeholder for the tenant_id of the user who is accessing the Keystone catalog. If you run the command keystone catalog, Keystone will return its service catalog but you'll notice that all occurrences of %(tenant_id)s have been replaced with the actual ID of the tenant.

Keystone resolves the tenant_id by using the environment variables you specified either on the command line or in an openrc file:

$ cat openrc
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD="password"
export OS_AUTH_URL=""
export OS_AUTH_STRATEGY=keystone
export OS_REGION_NAME=RegionOne

For example, here is my "Compute" service entry in /etc/keystone/default_catalog.templates:

# RegionOne/compute = OpenStack Compute Service
catalog.RegionOne.compute.publicURL =
catalog.RegionOne.compute.adminURL =
catalog.RegionOne.compute.internalURL =

Now I'll run the following commands:

$ source openrc
$ keystone catalog --service=compute

And here are the results:

Service: compute
|   Property  |                               Value                               |
|   adminURL  | |
| internalURL | |
|  publicURL  | |
|    region   |                                  RegionOne                        |

Hope that helps,