Register API endpoints
All Debian packages for API services, except the
heat-api package, register the service in the
Identity Service catalog. This feature is helpful because API
endpoints are difficult to remember.
The heat-common package and not the
heat-api package configures the
Orchestration service.
When you install a package for an API service, you are
prompted to register that service. However, after you install or
upgrade the package for an API service, Debian immediately removes
your response to this prompt from the debconf
database. Consequently, you are prompted to re-register the
service with the Identity Service. If you already registered the
API service, respond no when you
upgrade.
This screen registers packages in the Identity Service
catalog:
You are prompted for the Identity Service
admin_token value. The Identity Service uses
this value to register the API service. When you set up the
keystone package, this value is configured
automatically.
This screen configures the IP addresses for the service. The
configuration script automatically detects the IP address used by
the interface that is connected to the default route
(/sbin/route
and /sbin/ip
).
Unless you have a unique set up for your network, press
ENTER.
This screen configures the region name for the service. For
example, us-east-coast
or
europe-paris
.
The Debian package post installation scripts will then perform the
below commands for you:
PKG_SERVICE_ID=$(pkgos_get_id keystone --os-token ${AUTH_TOKEN} \
--os-endpoint http://${KEYSTONE_ENDPOINT_IP}:35357/v2.0/ service-create \
--name=${SERVICE_NAME} --type=${SERVICE_TYPE} --description="${SERVICE_DESC}")
keystone --os-token ${AUTH_TOKEN} \
--os-endpoint http://${KEYSTONE_ENDPOINT_IP}:35357/v2.0/
endpoint-create \
--region "${REGION_NAME}" --service_id=${PKG_SERVICE_ID} \
--publicurl=http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL} \
--internalurl=http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL} \
--adminurl=http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL})
The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP,
PKG_ENDPOINT_IP and REGION_NAME depend on the
answer you will provide to the debconf prompts. But the values of SERVICE_NAME,
SERVICE_TYPE, SERVICE_DESC and SERVICE_URL
are already pre-wired in each package, so you don't have to remember them.