Elements of a Keystone service catalog entry

For each service in the catalog, you must perform two keystone operations:

  1. Use the keystone service-create command to create a database entry for the service, with the following attributes:

    --name

    Name of the service (e.g., nova, ec2, glance, keystone)

    --type

    Type of service (e.g., compute, ec2, image, identity)

    --description

    A description of the service, (e.g., "Nova Compute Service")

  2. 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:

    --region

    the region name you've given to the OpenStack cloud you are deploying (e.g., RegionOne)

    --service-id

    The ID field returned by the keystone service-create (e.g., 935fd37b6fa74b2f9fba6d907fa95825)

    --publicurl

    The URL of the public-facing endpoint for the service (e.g., http://192.168.206.130:9292 or http://192.168.206.130:8774/v2/%(tenant_id)s)

    --internalurl

    The URL of an internal-facing endpoint for the service.

    This typically has the same value as publicurl.

    --adminurl

    The URL for the admin endpoint for the service. The Keystone and EC2 services use different endpoints for adminurl and publicurl, 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 %(varname)s or $(varname)s notation. In this document, we always use the %(varname)s notation (e.g., %(tenant_id)s) since $ is interpreted as a special character by Unix shells.


loading table of contents...