0f4c059e4d
Describing how to run style checks and unit tests Story: 2001657 Task: 6689 Change-Id: I3853edaafcaf30d862185b3ec4e4a75b28717933 Signed-off-by: Amir Mofakhar <amofakhar@op5.com>
131 lines
3.9 KiB
Markdown
131 lines
3.9 KiB
Markdown
Team and repository tags
|
|
========================
|
|
|
|
[![Team and repository tags](https://governance.openstack.org/badges/monasca-ui.svg)](https://governance.openstack.org/reference/tags/index.html)
|
|
|
|
<!-- Change things from this point on -->
|
|
|
|
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.
|
|
|