openstack-manuals/doc/install-guide/section_glance-install.xml
2014-09-17 22:02:57 +00:00

277 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section 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"
xml:id="glance-install">
<title>Install and configure</title>
<para>This section describes how to install and configure the Image Service,
code-named glance, on the controller node. For simplicity, this
configuration stores images on the local file system.</para>
<note>
<para>This section assumes proper installation, configuration, and
operation of the Identity service as described in
<xref linkend="keystone-install"/> and
<xref linkend="keystone-verify"/>.</para>
</note>
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
<title>To configure prerequisites</title>
<para>Before you install and configure the Image Service, you must create
a database and Identity service credentials including endpoints.</para>
<step>
<para>To create the database, complete these steps:</para>
<substeps>
<step>
<para>Use the database access client to connect to the database
server as the <literal>root</literal> user:</para>
<screen><prompt>$</prompt> <userinput>mysql -u root -p</userinput></screen>
</step>
<step>
<para>Create the <literal>glance</literal> database:</para>
<screen><userinput>CREATE DATABASE glance;</userinput></screen>
</step>
<step>
<para>Grant proper access to the <literal>glance</literal>
database:</para>
<screen><userinput>GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY '<replaceable>GLANCE_DBPASS</replaceable>';</userinput>
<userinput>GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY '<replaceable>GLANCE_DBPASS</replaceable>';</userinput></screen>
<para>Replace <replaceable>GLANCE_DBPASS</replaceable> with a suitable
password.</para>
</step>
<step>
<para>Exit the database access client.</para>
</step>
</substeps>
</step>
<step>
<para>Source the <literal>admin</literal> credentials to gain access to
admin-only CLI commands:</para>
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
</step>
<step>
<para>To create the Identity service credentials, complete these
steps:</para>
<substeps>
<step>
<para>Create the <literal>glance</literal> user:</para>
<screen><prompt>$</prompt> <userinput>keystone user-create --name glance --pass <replaceable>GLANCE_PASS</replaceable> --email <replaceable>EMAIL_ADDRESS</replaceable></userinput>
<computeroutput>+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | glance@example.com |
| enabled | True |
| id | f89cca5865dc42b18e2421fa5f5cce66 |
| name | glance |
| username | glance |
+----------+----------------------------------+</computeroutput></screen>
<para>Replace <replaceable>GLANCE_PASS</replaceable> with a suitable
password and <replaceable>EMAIL_ADDRESS</replaceable> with
a suitable e-mail address.</para>
</step>
<step>
<para>Link the <literal>glance</literal> user to the
<literal>service</literal> tenant and <literal>admin</literal>
role:</para>
<screen><prompt>$</prompt> <userinput>keystone user-role-add --user glance --tenant service --role admin</userinput></screen>
<note>
<para>This command provides no output.</para>
</note>
</step>
<step>
<para>Create the <literal>glance</literal> service:</para>
<screen><prompt>$</prompt> <userinput>keystone service-create --name glance --type image \
--description "OpenStack Image Service"</userinput>
<computeroutput>+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Image Service |
| enabled | True |
| id | 23f409c4e79f4c9e9d23d809c50fbacf |
| name | glance |
| type | image |
+-------------+----------------------------------+</computeroutput></screen>
</step>
</substeps>
</step>
<step>
<para>Create the Identity service endpoints:</para>
<screen><prompt>$</prompt> <userinput>keystone endpoint-create \
--service-id $(keystone service-list | awk '/ image / {print $2}') \
--publicurl http://<replaceable>controller</replaceable>:9292 \
--internalurl http://<replaceable>controller</replaceable>:9292 \
--adminurl http://<replaceable>controller</replaceable>:9292 \
--region regionOne</userinput>
<computeroutput>+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://controller:9292 |
| id | a2ee818c69cb475199a1ca108332eb35 |
| internalurl | http://controller:9292 |
| publicurl | http://controller:9292 |
| region | regionOne |
| service_id | 23f409c4e79f4c9e9d23d809c50fbacf |
+-------------+----------------------------------+</computeroutput></screen>
</step>
</procedure>
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
<title>To install and configure the Image Service components</title>
<step>
<para>Install the packages:</para>
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install glance python-glanceclient</userinput></screen>
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-glance python-glanceclient</userinput></screen>
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-glance python-glanceclient</userinput></screen>
</step>
<step>
<para>Edit the <filename>/etc/glance/glance-api.conf</filename>
file and complete the following actions:</para>
<substeps>
<step>
<para>In the <literal>[database]</literal> section, configure
database access:</para>
<programlisting language="ini">[database]
...
connection = mysql://glance:<replaceable>GLANCE_DBPASS</replaceable>@<replaceable>controller</replaceable>/glance</programlisting>
<para>Replace <replaceable>GLANCE_DBPASS</replaceable> with the
password you chose for the Image Service database.</para>
</step>
<step>
<para>In the <literal>[keystone_authtoken]</literal> and
<literal>[paste_deploy]</literal> sections, configure Identity
service access:</para>
<programlisting language="ini">[keystone_authtoken]
...
auth_uri = http://<replaceable>controller</replaceable>:5000/v2.0
identity_uri = http://<replaceable>controller</replaceable>:35357
admin_tenant_name = service
admin_user = glance
admin_password = <replaceable>GLANCE_PASS</replaceable>
[paste_deploy]
...
flavor = keystone</programlisting>
<para>Replace <replaceable>GLANCE_PASS</replaceable> with the
password you chose for the <literal>glance</literal> user in the
Identity service.</para>
<note>
<para>Comment out any <literal>auth_host</literal>,
<literal>auth_port</literal>, and
<literal>auth_protocol</literal> keys because the
<literal>identity_uri</literal> key replaces them.</para>
</note>
</step>
<step>
<para>(Optional) To assist with troubleshooting,
enable verbose logging in the <literal>[DEFAULT]</literal> section:</para>
<programlisting language="ini">[DEFAULT]
...
verbose = True</programlisting>
</step>
</substeps>
</step>
<step>
<para>Edit the <filename>/etc/glance/glance-registry.conf</filename>
file and complete the following actions:</para>
<substeps>
<step>
<para>In the <literal>[database]</literal> section, configure
database access:</para>
<programlisting language="ini">[database]
...
connection = mysql://glance:<replaceable>GLANCE_DBPASS</replaceable>@<replaceable>controller</replaceable>/glance</programlisting>
<para>Replace <replaceable>GLANCE_DBPASS</replaceable> with the
password you chose for the Image Service database.</para>
</step>
<step>
<para>In the <literal>[keystone_authtoken]</literal> and
<literal>[paste_deploy]</literal> sections, configure Identity
service access:</para>
<programlisting language="ini">[keystone_authtoken]
...
auth_uri = http://<replaceable>controller</replaceable>:5000/v2.0
identity_uri = http://<replaceable>controller</replaceable>:35357
admin_tenant_name = service
admin_user = glance
admin_password = <replaceable>GLANCE_PASS</replaceable>
[paste_deploy]
...
flavor = keystone</programlisting>
<para>Replace <replaceable>GLANCE_PASS</replaceable> with the
password you chose for the <literal>glance</literal> user in the
Identity service.</para>
<note>
<para>Comment out any <literal>auth_host</literal>,
<literal>auth_port</literal>, and
<literal>auth_protocol</literal> keys because the
<literal>identity_uri</literal> key replaces them.</para>
</note>
</step>
<step>
<para>In the <literal>[DEFAULT]</literal> section, we recommend
enabling verbose logging to assist with potential
troubleshooting:</para>
<programlisting language="ini">[DEFAULT]
...
verbose = True</programlisting>
</step>
</substeps>
</step>
<step>
<para>Populate the Image Service database:</para>
<screen><prompt>#</prompt> <userinput>su -s /bin/sh -c "glance-manage db_sync" glance</userinput></screen>
</step>
</procedure>
<procedure os="debian">
<title>To install and configure the Image Service components</title>
<step>
<para>Install the packages:</para>
<screen><prompt>#</prompt> <userinput>apt-get install glance python-glanceclient</userinput></screen>
</step>
<step>
<para>Respond to prompts for
<link linkend="debconf-dbconfig-common">database management</link>,
<link linkend="debconf-keystone_authtoken">Identity service
credentials</link>,
<link linkend="debconf-api-endpoints">service endpoint
registration</link>, and
<link linkend="debconf-rabbitmq">message broker
credentials</link>.</para>
</step>
<step>
<para>Select the <literal>keystone</literal> pipeline to configure the
Image Service to use the Identity service:</para>
<mediaobject>
<imageobject>
<imagedata scale="50"
fileref="figures/debconf-screenshots/glance-common_pipeline_flavor.png"
/>
</imageobject>
</mediaobject>
</step>
</procedure>
<procedure>
<title>To finalize installation</title>
<step os="ubuntu;debian">
<para>Restart the Image Service services:</para>
<screen><prompt>#</prompt> <userinput>service glance-registry restart</userinput>
<prompt>#</prompt> <userinput>service glance-api restart</userinput></screen>
</step>
<step os="rhel;centos;fedora;sles;opensuse">
<para>Start the Image Service services and configure them to start when
the system boots:</para>
<screen><prompt>#</prompt> <userinput>service openstack-glance-api start</userinput>
<prompt>#</prompt> <userinput>service openstack-glance-registry start</userinput>
<prompt>#</prompt> <userinput>chkconfig openstack-glance-api on</userinput>
<prompt>#</prompt> <userinput>chkconfig openstack-glance-registry on</userinput></screen>
</step>
<step os="ubuntu">
<para>By default, the Ubuntu packages create an SQLite database.</para>
<para>Because this configuration uses a SQL database server, you can
remove the SQLite database file:</para>
<screen><prompt>#</prompt> <userinput>rm -f /var/lib/glance/glance.sqlite</userinput></screen>
</step>
</procedure>
</section>