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 Set up a development environment manually.
Prerequisites¶
The source install instructions specifically avoid using platform specific packages, instead using the source for the code and the Python Package Index (PyPi).
It’s expected that your system already has python2.7, latest version of pip, and git available.
Your system shall also have some additional system libraries:
On Ubuntu (tested on 16.04LTS):
$ sudo apt-get install python-dev libssl-dev libmysqlclient-dev libffi-devOn Fedora-based distributions e.g., Fedora/RHEL/CentOS/Scientific Linux (tested on CentOS 7.1):
$ sudo yum install gcc python-devel openssl-devel libffi-devel mysql-devel
Installing from Source¶
Clone the Watcher repository:
$ git clone https://opendev.org/openstack/watcher.git
$ cd watcher
Install the Watcher modules:
# 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 requestswatcher-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 planwatcher-db-manage
used to bootstrap Watcher data
You will find sample configuration files in etc/watcher
:
watcher.conf.sample
Install the Watcher modules dependencies:
# pip install -r requirements.txt
From here, refer to Configuring Watcher 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:
$ 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.
Installing from packages: PyPI¶
Watcher package is available on PyPI repository. To install Watcher on your system:
$ 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 Configuring Watcher.
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:
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:
$ docker build -t watcher/api .
To run your container, execute this command:
$ docker run -d -p 9322:9322 watcher/api
Check in your logs Watcher API is started
$ 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
).