Watcher Horizon plugin.
Go to file
Vincent Francoise b4fb6f7573 Watcher Dashboard - Initial commit
This patchset puts in open source the code initially made internally.
This dashboard follows the new plugin architecture that Horizon
introduced.

DocImpact
Implements: blueprint watcher-ui

Change-Id: Ic8736b45ae5e111a817f64568ed0534c1521c84d
2016-02-17 13:38:41 +00:00
devstack Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
doc/source Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
tools Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
watcher_dashboard Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
.gitignore Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
.gitreview Added .gitreview 2016-02-04 09:33:04 +00:00
babel-django.cfg Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
babel-djangojs.cfg Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
HACKING.rst Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
LICENSE Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
manage.py Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
MANIFEST.in Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
README.rst Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
requirements.txt Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
run_tests.sh Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
setup.cfg Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
setup.py Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
test-requirements.txt Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00
tox.ini Watcher Dashboard - Initial commit 2016-02-17 13:38:41 +00:00

OpenStack Dashboard plugin for Watcher project

Installation

First off, create a virtual environment and install the Horizon dependencies:

$ git clone https://github.com/openstack/horizon
$ cd horizon
$ python tools/install_venv.py

We will refer to the folder you are now in as <HORIZON_DIR>. If you want more details on how to install Horizon, you can have a look at the Horizon documentation, especially their quickstart tutorial.

Then, you need to install Watcher Dashboard on the server running Horizon. To do so, you can issue the following commands:

$ git clone git://git.openstack.org/openstack/watcher-dashboard
$ cd watcher-dashboard
$ pip install -e .

We will refer to the folder you are now in as <DASHBOARD_DIR>.

The next step is now to register the Watcher Dashboard plugins against your Horizon. To do so, you can execute the tools/register_plugin.sh:

$ cd <DASHBOARD_DIR>
$ ./tools/register_plugin.sh . <HORIZON_DIR>

This script will then create the needed symlinks within Horizon so that it can load the Watcher plugin when it starts.

If you wish to have Horizon running being an Apache server, do not forget to start the service via the following command:

$ sudo service apache2 restart

For more details on how to configure Horizon for a production environment, you can refer to their online installation guide.

DevStack setup

Add the following to your DevStack local.conf file

enable_plugin watcher-dashboard git://git.openstack.org/openstack/watcher-dashboard

Unit testing

First of all, you have to create an environment to run your tests in. This step is actually part of the run_tests.sh script which creates and maintains a clean virtual environment.

Here below is the basic command to run Watcher Dashboard tests:

$ ./run_tests.sh

The first time you will issue the command above, you will be asked if you want to create a virtual environment. So unless you have installed everything manually (in which case you should use the -N flag), you need to accept

Integration testing

Before being able to run integration tests, you need to have a Horizon server running with Watcher Dashboard plugin configured. To do so, you can run a test server using the following command:

$ ./run_tests.sh --runserver 0.0.0.0:8000

By default, integration tests expect to find a running Horizon server at http://localhost:8000/ but this can be customized by editing the watcher_dashboard/test/integration_tests/horizon.conf configuration file. Likewise, this Horizon will be looking, by default, for a Keystone backend at http://localhost:5000/v2.0. So in order to customize its location, you will have to edit watcher_dashboard/test/settings.py by updating the OPENSTACK_KEYSTONE_URL variable.

To run integration tests:

$ ./run_tests.sh --integration

You can use PhantomJS as a headless browser to execute your integration tests. On an Ubuntu distribution you can install it via the following command:

$ sudo apt-get install phantomjs

Then you can run your integration tests like this:

$ ./run_tests.sh --integration --selenium-headless

Please note that these commands are also available via tox.

Note

As of the Mitaka release, the dashboard for watcher is now maintained outside of the Horizon codebase, in this repository.

Watcher project: https://git.openstack.org/openstack/watcher

Watcher at wiki.openstack.org: https://wiki.openstack.org/wiki/Watcher

Launchpad project: https://launchpad.net/watcher

Join us on IRC (Internet Relay Chat):

Network: Freenode (irc.freenode.net/watcher)
Channel: #openstack-watcher

Or send an email to openstack-dev@lists.openstack.org.