
The secure config file has largely been unused and ignored for v3. This add support for reading ZooKeeper credentials from the secure file. Note that actually specifying authentication credentials is left for future work, but this adds the framework necessary for that. ZooKeeper creds can be in both the normal config file and the secure file. If specified in both, the data in the secure configuration wins. Change-Id: I5d9c12c00f5e85ef258128337cdb99809f86b8ed
77 lines
2.5 KiB
ReStructuredText
77 lines
2.5 KiB
ReStructuredText
:title: Installation
|
|
|
|
Installation
|
|
============
|
|
|
|
Nodepool consists of a long-running daemon which uses ZooKeeper
|
|
for coordination with Zuul.
|
|
|
|
External Requirements
|
|
---------------------
|
|
|
|
ZooKeeper
|
|
~~~~~~~~~
|
|
|
|
Nodepool uses ZooKeeper to coordinate image builds with its separate
|
|
image builder component. A single ZooKeeper instance running on the
|
|
Nodepool server is fine. Larger installations may wish to use a
|
|
multi-node ZooKeeper installation, in which case three nodes are
|
|
usually recommended.
|
|
|
|
Nodepool only needs to be told how to contact the ZooKeeper cluster;
|
|
it will automatically populate the ZNode structure as needed.
|
|
|
|
Statsd and Graphite
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
If you have a Graphite system with ``statsd``, Nodepool can be
|
|
configured to send information to it. Set the environment variable
|
|
``STATSD_HOST`` to the ``statsd`` hostname (and optionally
|
|
``STATSD_PORT`` if this should be different to the default ``8125``)
|
|
for the Nodepool daemon to enable this support.
|
|
|
|
Install Nodepool
|
|
----------------
|
|
|
|
Install Nodepool prerequisites.
|
|
|
|
Nodepool requires Python 2.7 or newer.
|
|
|
|
RHEL 7 / CentOS 7::
|
|
|
|
yum install libffi libffi-devel @development python python-devel
|
|
|
|
You may install Nodepool directly from PyPI with pip::
|
|
|
|
pip install nodepool
|
|
|
|
Or install directly from a git checkout with::
|
|
|
|
pip install .
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Nodepool has one required configuration file, which defaults to
|
|
``/etc/nodepool/nodepool.yaml``. This can be changed with the ``-c`` option.
|
|
The Nodepool configuration file is described in :ref:`configuration`.
|
|
|
|
There is support for a secure file that is used to store nodepool
|
|
configurations that contain sensitive data. It currently only supports
|
|
specifying ZooKeeper credentials. If ZooKeeper credentials are defined in
|
|
both configuration files, the data in the secure file takes precedence.
|
|
The secure file location can be changed with the ``-s`` option and follows
|
|
the same file format as the Nodepool configuration file.
|
|
|
|
There is an optional logging configuration file, specified with the ``-l``
|
|
option. The logging configuration file can accept either:
|
|
|
|
* the traditional ini python logging `configuration file format
|
|
<https://docs.python.org/2/library/logging.config.html#configuration-file-format>`_.
|
|
|
|
* a `.yml` or `.yaml` suffixed file that will be parsed and loaded as the newer
|
|
`dictConfig format
|
|
<https://docs.python.org/2/library/logging.config.html#configuration-dictionary-schema>`_.
|
|
|
|
The Nodepool configuration file is described in :ref:`configuration`.
|