Register API endpoints

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.

Note

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.

../_images/api-endpoint_1_register_endpoint.png

This screen registers packages in the Identity service catalog:

../_images/api-endpoint_2_keystone_server_ip.png

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.

../_images/api-endpoint_3_keystone_authtoken.png

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.

../_images/api-endpoint_4_service_endpoint_ip_address.png

This screen configures the region name for the service. For example, us-east-coast or europe-paris.

../_images/api-endpoint_5_region_name.png

The Debian package post installation scripts will then perform the below commands for you:

# openstack --os-token ${AUTH_TOKEN} \
  --os-url=http://${KEYSTONE_ENDPOINT_IP}:35357/v3/ \
  --os-domain-name default \
  --os-identity-api-version=3 \
  service create \
  --name=${SERVICE_NAME} \
  --description="${SERVICE_DESC}" \
  ${SERVICE_TYPE}

# openstack --os-token ${AUTH_TOKEN} \
  --os-url=http://${KEYSTONE_ENDPOINT_IP}:35357/v3/ \
  --os-domain-name default \
  --os-identity-api-version=3 \
  endpoint create \
  --region "${REGION_NAME}" \
  ${SERVICE_NAME} public http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL}

# openstack --os-token ${AUTH_TOKEN} \
  --os-url=http://${KEYSTONE_ENDPOINT_IP}:35357/v3/ \
  --os-domain-name default \
  --os-identity-api-version=3 \
  endpoint create \
  --region "${REGION_NAME}" \
  ${SERVICE_NAME} internal http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL}

# openstack --os-token ${AUTH_TOKEN} \
  --os-url=http://${KEYSTONE_ENDPOINT_IP}:35357/v3/ \
  --os-domain-name default \
  --os-identity-api-version=3 \
  endpoint create \
  --region "${REGION_NAME}" \
  ${SERVICE_NAME} admin 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.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.