Framework for building UIs for OpenStack projects dealing with complex input data
6fa8b92891
* handle js-yaml and underscore libraries with bower (use libraries downloaded with bower by sym-linking bower_components to libs dir in static); * get rid of no longer used angular-filter; * move libraries without official releases to custom-libs * simplify file requirements in karma config. Change-Id: Ie3d1d90c6f2ccc89c7cf91fe0d9dae4b2b88442f |
||
---|---|---|
bin | ||
extensions | ||
merlin | ||
tools | ||
.gitignore | ||
.gitreview | ||
bower.json | ||
Gruntfile.js | ||
karma-unit.conf.js | ||
nodeenv.sh | ||
package.json | ||
README.md | ||
requirements.txt | ||
test-requirements.txt | ||
tox.ini |
Instructions on integrating Merlin extensions into Horizon
Although the repo contains directories meant to be used as Django apps (with templates, static files, urls & views), the whole project is not meant to be run as a standalone Django web-application (with its own settings.py etc). Instead, it should be embedded into running Horizon instance. To do so you should perform the following steps:
- The easiest way to always use the latest version of Merlin is by using
symlinks. Identify the directory where
openstack_dashboard
andhorizon
reside. Let's assume this is/usr/lib/python2.7/site-packages
and merlin repo is located at/home/user/dev/merlin
. Then run the following commands
# for main Merlin sources
ln -s /home/user/dev/merlin/merlin /usr/lib/python2.7/site-packages/merlin
# for files of the Merlin's Mistral extension
ln -s /home/user/dev/merlin/extensions/mistral /usr/lib/python2.7/site-packages/mistral
- Next thing to do is add panel with Mistral Workbook builder (a Merlin extension) into Horizon. To do it, copy the pluggable config for the Mistral panel:
cp /home/user/dev/merlin/extensions/enabled/_50_add_mistral_panel.py /usr/lib/python2.7/site-packages/openstack_dashboard/enabled/
- Restart Horizon web-server. According to the default values in
_50_add_mistral_panel.py
you would be able to Mistral panel inside the Project dashboard, Orchestration panel group.
How to run Merlin unit-tests locally
cd /home/user/dev/merlin
npm install
- If npm is not installed yet, run
sudo apt-get install npm
(let's assume you're using Ubuntu) andsudo apt-get install nodejs-legacy
node_modules/.bin/bower install
sudo npm install -g grunt-cli
grunt test:unit
For more info please refer to https://wiki.openstack.org/wiki/Merlin