RETIRED, further work has moved to Debian project infrastructure
Go to file
David.T abf3257e1c Add constraint target to tox.ini and remove 1 dep
This adds a pip install command to tox.ini that is only used when the
tox env is passed with the 'constraints' factor appended onto it.
As such this will not effect developer workflows or current unit tests.

The initial use of this will be in a non-voting job, to verify that the
constrained checks with tox are stable.  DevStack is already running
constrained jobs, as such problems are no expected.

To run a tox with pip using constraints on a developer system a
developer should run the desired tox environment with -constraints.
For example: $(tox -epy27-constraints)
Pip will pull the current version of the upper-constraints.txt file down
from the git.openstack.org, however this method can be overriden to use
a local file setting the environment variable "UPPER_CONSTRAINTS_FILE"
to the local path or a different URL, it is passed directly to pip.

This is currently not enabled in the default tox run, however it is
possible to enable it as a default by adding it to 'envlist' in tox.ini

This also removes requirements.txt from tox.ini deps
This is redundant, per lifeless email:
http://lists.openstack.org/pipermail/openstack-dev/2015-July/069663.html

Change-Id: Id953a99cf2f83533a38a03f9934f4ec818bec03f
2016-09-21 12:15:05 +02:00
doc/source Remove useless index on root doc page 2016-06-10 10:47:22 +02:00
tools push initial version 2015-06-04 14:59:34 +02:00
watcherclient python-openstackclient ClientManager interface changed 2016-09-20 16:17:49 +02:00
.gitignore Update Watcher CLI documentation 2016-05-27 08:19:17 +00:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:38:13 +00:00
.testr.conf Tidy up 2016-05-24 15:45:12 +02:00
babel.cfg push initial version 2015-06-04 14:59:34 +02:00
CONTRIBUTING.rst push initial version 2015-06-04 14:59:34 +02:00
HACKING.rst Change stackforge to openstack 2015-10-23 16:14:56 +05:30
LICENSE Add license file 2016-07-04 18:04:10 +00:00
MANIFEST.in push initial version 2015-06-04 14:59:34 +02:00
openstack-common.conf push initial version 2015-06-04 14:59:34 +02:00
README.rst Update Watcher CLI documentation 2016-05-27 08:19:17 +00:00
requirements.txt Updated from global requirements 2016-08-25 01:11:54 +00:00
setup.cfg Update home page link in cfg file 2016-09-20 08:30:18 +05:30
setup.py Updated from global requirements 2016-02-19 02:37:27 +00:00
test-requirements.txt Remove discover from test-requirements 2016-07-21 15:38:09 +00:00
tox.ini Add constraint target to tox.ini and remove 1 dep 2016-09-21 12:15:05 +02:00

python-watcherclient

Client for resource optimization service for OpenStack.

OpenStack Watcher provides a flexible and scalable resource optimization service for multi-tenant OpenStack-based clouds. Watcher provides a complete optimization loop-including everything from a metrics receiver, complex event processor and profiler, optimization processor and an action plan applier. This provides a robust framework to realize a wide range of cloud optimization goals, including the reduction of data center operating costs, increased system performance via intelligent virtual machine migration, increased energy efficiency-and more!

Installation

Install the prerequisite packages

On Ubuntu (tested on 14.04-64)

sudo apt-get install python-dev libssl-dev python-pip git-core libmysqlclient-dev libffi-dev

On Fedora-based distributions e.g., Fedora/RHEL/CentOS/Scientific Linux (tested on CentOS 6.5)

sudo yum install python-virtualenv openssl-devel python-pip git gcc libffi-devel mysql-devel postgresql-devel

On openSUSE-based distributions (SLES 12, openSUSE 13.1, Factory or Tumbleweed)

sudo zypper install gcc git libmysqlclient-devel libopenssl-devel postgresql-devel python-devel python-pip

Install the Watcher client

You can install the Watcher CLI with the following command:

sudo pip install python-watcherclient

You can also use the OpenStack client with Watcher (our watcher plugin for OpenStack client is included in the python-watcherclient package). To install it, you have just to run this command:

sudo pip install python-openstackclient

Configuration

Create a creds file containing your OpenStack credentials:

export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL=http://<your-keystone-server>:5000/v3
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_USERNAME=admin
export OS_PASSWORD=<your-password>
export OS_PROJECT_NAME=<your-project-name>

Source these credentials into your current shell session:

# source creds

You should be able to launch the following command which gets the list of previously created Audit Templates:

# watcher audittemplate list

or:

# openstack optimize audittemplate list
+--------------------------------+------+----------------------+----------+
| UUID                           | Name | Goal                 | Strategy |
+--------------------------------+------+----------------------+----------+
+--------------------------------+------+----------------------+----------+

You can view the entire list of available Watcher commands and options using this command:

# watcher help

or:

# openstack help optimize

Troubleshootings

If any watcher command fails, you can obtain more details with the --debug option :

# watcher --debug audittemplate list

or:

# openstack --debug optimize audittemplate list

Install the openstack CLI :

# pip install python-openstackclient

Make sure that your Openstack credentials are correct. If so, you should be able to verify that the watcher user has been declared in your Openstack keystone :

# openstack user list

and that the watcher endpoints have been declared as well :

# openstack endpoint list