Horizon Web interface for Freezer backup, restore and disaster recovery platform
Go to file
Akihiro Motoki d0e560fc91 translation: drop babel extractor definitions
babel extractors are now registered via python entry points,
so there is no need to declare babel extractors in babel configs.

This change is important to make translation work in Django 2.2.
django-babel does not work with Django 2.2 and looks unmaintained
for over two years. The horizon team is thinking to switch the extractor
to enmerkar (a fork of django-babel) to make extraction of translation
string work again near future. It is important to drop the extractor
definition to make the transition smooth.

Change-Id: I68b0eecd6b17be0e059fccdbced5784151c0e492
2019-12-27 02:02:09 +09:00
devstack Update devstack doc 2019-11-15 17:26:49 -08:00
disaster_recovery Use freezerclient.client to support v1 or v2 2018-11-06 20:33:41 -05:00
doc [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00
playbooks/legacy/freezer-web-ui-ubuntu OpenDev Migration Patch 2019-04-19 19:44:40 +00:00
releasenotes/notes [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00
tools use . instead of source. 2018-01-29 14:25:56 +00:00
.gitignore Add test 'node_modules' in '.gitignore' 2018-07-19 17:31:52 +08:00
.gitreview OpenDev Migration Patch 2019-04-19 19:44:40 +00:00
.pylintrc Updated from global requirements 2017-06-07 12:47:55 +01:00
.zuul.yaml [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00
LICENSE Added LICENSE file to freezer dashboard 2015-11-09 17:10:00 +00:00
MANIFEST.in First version of setup.py 2015-06-21 18:10:07 +00:00
README.rst Sync Sphinx requirement 2019-07-04 20:47:07 +08:00
babel-django.cfg translation: drop babel extractor definitions 2019-12-27 02:02:09 +09:00
babel-djangojs.cfg translation: drop babel extractor definitions 2019-12-27 02:02:09 +09:00
bindep.txt Use bindep to define binary deps 2017-04-04 23:32:31 +00:00
lower-constraints.txt Add py37 and remove py35 in envlst 2019-11-15 02:21:33 -08:00
manage.py Updated tox.ini to support new test environment 2016-09-04 18:08:50 +01:00
requirements.txt Use freezerclient.client to support v1 or v2 2018-11-06 20:33:41 -05:00
run_tests.sh Updated tox.ini to support new test environment 2016-09-04 18:08:50 +01:00
setup.cfg [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00
setup.py Updated from global requirements 2017-03-23 15:10:53 +00:00
test-requirements.txt [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00
tox.ini [ussuri][goal] Drop python 2.7 support and testing 2019-11-22 01:52:38 +00:00

README.rst

Team and repository tags

image

Freezer - Horizon Dashboard

freezer-web-ui is a horizon plugin based in django aimed at providing an interaction with freezer

Requirements

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

git clone https://github.com/openstack/python-freezerclient
cd python-freezerclient
python setup.py install (is important that freezer API client 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#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 freezer-web-ui/disaster_recovery/enabled/_5050_freezer.py  /opt/stack/horizon/openstack_dashboard/enabled/_5050_freezer.py

# to disable the panel just copy the following file

# cp freezer-web-ui/disaster_recovery/enabled/_7050_freezer_remove_panel_.py  /opt/stack/horizon/openstack_dashboard/enabled/_7050_freezer_remove_panel_.py

# 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 freezer-web-ui/disaster_recovery/enabled/_5050_freezer.py  /opt/stack/horizon/openstack_dashboard/enabled/_5050_freezer.py

# to disable the panel just copy the following file

# cp freezer-web-ui/disaster_recovery/enabled/_7050_freezer_remove_panel_.py  /opt/stack/horizon/openstack_dashboard/enabled/_7050_freezer_remove_panel_.py

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

# restart apache2 service

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

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

Source Code

The project source code repository is located at: https://opendev.org/openstack/freezer-web-ui/