For each service in the catalog, you must perform two keystone operations:
Use the keystone service-create command to create a database entry for the service, with the following attributes:
--nameName of the service (e.g.,
nova,ec2,glance,keystone)--typeType of service (e.g.,
compute,ec2,image,identity)--descriptionA description of the service, (e.g.,
"Nova Compute Service")
Use the keystone endpoint-create command to create a database entry that describes how different types of clients can connect to the service, with the following attributes:
--regionthe region name you've given to the OpenStack cloud you are deploying (e.g., RegionOne)
--service-idThe ID field returned by the keystone service-create (e.g.,
935fd37b6fa74b2f9fba6d907fa95825)--publicurlThe URL of the public-facing endpoint for the service (e.g.,
http://192.168.206.130:9292orhttp://192.168.206.130:8774/v2/%(tenant_id)s)--internalurlThe URL of an internal-facing endpoint for the service.
This typically has the same value as
publicurl.--adminurlThe URL for the admin endpoint for the service. The Keystone and EC2 services use different endpoints for
adminurlandpublicurl, but for other services these endpoints will be the same.
Keystone allows some URLs to contain special variables,
which are automatically substituted with the correct value at
runtime. Some examples in this document employ the
tenant_id variable, which we use when
specifying the Volume and Compute service endpoints. Variables
can be specified using either
%(
or varname)s$(
notation. In this document, we always use the
varname)s%(
notation (e.g., varname)s%(tenant_id)s) since
$ is interpreted as a special character
by Unix shells.

