|
|
|
@ -1,15 +1,36 @@
|
|
|
|
|
========================
|
|
|
|
|
Freezer - Horizon Web UI
|
|
|
|
|
========================
|
|
|
|
|
===========================
|
|
|
|
|
Freezer - Horizon Dashboard
|
|
|
|
|
===========================
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
Requirements
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Freezer Dashboard requires a freezer API endpoint which you can install following this steps::
|
|
|
|
|
|
|
|
|
|
https://github.com/stackforge/freezer/blob/master/freezer_api/README.rst
|
|
|
|
|
|
|
|
|
|
API registration
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
Register freezer api endpoint::
|
|
|
|
|
|
|
|
|
|
https://github.com/stackforge/freezer/blob/master/freezer_api/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 the horizon web ui you need to do the following::
|
|
|
|
|
To install freezer dashboard for development you need to do the following::
|
|
|
|
|
|
|
|
|
|
# git clone https://github.com/stackforge/freezer
|
|
|
|
|
|
|
|
|
@ -19,58 +40,58 @@ To install the horizon web ui you need to do the following::
|
|
|
|
|
|
|
|
|
|
# modify _50_freezer.py (line 9) and point the path to the freezer repo.
|
|
|
|
|
|
|
|
|
|
# /opt/stack/horizon/tools/with_venv.sh pip install parsedatetime
|
|
|
|
|
|
|
|
|
|
# cd /opt/stack/horizon/
|
|
|
|
|
|
|
|
|
|
# ./run_tests.sh --runserver 0.0.0.0:8000
|
|
|
|
|
|
|
|
|
|
# pip install -r requirements.txt
|
|
|
|
|
|
|
|
|
|
Now a new Tab is available in the dashboard lists on the left, called "Disaster Recovery".
|
|
|
|
|
|
|
|
|
|
API registration
|
|
|
|
|
================
|
|
|
|
|
keystone user-create --name freezer --pass <pass>
|
|
|
|
|
keystone user-role-add --user freezer --tenant service --role admin
|
|
|
|
|
Production Installation
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
keystone service-create --name Freezer \
|
|
|
|
|
--type "Disaster Recovery" \
|
|
|
|
|
--description "Disaster Recovery"
|
|
|
|
|
To deploy freezer dashboard in production you need to do the following::
|
|
|
|
|
|
|
|
|
|
keystone endpoint-create \
|
|
|
|
|
--service-id <service-id> \
|
|
|
|
|
--publicurl <api-url> \
|
|
|
|
|
--internalurl <api-url> \
|
|
|
|
|
--adminurl <api-url> \
|
|
|
|
|
--region regionOne
|
|
|
|
|
# git clone https://github.com/stackforge/freezer
|
|
|
|
|
|
|
|
|
|
If keystone service-create and endpoint-create are not available you can set as a fallback the following on::
|
|
|
|
|
# cd freezer/horizon_web_ui
|
|
|
|
|
|
|
|
|
|
# vim /opt/stack/horizon/openstack_dashboard/local/local_settings.py
|
|
|
|
|
# cp _50_freezer.py /opt/stack/horizon/openstack_dashboard/local/enabled/
|
|
|
|
|
|
|
|
|
|
# add FREEZER_API_URL = http://<api_url>:<port>
|
|
|
|
|
# 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
|
|
|
|
|
1. Create a virtual environment::
|
|
|
|
|
|
|
|
|
|
virtualenv --no-site-packages -p /usr/bin/python2.7 .venv
|
|
|
|
|
|
|
|
|
|
2. Activate the virtual environment::
|
|
|
|
|
|
|
|
|
|
2. Activate the virtual environment:
|
|
|
|
|
. ./.venv/bin/activate
|
|
|
|
|
. ./.venv/bin/activate
|
|
|
|
|
|
|
|
|
|
3. Install the requirements:
|
|
|
|
|
pip install -r test-requirements.txt
|
|
|
|
|
3. Install the requirements::
|
|
|
|
|
|
|
|
|
|
4. Run the tests:
|
|
|
|
|
python manage.py test . --settings=freezer_ui.tests.settings
|
|
|
|
|
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
|
|
|
|
|
1. Collect coverage information::
|
|
|
|
|
|
|
|
|
|
coverage run --source='.' --omit='.venv/*' manage.py test . --settings=freezer_ui.tests.settings
|
|
|
|
|
|
|
|
|
|
2. View coverage report::
|
|
|
|
|
|
|
|
|
|
2. View coverage report:
|
|
|
|
|
coverage report
|
|
|
|
|
coverage report
|
|
|
|
|