![]() |
7 years ago | |
---|---|---|
devstack | 7 years ago | |
freezer_ui | 7 years ago | |
tests | 7 years ago | |
.gitignore | 8 years ago | |
.gitreview | 8 years ago | |
.pylintrc | 8 years ago | |
LICENSE | 7 years ago | |
MANIFEST.in | 8 years ago | |
README.rst | 8 years ago | |
_50_freezer.py | 7 years ago | |
requirements.txt | 8 years ago | |
setup.cfg | 8 years ago | |
setup.py | 7 years ago | |
test-requirements.txt | 8 years ago | |
tox.ini | 8 years ago |
README.rst
Freezer - Horizon Dashboard
Requirements
Freezer Freezer Dashboard requires a freezer API client to be installed in the same environment as horizon:
pip install parsedatetime>=1.4
git clone https://github.com/openstack/freezer
cd freezer
python setup.py install (is important that freezer is installed from source and not with pip and
is installed on horizon virtual environment)
Freezer Dashboard requires a freezer API endpoint which you can install following this steps:
https://github.com/openstack/freezer-api/blob/master/README.rst
API registration
Register freezer api endpoint:
https://github.com/openstack/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/openstack/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/openstack/freezer-web-ui
# cd freezer-web-ui
# cp _50_freezer.py /opt/stack/horizon/openstack_dashboard/enabled/
# restart apache2 service
A new tab called "Disaster Recovery" will be on your panels.
Running the unit tests
Create a virtual environment:
virtualenv --no-site-packages -p /usr/bin/python2.7 .venv
Activate the virtual environment:
. ./.venv/bin/activate
Install the requirements:
pip install -r test-requirements.txt
Run the tests:
python manage.py test . --settings=freezer_ui.tests.settings
Test coverage
Collect coverage information:
coverage run --source='.' --omit='.venv/*' manage.py test . --settings=freezer_ui.tests.settings
View coverage report:
coverage report
Tox
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