Horizon Web interface for Freezer backup, restore and disaster recovery platform
Go to file
Hervé Beraud b2af707db4 Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: Ifa8a4eec62f322d23376c3b70e930360101e0ff9
2020-06-02 20:13:59 +02:00
devstack Update devstack doc 2019-11-15 17:26:49 -08:00
disaster_recovery Update to hacking 3.0 2020-05-17 03:14:40 +00:00
doc Cleanup py27 support 2020-04-05 08:18:58 +02: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 Stop to use the __future__ module. 2020-06-02 20:13:59 +02: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 Add Python3 victoria unit tests 2020-04-22 13:10:33 +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 Update to hacking 3.0 2020-05-17 03:14:40 +00:00
manage.py Updated tox.ini to support new test environment 2016-09-04 18:08:50 +01:00
requirements.txt Drop Django 1.11 support 2020-01-01 20:21:08 +00:00
run_tests.sh Updated tox.ini to support new test environment 2016-09-04 18:08:50 +01:00
setup.cfg Add py38 package metadata 2020-05-02 07:48:11 -05:00
setup.py Cleanup py27 support 2020-04-05 08:18:58 +02:00
test-requirements.txt Update to hacking 3.0 2020-05-17 03:14:40 +00:00
tox.ini Update to hacking 3.0 2020-05-17 03:14:40 +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/