Monasca UI is implemented as a Horizon plugin that adds panels to Horizon. It is installed into devstack by the monasca-api plugin.
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
torequirements.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 thesettings_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
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
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
- Edit
openstack_dashboard/local/local_settings.py
to modify theOPENSTACK_HOST
IP address to point to devstack. - Add
monasca-client
torequirements.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
- The grafana4 branch of grafana is stable, as is master in monasca-grafana-datasource.
- Copy
monasca-grafana-datasource/
intografana/plugins/monasca-grafana-datasource/
. - Use the grafana docs to build and deploy grafana:
- Copy
monasca-ui/grafana-dashboards/*
to/public/dashboards/
in your grafana deployment. - Set
GRAFANA_URL
in the Horizon settings.
./run_tests.sh --runserver
To check if the code follows python coding style, run the following command from the root directory of this project:
$ tox -e pep8
To measure the code coverage, run the following command from the root directory of this project:
$ tox -e cover
To run all the unit test cases, run the following command from the root directory of this project:
$ tox -e py36