Horizon UI for Monasca
b7bedc0e81
This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have. |
||
---|---|---|
debian | ||
grafana-dashboards | ||
monitoring | ||
tools | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
babel-django.cfg | ||
babel-djangojs.cfg | ||
LICENSE | ||
lower-constraints.txt | ||
manage.py | ||
mkdocs.yml | ||
README.rst | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
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
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.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 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.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
- 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.
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