b526e21436
Create a tox environment for running the unit tests against the lower bounds of the dependencies. Create a lower-constraints.txt to be used to enforce the lower bounds in those tests. Add openstack-tox-lower-constraints job to the zuul configuration. See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html for more details. monasca-ui specific changes: - Unlike other projects, monasca-ui does not support python3 unit tests yet. python2.7 is used as basepython. This should be updated to python3 later. - Bump the the minimum version of python-monascaclient to 1.8.0 to pass test_client unit tests. - nose-exclude needs to bumped to 0.5.0 to run all existing unit tests. lower-constraints.txt is modified to match the latest horizon requirements https://review.openstack.org/#/c/555491/: - unit tests fails with Django 1.8. It passes with Django 1.11. Horizon Rocky bumped the Django min version to >=1.11, so it makes sense to bump the Django min version to 1.11. - django-babel needs to bumped to 0.6.2 to support Django 1.11 and 2.0. https://review.openstack.org/555402 allows us to bump lower requirements. Co-Authored-By: Akihiro Motoki <amotoki@gmail.com> Change-Id: Ifd967b598db259429cc83046ae88abaf3d50e081 Depends-On: https://review.openstack.org/555034 Depends-On: https://review.openstack.org/555402 Signed-off-by: Doug Hellmann <doug@doughellmann.com> Signed-off-by: Akihiro Motoki <amotoki@gmail.com> |
||
---|---|---|
debian | ||
grafana-dashboards | ||
monitoring | ||
tools | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
babel-django.cfg | ||
babel-djangojs.cfg | ||
ChangeLog | ||
LICENSE | ||
lower-constraints.txt | ||
manage.py | ||
mkdocs.yml | ||
README.md | ||
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 monasca-vagrant.
#Deployment Set Up
-
git clone https://git.openstack.org/openstack/horizon.git # clone horizon
-
cd horizon
-
Add git+https://git.openstack.org/openstack/monasca-ui.git to requirements.txt
-
Edit openstack_dashboard/settings.py to include the following two lines:
-
import monitoring.enabled
-
monitoring.enabled, #Add to the settings.update_dashboards list
#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/twc-openstack/grafana.git # clone grafana
git clone https://github.com/twc-openstack/grafana-plugins.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 go to http://docs.openstack.org/developer/horizon/quickstart.html#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.python.org/pypi/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 2.6
- The v2.6.0-keystone branch of grafana is stable, as is v2.6.0 in grafana-plugins
- Copy grafana-plugins/datasources/monasca into the grafana/public/app/plugins/datasource/
- Use the grafana docs to build and deploy grafana
- http://docs.grafana.org/project/building_from_source/
- http://docs.grafana.org/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
##Removing notification panel If you want to disable the notification panel copy over _70_remove_monasca_notification_panel to the openstack_dashboard/enabled directory
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
#License
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.