openstack-manuals/doc/install-guide/section_debconf-api-endpoints.xml
Thomas Goirand 0e5513f6a3 Documents what debconf does
After discussing the topic on the doc list, it appears that it
would be nice to document what the debconf screens are configuring.
This patch adds the information, so that it makes it more explicit
to our users what Debian does for them.

This patch only addresses the debconf chapter. There will be other
patches for specific services later on, once this patch is merged.

Change-Id: I60c7ba818e36056ed913582e66bf24c41b2c6807
2014-06-12 23:41:43 +08:00

103 lines
4.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<section xml:id="debconf-api-endpoints"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>Register API endpoints</title>
<para>All Debian packages for API services, except the
<package>heat-api</package> package, register the service in the
Identity Service catalog. This feature is helpful because API
endpoints are difficult to remember.</para>
<note>
<para>The <package>heat-common</package> package and not the
<package>heat-api</package> package configures the
Orchestration service.</para>
</note>
<para>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 <package>debconf</package>
database. Consequently, you are prompted to re-register the
service with the Identity Service. If you already registered the
API service, respond <literal>no</literal> when you
upgrade.</para>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/api-endpoint_1_register_endpoint.png"
/>
</imageobject>
</mediaobject>
</informalfigure>
<para>This screen registers packages in the Identity Service
catalog:</para>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png"
/>
</imageobject>
</mediaobject>
</informalfigure>
<para>You are prompted for the Identity Service
<literal>admin_token</literal> value. The Identity Service uses
this value to register the API service. When you set up the
<package>keystone</package> package, this value is configured
automatically.</para>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png"
/>
</imageobject>
</mediaobject>
</informalfigure>
<para>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
(<code>/sbin/route</code> and <code>/sbin/ip</code>).</para>
<para>Unless you have a unique set up for your network, press
<keycap>ENTER</keycap>.</para>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png"
/>
</imageobject>
</mediaobject>
</informalfigure>
<para>This screen configures the region name for the service. For
example, <code>us-east-coast</code> or
<code>europe-paris</code>.</para>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/api-endpoint_5_region_name.png"
/>
</imageobject>
</mediaobject>
</informalfigure>
<para>The Debian package post installation scripts will then perform the
below commands for you:</para>
<programlisting language="ini">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})</programlisting>
<para>The values of <literal>AUTH_TOKEN</literal>, <literal>KEYSTONE_ENDPOINT_IP</literal>,
<literal>PKG_ENDPOINT_IP</literal> and <literal>REGION_NAME</literal> depend on the
answer you will provide to the debconf prompts. But the values of <literal>SERVICE_NAME</literal>,
<literal>SERVICE_TYPE</literal>, <literal>SERVICE_DESC</literal> and <literal>SERVICE_URL</literal>
are already pre-wired in each package, so you don't have to remember them.</para>
</section>