Horizon Web interface for Freezer backup, restore and disaster recovery platform
Go to file
memo 544dc999a8 Add freezer as a dependency from source
Change-Id: I553632f5613a79a9d4f30bb98e2f61ce9865fbab
2015-10-19 20:52:50 +01:00
devstack devstack plugin interface 2015-10-16 15:35:35 +01:00
freezer_ui Added logging to freezer-web-ui 2015-10-19 12:14:32 +01:00
tests Prepare UI for split 2015-08-28 17:14:19 +01:00
.gitignore Update dashboard for new freezer apiclient new version 2015-10-07 15:54:27 +01:00
.pylintrc Update dashboard for new freezer apiclient new version 2015-10-07 15:54:27 +01:00
MANIFEST.in First version of setup.py 2015-06-21 18:10:07 +00:00
README.rst Improve REAMDE file 2015-10-09 14:07:15 +01:00
_50_freezer.py Prepare UI for split 2015-08-28 17:14:19 +01:00
requirements.txt Add freezer as a dependency from source 2015-10-19 20:52:50 +01:00
setup.cfg First version of setup.py 2015-06-21 18:10:07 +00:00
setup.py First version of setup.py 2015-06-21 18:10:07 +00:00
test-requirements.txt Prepare UI for split 2015-08-28 17:14:19 +01:00
tox.ini Prepare UI for split 2015-08-28 17:14:19 +01:00

README.rst

Freezer - Horizon Dashboard

Requirements

Freezer Freezer Dashboard requires a freezer API client to be installed in the same environment as horizon:

git clone https://github.com/stackforge/freezer
cd freezer
python setup.py install (is important that freezer is installed from source and not with pip)

Freezer Dashboard requires a freezer API endpoint which you can install following this steps:

https://github.com/stackforge/freezer-api/blob/master/README.rst

API registration

Register freezer api endpoint:

https://github.com/stackforge/freezer-api/blob/master/README.rst#3-api-registration

If keystone service-create and endpoint-create are not available you can set as a fallback the following on:

# vim /opt/stack/horizon/openstack_dashboard/local/local_settings.py

# add FREEZER_API_URL = http://<api_url>:<port>

Dev Installation

In the installation procedure we'll assume your main Horizon dashboard directory is /opt/stack/horizon/openstack_dashboard/dashboards/.

To install freezer dashboard for development you need to do the following:

# git clone https://github.com/stackforge/freezer-web-ui

# cd freezer-web-ui

# cp _50_freezer.py  /opt/stack/horizon/openstack_dashboard/enabled

# modify _50_freezer.py (line 9) and point the path to the freezer repo.

# cd /opt/stack/horizon/

# pip install -r requirements.txt

# make sure freezer is installed from source as detailed in the first step

# ./run_tests.sh --runserver 0.0.0.0:8000

Production Installation

To deploy freezer dashboard in production you need to do the following:

# git clone https://github.com/stackforge/freezer-web-ui

# cd freezer-web-ui

# cp _50_freezer.py  /opt/stack/horizon/openstack_dashboard/enabled/

# modify _50_freezer.py (line 9) and point the path to the freezer repo.

# restart apache2 service

A new tab called "Disaster Recovery" will be on your panels.

Running the unit tests

  1. Create a virtual environment:

    virtualenv --no-site-packages -p /usr/bin/python2.7 .venv
  2. Activate the virtual environment:

    . ./.venv/bin/activate
  3. Install the requirements:

    pip install -r test-requirements.txt
  4. Run the tests:

    python manage.py test . --settings=freezer_ui.tests.settings

Test coverage

  1. Collect coverage information:

    coverage run --source='.' --omit='.venv/*' manage.py test . --settings=freezer_ui.tests.settings
  2. View coverage report:

    coverage report

Tox

  1. Run tox:

    tox -v

Development under proxy

If you are developing or deploying under proxies remember to set no_proxies for:

freezer-api endpoint
keystone endpoint