Framework for building UIs for OpenStack projects dealing with complex input data
Go to file
Michael Krotscheck fc2f3628e4 Added test execution in Chromium.
This adds capturing and executing tests in the Chromium browser.
It is already supported in infra.

Change-Id: I4d18da18f9b93dc057cbe71667c5871e8210c50d
2015-06-16 12:06:36 -07:00
bin Add karma testing 2015-04-17 15:27:11 +03:00
extensions Restrict existing Action/Workflow to the existing ones 2015-06-16 17:17:47 +00:00
merlin Restrict existing Action/Workflow to the existing ones 2015-06-16 17:17:47 +00:00
tools Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
.gitignore Refactor third-party libraries usage and clean up karma config 2015-04-25 19:18:52 +00:00
.gitreview Added .gitreview 2014-08-28 23:51:02 +00:00
Gruntfile.js Add karma testing 2015-04-17 15:27:11 +03:00
README.md Added some minor fixes to documentation. 2015-06-06 16:14:27 -07:00
bower.json Refactor third-party libraries usage and clean up karma config 2015-04-25 19:18:52 +00:00
karma-unit.conf.js Added test execution in Chromium. 2015-06-16 12:06:36 -07:00
nodeenv.sh Add karma testing 2015-04-17 15:27:11 +03:00
package.json Added test execution in Chromium. 2015-06-16 12:06:36 -07:00
requirements.txt Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
test-requirements.txt Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
tox.ini Add karma testing 2015-04-17 15:27:11 +03:00

README.md

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:

  1. The easiest way to always use the latest version of Merlin is by using symlinks. Identify the directory where openstack_dashboard and horizon 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
    
  2. 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/
    
  3. This step is TEMPORARY and will be needed until the real API for listing/ loading/ saving of Mistral workbooks is implemented. You need to add the following setting to the top of /home/user/dev/horizon/openstack_dashboard/local/local_settings.py

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': 'horizon.sqlite3'
        }
    }
    

    and run /home/user/dev/horizon/manage.py syncdb after that.

  4. 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

  1. cd /home/user/dev/merlin
  2. npm install
  • If npm is not installed yet, run sudo apt-get install npm (let's assume you're using Ubuntu) and sudo apt-get install nodejs-legacy
  1. node_modules/.bin/bower install
  2. sudo npm install -g grunt-cli
  3. grunt test:unit

For more info please refer to https://wiki.openstack.org/wiki/Merlin