which is now automatically set by tox. Co-authored-by: Takashi Kajinami <kajinamit@oss.nttdata.com> Change-Id: I4aa6d456e5f85286247523645a7c8d826e84d71e Signed-off-by: Ivan Anfimov <lazekteam@gmail.com>
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.gittorequirements.txt. - Install Monasca UI required packages:
pip install -r requirements.txt(monasca-client packages will be installed) - Edit 
openstack_dashboard/settings.pyto include the following two lines:import monitoring.enabledmonitoring.enabled,(Add this line to thesettings_utils.update_dashboardslist)
 - Link Monasca UI 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.pyto modify theOPENSTACK_HOSTIP address to point to devstack. - Add 
monasca-clienttorequirements.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/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_URLin 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 py3
			
		Description
				
					Languages
				
				
								
								
									Python
								
								59.7%
							
						
							
								
								
									JavaScript
								
								19.3%
							
						
							
								
								
									HTML
								
								14.8%
							
						
							
								
								
									Shell
								
								4.6%
							
						
							
								
								
									CSS
								
								1.2%
							
						
							
								
								
									Other
								
								0.4%