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:9292/v1orhttp://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 interpeted as a special character by Unix
shells.

