RETIRED, OpenStack Health Dashboard
Go to file
Glauco Oliveira 2e168b4ce5 Add karma-spec-reporter
While writing unit tests around our components I found it really
difficult to understand what was going on once a failure happened due to
the lacke of information given by karma progress reporter.
While talking to a few people on the community, found out that karma
spec reporter gives you better feedback.

Change-Id: I0a3278d7ff424e0b3218e3f7b1a2f8356eb51ceb
2015-10-28 11:40:13 +09:00
app Merge "Add `@ngInject` annotation to project `resolve` config." 2015-10-22 13:58:41 +00:00
doc/source Remove mockups for implemented pages 2015-10-12 15:47:50 -04:00
etc Add new `config.json` and associated ConfigService. 2015-10-09 13:43:04 -06:00
gulp Add new `config.json` and associated ConfigService. 2015-10-09 13:43:04 -06:00
openstack_health Stop trying to set defaults with the prescribed method 2015-10-21 16:27:59 -04:00
test Add karma-spec-reporter 2015-10-28 11:40:13 +09:00
.eslintignore Fix log error 2015-10-20 12:59:51 -02:00
.eslintrc Fix JavaScript lint errors 2015-10-15 14:32:14 -03:00
.gitignore Add charts from mockup to home view. 2015-09-16 17:25:45 +00:00
.gitreview Add .gitreview file 2015-09-14 15:58:27 -06:00
.jshintrc Add jshint configuration. 2015-09-02 15:49:18 -06:00
.testr.conf Add python bits to the repo 2015-09-14 19:06:08 -04:00
CONTRIBUTING.rst Rename to openstack-health 2015-09-14 14:16:34 -06:00
HACKING.rst Remove all remaining references to stackviz template. 2015-09-14 16:43:16 -06:00
LICENSE Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
README.rst Updated README to include OSX instructions. 2015-10-07 16:35:07 +00:00
gulpfile.js Add Angular boilerplate from `angularjs-gulp-browserify-boilerplate` 2015-08-31 15:18:45 -06:00
package.json Add karma-spec-reporter 2015-10-28 11:40:13 +09:00
requirements.txt Add REST API endpoint for second page view 2015-10-06 16:52:15 -03:00
setup.cfg Fix wsgi_script entry point 2015-10-10 00:39:36 -04:00
setup.py Add python bits to the repo 2015-09-14 19:06:08 -04:00
test-requirements.txt Add unit tests for rest api and fix docs 2015-09-15 23:39:20 -04:00
tox.ini Update flake8 path in tox.ini 2015-10-02 15:24:13 -04:00

README.rst

openstack-health

webclient for visualizing test results of OpenStack CI jobs.

Installation

API

Make sure the python dependencies are installed preferrably in a virtualenv if doing development work:

pip install -r requirements.txt

Frontend

Installation of the frontend requires Node.js and Gulp.

Ubuntu:

sudo apt-get install nodejs npm nodejs-legacy
sudo npm -g install npm@2
sudo npm -g config set prefix /usr/local
sudo npm -g install npm
sudo npm -g install gulp
OSX (via HomeBrew, note no sudo)::

brew install nodejs npm install -g gulp

Then, install the Node modules by running, from the project directory:

npm install

Usage - Development

API

To run the REST API for development you either install the openstack_health python package and run:

$ openstack_health_api config_file

or alternatively just can just run the api.py file manually. For example, from the top of the repo you would run:

$ python2 openstack_health/api.py config_file

This will start up a local webserver listening on the localhost. You can then send requests to the specified port on stdout to see the response.

Frontend

A development server can be run as follows:

gulp dev

This will open a web browser and reload code automatically as it changes on the filesystem.

Usage - Production

API

The rest api is a flask application so any of the methods for deploying a flask application can be used. The standalone entrypoint used for development isn't suitable for production because it's single threaded. You should use a wsgi container, something like uwsgi, gunicorn, or mod_wsgi to deploy it for real. For example, running the API with uwsgi standalone you can do something like:

$ uwsgi -s /tmp/uwsgi.sock --module openstack_health.api --callable app --pyargv config_file --http :5000

That will startup a uwsgi server running the rest api on port 5000.

Frontend

The production application can be build using:

gulp prod

The result will be written to ./build and should be appropriate for distribution. Note that all files are not required:

  • Directory structure (js/, css/, fonts/, images/): required.
  • Static resources (fonts/, images/): required.
  • Core files (index.html, js/main.js, css/main.css): required unless gzipped versions are used.
  • Gzipped versions of core files (*.gz): not required, but preferred. Use instead of plain core files to save on disk usage and bandwidth.
  • Source maps (js/main.js.map, js/main.js.map.gz): only required for debugging purposes.