An open API service indexing awesome lists of open source software.

https://github.com/openstack/monasca-ui

Horizon UI for Monasca. Mirror of code maintained at opendev.org.
https://github.com/openstack/monasca-ui

Last synced: about 1 year ago
JSON representation

Horizon UI for Monasca. Mirror of code maintained at opendev.org.

Awesome Lists containing this project

README

          

Monasca UI
========================

.. image:: https://governance.openstack.org/tc/badges/monasca-ui.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html

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://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt -r requirements.txt``
- Clone monasca-ui:
``git clone https://opendev.org/openstack/monasca-ui.git``
- Add ``git+https://opendev.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.yaml \
$(pwd)/openstack_dashboard/conf/monitoring_policy.yaml
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://opendev.org/openstack/monasca-ui.git # clone monasca-ui
git clone https://opendev.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.yaml \
$(pwd)/openstack_dashboard/conf/monitoring_policy.yaml
ln -sfF $(pwd)/../monasca-ui/monitoring $(pwd)/monitoring
./run_tests #load monasca-client into virtualenv

Set up Grafana 4.1
------------------

- The grafana4 branch of grafana is stable, as is master in
monasca-grafana-datasource.
- Copy ``monasca-grafana-datasource/`` into
``grafana/plugins/monasca-grafana-datasource/``.
- Use the grafana docs to build and deploy grafana:

- https://grafana.com/docs/project/building_from_source/
- https://grafana.com/docs/installation/configuration/

- Copy ``monasca-ui/grafana-dashboards/*`` to ``/public/dashboards/``
in your grafana deployment.
- Set ``GRAFANA_URL`` in the Horizon settings.

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 py36