Horizon UI for Monasca
Go to file
Michał Piotrowski 9bb176fe2a Fix failing unit tests
Purpose of this commit is to overwrite Django settings of Horizon.
Horizon team decided to set debug flag to True, which causes problem in our tests.

Error occurs after this Horizon commit:
b0e9c3135c

Change-Id: I4d677bb4522e315ab2e4386193deb52a82d7645f
Story: 2005336
Task: 30274
2019-05-16 16:12:36 +02:00
debian Initial installer work 2014-04-29 14:09:19 -06:00
grafana-dashboards fix a typo in drilldown.js 2018-05-23 23:56:47 +08:00
monitoring Fix failing unit tests 2019-05-16 16:12:36 +02:00
tools Make monasca-ui python3 compatible 2018-03-29 15:53:22 -04:00
.gitignore Update pep8 checks 2018-04-18 16:09:26 +02:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:31:15 +00:00
.zuul.yaml Import cover job 2018-10-03 16:10:28 +02:00
LICENSE pypi packaging files 2014-05-30 16:52:14 -06:00
README.rst Update README with latest deployment steps 2018-08-20 13:07:17 +00:00
babel-django.cfg This is a preparation for using Zanata 2016-01-28 15:34:06 +09:00
babel-djangojs.cfg This is a preparation for using Zanata 2016-01-28 15:34:06 +09:00
lower-constraints.txt Drop nose dependencies 2018-08-17 01:59:02 +09:00
manage.py Add Apache 2.0 license to source file 2017-01-16 08:11:05 +00:00
mkdocs.yml Change repositories from stackforge to openstack 2015-10-19 09:59:14 +05:30
requirements.txt Fix README.rst and add syntax check 2018-08-08 18:04:12 +02:00
run_tests.sh Move coverage reports to `cover` directory 2018-03-16 14:54:20 +01:00
setup.cfg Add python3.5 classifier 2018-12-19 10:42:12 +01:00
setup.py Updated from global requirements 2017-03-02 11:47:16 +00:00
test-requirements.txt Drop nose dependencies 2018-08-17 01:59:02 +09:00
tox.ini Remove setup.py check from pep8 job 2018-10-30 10:36:34 -05:00

README.rst

Team and repository tags

image

monasca-ui

Monasca UI is implemented as a Horizon plugin that adds panels to Horizon. It is installed into devstack by the monasca-api plugin.

Devstack Deployment Set Up

  • cd /opt/stack/horizon
  • Install Openstack upper-constraints requirements pip install -c https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt -r requirements.txt
  • Clone monasca-ui: git clone https://git.openstack.org/openstack/monasca-ui.git
  • Add git+https://git.openstack.org/openstack/monasca-ui.git to requirements.txt.
  • Install monasca-ui required packages pip install -r requirements.txt (monasca-client packages will be installed.)
  • Edit openstack_dashboard/settings.py to include the following two lines:
    • import monitoring.enabled
    • monitoring.enabled, (Add this line to the settings_utils.update_dashboards list.)
  • Link monasca into Horizon:
ln -sf $(pwd)/../monasca-ui/monitoring/enabled/_50_admin_add_monitoring_panel.py \
    $(pwd)/openstack_dashboard/enabled/_50_admin_add_monitoring_panel.py
ln -sf $(pwd)/../monasca-ui/monitoring/conf/monitoring_policy.json \
    $(pwd)/openstack_dashboard/conf/monitoring_policy.json
ln -sfF $(pwd)/../monasca-ui/monitoring $(pwd)/monitoring
  • Collect static files, run tests
python manage.py collectstatic --noinput
python manage.py compress
./run_tests.sh
  • Restart apache service service apache2 restart

Development Environment Set Up

Get the Code

git clone https://git.openstack.org/openstack/monasca-ui.git  # clone monasca-ui
git clone https://git.openstack.org/openstack/horizon.git  # clone horizon
git clone https://github.com/monasca/grafana.git  # clone grafana
git clone https://github.com/openstack/monasca-grafana-datasource.git # clone grafana plugins

Set up Horizon

Since Monasca UI is a Horizon plugin, the first step is to get their development environment set up.

cd horizon
./run_tests.sh
cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py

Pro Tip: Make sure you have Horizon running correctly before proceeding. For more details visit: https://docs.openstack.org/horizon/latest/#setup

Set up Monasca-UI

  • Edit openstack_dashboard/local/local_settings.py to modify the OPENSTACK_HOST IP address to point to devstack.
  • Add monasca-client to requirements.txt. Get the latest version from: https://pypi.org/project/python-monascaclient
  • Link monasca into Horizon:
ln -sf $(pwd)/../monasca-ui/monitoring/enabled/_50_admin_add_monitoring_panel.py \
    $(pwd)/openstack_dashboard/enabled/_50_admin_add_monitoring_panel.py
ln -sf $(pwd)/../monasca-ui/monitoring/conf/monitoring_policy.json \
    $(pwd)/openstack_dashboard/conf/monitoring_policy.json
ln -sfF $(pwd)/../monasca-ui/monitoring $(pwd)/monitoring
./run_tests #load monasca-client into virtualenv

Set up Grafana 4.1

Start Server

./run_tests.sh --runserver

Style checks

To check if the code follows python coding style, run the following command from the root directory of this project:

$ tox -e pep8

Coverage checks

To measure the code coverage, run the following command from the root directory of this project:

$ tox -e cover

Unit tests

To run all the unit test cases, run the following command from the root directory of this project:

$ tox -e py27,py35