Our cgit instance will be going away and opendev.org is the new preferred URL for browsing our git repos. Redirects will exist for the foreseeable future, but it's more efficient to just go directly to the new locations. Change-Id: I7dd9d454da63167832bab02c89be98a2ce03b72a
164 lines
4.3 KiB
ReStructuredText
164 lines
4.3 KiB
ReStructuredText
..
|
|
Except where otherwise noted, this document is licensed under Creative
|
|
Commons Attribution 3.0 License. You can view the license at:
|
|
|
|
https://creativecommons.org/licenses/by/3.0/
|
|
|
|
=======================
|
|
Ways to install Watcher
|
|
=======================
|
|
|
|
This document describes some ways to install Watcher in order to use it.
|
|
If you are intending to develop on or with Watcher,
|
|
please read :doc:`../contributor/environment`.
|
|
|
|
Prerequisites
|
|
-------------
|
|
|
|
The source install instructions specifically avoid using platform specific
|
|
packages, instead using the source for the code and the Python Package Index
|
|
(PyPi_).
|
|
|
|
.. _PyPi: https://pypi.org/
|
|
|
|
It's expected that your system already has python2.7_, latest version of pip_,
|
|
and git_ available.
|
|
|
|
.. _python2.7: https://www.python.org
|
|
.. _pip: https://pip.pypa.io/en/latest/installing/
|
|
.. _git: https://git-scm.com/
|
|
|
|
Your system shall also have some additional system libraries:
|
|
|
|
On Ubuntu (tested on 16.04LTS):
|
|
|
|
.. code-block:: bash
|
|
|
|
$ sudo apt-get install python-dev libssl-dev libmysqlclient-dev libffi-dev
|
|
|
|
On Fedora-based distributions e.g., Fedora/RHEL/CentOS/Scientific Linux
|
|
(tested on CentOS 7.1):
|
|
|
|
.. code-block:: bash
|
|
|
|
$ sudo yum install gcc python-devel openssl-devel libffi-devel mysql-devel
|
|
|
|
|
|
Installing from Source
|
|
----------------------
|
|
|
|
Clone the Watcher repository:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ git clone https://git.openstack.org/openstack/watcher.git
|
|
$ cd watcher
|
|
|
|
Install the Watcher modules:
|
|
|
|
.. code-block:: bash
|
|
|
|
# python setup.py install
|
|
|
|
The following commands should be available on the command-line path:
|
|
|
|
* ``watcher-api`` the Watcher Web service used to handle RESTful requests
|
|
* ``watcher-decision-engine`` the Watcher Decision Engine used to build action
|
|
plans, according to optimization goals to achieve.
|
|
* ``watcher-applier`` the Watcher Applier module, used to apply action plan
|
|
* ``watcher-db-manage`` used to bootstrap Watcher data
|
|
|
|
You will find sample configuration files in ``etc/watcher``:
|
|
|
|
* ``watcher.conf.sample``
|
|
|
|
Install the Watcher modules dependencies:
|
|
|
|
.. code-block:: bash
|
|
|
|
# pip install -r requirements.txt
|
|
|
|
From here, refer to :doc:`../configuration/configuring` to declare Watcher
|
|
as a new service into Keystone and to configure its different modules.
|
|
Once configured, you should be able to run the Watcher services by issuing
|
|
these commands:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ watcher-api
|
|
$ watcher-decision-engine
|
|
$ watcher-applier
|
|
|
|
By default, this will show logging on the console from which it was started.
|
|
Once started, you can use the `Watcher Client`_ to play with Watcher service.
|
|
|
|
.. _`Watcher Client`: https://opendev.org/openstack/python-watcherclient
|
|
|
|
Installing from packages: PyPI
|
|
--------------------------------
|
|
|
|
Watcher package is available on PyPI repository. To install Watcher on your
|
|
system:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ sudo pip install python-watcher
|
|
|
|
The Watcher services along with its dependencies should then be automatically
|
|
installed on your system.
|
|
|
|
Once installed, you still need to declare Watcher as a new service into
|
|
Keystone and to configure its different modules, which you can find described
|
|
in :doc:`../configuration/configuring`.
|
|
|
|
|
|
Installing from packages: Debian (experimental)
|
|
-----------------------------------------------
|
|
|
|
Experimental Debian packages are available on `Debian repositories`_. The best
|
|
way to use them is to install them into a Docker_ container.
|
|
|
|
Here is single Dockerfile snippet you can use to run your Docker container:
|
|
|
|
.. code-block:: bash
|
|
|
|
FROM debian:experimental
|
|
MAINTAINER David TARDIVEL <david.tardivel@b-com.com>
|
|
|
|
RUN apt-get update
|
|
RUN apt-get dist-upgrade
|
|
RUN apt-get install vim net-tools
|
|
RUN apt-get install experimental watcher-api
|
|
|
|
CMD ["/usr/bin/watcher-api"]
|
|
|
|
Build your container from this Dockerfile:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ docker build -t watcher/api .
|
|
|
|
To run your container, execute this command:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ docker run -d -p 9322:9322 watcher/api
|
|
|
|
Check in your logs Watcher API is started
|
|
|
|
.. code-block:: bash
|
|
|
|
$ docker logs <container ID>
|
|
|
|
You can run similar container with Watcher Decision Engine (package
|
|
``watcher-decision-engine``) and with the Watcher Applier (package
|
|
``watcher-applier``).
|
|
|
|
.. _Docker: https://www.docker.com/
|
|
.. _`Debian repositories`: https://packages.debian.org/experimental/allpackages
|
|
|
|
|
|
|
|
|
|
|