Install Guide, debconf rst files

Converts debconf, debconf-concepts from Docbook to RST.
Adds files under subdir debconf.

Change-Id: I63386a7900fe5c6224114e5541c4b6f9c2177540
Implements: blueprint installguide-liberty
This commit is contained in:
Karen Bradshaw 2015-07-23 11:13:29 -04:00
parent 95c96d48e6
commit cdba0dabbd
3 changed files with 175 additions and 17 deletions

View File

@ -0,0 +1,119 @@
================
debconf concepts
================
This chapter explains how to use the Debian ``debconf`` and
``dbconfig-common`` packages to configure OpenStack services. These
packages enable users to perform configuration tasks. When users
install OpenStack packages, ``debconf`` prompts the user for responses,
which seed the contents of configuration files associated with that package.
After package installation, users can update the configuration of a
package by using the :command:`dpkg-reconfigure` program.
If you are familiar with these packages and pre-seeding, you can proceed
to :doc:`../keystone`.
The Debian packages
-------------------
The rules described here are from the `Debian Policy
Manual <http://www.debian.org/doc/debian-policy/>`__. If any rule
described in this chapter is not respected, you have found a serious bug
that must be fixed.
When you install or upgrade a Debian package, all configuration file
values are preserved. Using the ``debconf`` database as a registry is
considered a bug in Debian. If you edit something in any OpenStack
configuration file, the ``debconf`` package reads that value when it
prepares to prompt the user. For example, to change the log in name for
the RabbitMQ messaging queue for a service, you can edit its value in
the corresponding configuration file.
To opt out of using the ``debconf`` package, run the
:command:`dpkg-reconfigure` command and select non-interactive mode:
.. code-block:: console
# dpkg-reconfigure -plow debconf
Then, ``debconf`` does not prompt you.
Another way to disable the ``debconf`` package is to prefix the
:command:`apt` command with ``DEBIAN_FRONTEND=noninteractive``,
as follows:
.. code-block:: console
# DEBIAN_FRONTEND=noninteractive apt-get install nova-api
If you configure a package with ``debconf`` incorrectly, you can
re-configure it, as follows:
.. code-block:: console
# dpkg-reconfigure PACKAGE-NAME
This calls the post-installation script for the ``PACKAGE-NAME`` package
after the user responds to all prompts. If you cannot install a Debian
package in a non-interactive way, you have found a release-critical bug
in Debian. Report it to the Debian bug tracking system.
Generally, the ``-common`` packages install the configuration files. For
example, the ``glance-common`` package installs the :file:`glance-api.conf`
and :file:`glance-registry.conf` files. So, for the Image service, you must
re-configure the ``glance-common`` package. The same applies for
``cinder-common``, ``nova-common``, and ``heat-common`` packages.
In ``debconf``, the higher the priority for a screen, the greater the
chance that the user sees that screen. If a ``debconf`` screen has
``medium`` priority and you configure the Debian system to show only
``critical`` prompts, which is the default in Debian, the user does not
see that ``debconf`` screen. Instead, the default for the related package
is used. In the Debian OpenStack packages, a number of ``debconf`` screens
are set with ``medium`` priority. Consequently, if you want to respond to
all ``debconf`` screens from the Debian OpenStack packages, you must run
the following command and select the ``medium`` priority before you install
any packages:
.. code-block:: console
# dpkg-reconfigure debconf
.. note::
The packages do not require pre-depends. If ``dbconfig-common`` is
already installed on the system, the user sees all prompts. However,
you cannot define the order in which the ``debconf`` screens appear.
The user must make sense of it even if the prompts appear in an
illogical order.
|
Pre-seed debconf prompts
------------------------
You can pre-seed all ``debconf`` prompts. To pre-seed means to store
responses in the ``debconf`` database so that ``debconf`` does not prompt
the user for responses. Pre-seeding enables a hands-free installation for
users. The package maintainer creates scripts that automatically
configure the services.
The following example shows how to pre-seed an automated MySQL Server
installation:
.. code-block:: bash
:linenos:
MYSQL_PASSWORD=MYSQL_PASSWORD
echo "mysql-server-5.5 mysql-server/root_password password ${MYSQL_PASSWORD}
mysql-server-5.5 mysql-server/root_password seen true
mysql-server-5.5 mysql-server/root_password_again password ${MYSQL_PASSWORD}
mysql-server-5.5 mysql-server/root_password_again seen true
" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes mysql-server
The ``seen true`` option tells ``debconf`` that a specified screen was
already seen by the user so do not show it again. This option is useful
for upgrades.

View File

@ -0,0 +1,14 @@
================================
Configure OpenStack with debconf
================================
.. toctree::
:maxdepth: 2
debconf-concepts.rst
.. todo(karenb)
debconf-dbconfig-common.rst
debconf-rabbitmq.rst
debconf-keystone_authtoken.rst
debconf-api-endpoints.rst

View File

@ -69,25 +69,50 @@ This guide documents OpenStack Liberty release.
Contents
~~~~~~~~
.. toctree::
:maxdepth: 2
.. only:: obs or rdo or ubuntu
overview.rst
basic_environment.rst
keystone.rst
glance.rst
nova.rst
networking.rst
horizon.rst
cinder.rst
swift.rst
heat.rst
ceilometer.rst
launch-instance.rst
app_reserved_uids.rst
.. toctree::
:maxdepth: 2
common/app_support.rst
common/glossary.rst
overview.rst
basic_environment.rst
keystone.rst
glance.rst
nova.rst
networking.rst
horizon.rst
cinder.rst
swift.rst
heat.rst
ceilometer.rst
launch-instance.rst
app_reserved_uids.rst
common/app_support.rst
common/glossary.rst
.. only:: debian
.. toctree::
:maxdepth: 2
overview.rst
basic_environment.rst
debconf/debconf.rst
keystone.rst
glance.rst
nova.rst
networking.rst
horizon.rst
cinder.rst
swift.rst
heat.rst
ceilometer.rst
launch-instance.rst
app_reserved_uids.rst
common/app_support.rst
common/glossary.rst
Search in this guide
~~~~~~~~~~~~~~~~~~~~