Client for resource optimization service for OpenStack.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matt Riedemann 2cab116e30 Use upper-constraints in tox runs 1 week ago
doc/source Replace git.openstack.org URLs with opendev.org URLs 2 weeks ago
tools push initial version 4 years ago
watcherclient Merge "Add marker option for strategy in watcher-client" 1 month ago
.coveragerc Add openstack-cover-jobs for watcherclient 2 months ago
.gitignore Update .gitignore to ignore cover and .coverage* 2 months ago
.gitreview OpenDev Migration Patch 4 weeks ago
.stestr.conf Add openstack-cover-jobs for watcherclient 2 months ago
.zuul.yaml Merge "Add tempest voting" 1 week ago
CONTRIBUTING.rst Update the documentation link for doc migration 1 year ago
HACKING.rst Update the documentation link for doc migration 1 year ago
LICENSE Add license file 2 years ago
README.rst Replace git.openstack.org URLs with opendev.org URLs 2 weeks ago
babel.cfg push initial version 4 years ago
lower-constraints.txt Switch to stestr 9 months ago
requirements.txt Switch to stestr 9 months ago
setup.cfg Remove py35 1 month ago
setup.py Updated from global requirements 2 years ago
test-requirements.txt Update hacking version 4 months ago
tox.ini Use upper-constraints in tox runs 1 week ago

README.rst

Team and repository tags

image

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