Front-end application to accompany the DellVE Benchmark Suite
Author: Abigail Johnson
Live: http://dellve-dash.mybluemix.net/
- Connect to visual dashboard of any DellVE enabled server
- Real time system monitoring, interactive graphs, and alerts
- Start, stop, and monitor the progress of any DellVE benchmark
- View real-time monitoring of system GPUs (nvidia)
To utilize DellVE Dash, the server configuration you enter into Portal Home must be equipped with the following:
curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
git clone https://github.com/firehol/netdata.git --depth=1
cd netdata
./netdata-installer.sh
cd /tmp/
git clone https://github.com/Splo0sh/netdata_nv_plugin --depth 1
sudo cp netdata_nv_plugin/nv.chart.py /usr/libexec/netdata/python.d/
sudo cp netdata_nv_plugin/python_modules/pynvml.py /usr/libexec/netdata/python.d/python_modules/
sudo cp netdata_nv_plugin/nv.conf /etc/netdata/python.d/
For further information/details on how to install the netdata dependencies on other systems, visit https://github.com/firehol/netdata/wiki/Installation, https://github.com/coraxx/netdata_nv_plugin
See https://github.com/dellve/dellve_benchend
git clone https://github.com/dellve/dellve_dash
cd dellve_dash
pip3 install -r requirements.txt
python3 dellve_dash/dellve_dash.py
This application uses a continuous delivery pipeline. Whenever an approved commit has been made to the master branch, the application will be automatically redeployed to the dellve-dash instance on Bluemix.
To deploy this application to a seperate Bluemix instance, follow the instructions below:
You'll need the following:
From the Bluemix Dashboard:
or, from the command line:
cf api https://api.ng.bluemix.net
cf login
cf push
This can take a minute. If there is an error in the deployment process you can use the command cf logs <Your-App-Name> --recent
to troubleshoot.
When deployment completes you should see a message indicating that your app is running. View your app at the URL listed in the output of the push command. You can also issue the
cf apps
command to view your apps status and see the URL.
TODO
TODO
- [x] Remove server config whitelist and implement home form verification
- [x] Attach dellve API endpoint to run config form (start/stop buttons)
- [x] Add progress bar/long polling functionality
- [x] Continuous Integration build/deploy
- [x] Ensure proper reinitialization of run panel on page return
-- ( if user leaves benchmark page in middle of run, ensure stop button and proper benchmark progress is displayed if the benchmark is still running by the time they return )
- [x] Add benchmark detail panel (expand on benchmark progress complete)
- [x] Python unit tests
- [x] Interaction/js tests
- [ ] Change runtime/build to python2.7
- [x] Fix styling!
- [...] fix css to properly adapt mobile and make uniform across browsers (looks like shit in safari)
- [x] Unify DellVE logo alignment amongst pages
- [x] margins
- [x] extract css from html
- [x] remove excess styling
- [ ] export pdf styling
- [x] About section
- [x] Throw custom error page and/or display alert modal on invalid server config input (currently re-renders portal home on error )
- [x] Export Run Detail
- [...] Refactor views into modular React components
- [ ] Ensure only user who starts benchmark can stop it ( likely need to do on backend to prevent injection)
- Application must be accessed via http instead of https for netdata dependencies to load