From ad8cb0f62187d6c22d05a03e71336b0e4ed2b5c1 Mon Sep 17 00:00:00 2001 From: Memo Garcia Date: Fri, 17 Jul 2015 11:35:34 +0100 Subject: [PATCH] Improve installation docs for freezer dashboard Change-Id: I7a3e858e4dbbb6d41e1704ddbe004a8aeb9f9728 --- horizon_web_ui/README.rst | 93 ++++++++++++++++++++------------- horizon_web_ui/_50_freezer.py | 1 - horizon_web_ui/requirements.txt | 2 + 3 files changed, 59 insertions(+), 37 deletions(-) create mode 100644 horizon_web_ui/requirements.txt diff --git a/horizon_web_ui/README.rst b/horizon_web_ui/README.rst index 03235eb6..5ba9994b 100644 --- a/horizon_web_ui/README.rst +++ b/horizon_web_ui/README.rst @@ -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://: + + +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 -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 \ - --publicurl \ - --internalurl \ - --adminurl \ - --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://: + # 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:: -2. Activate the virtual environment: - . ./.venv/bin/activate + virtualenv --no-site-packages -p /usr/bin/python2.7 .venv -3. Install the requirements: - pip install -r test-requirements.txt +2. Activate the virtual environment:: -4. Run the tests: - python manage.py test . --settings=freezer_ui.tests.settings + . ./.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 +1. Collect coverage information:: -2. View coverage report: - coverage report + coverage run --source='.' --omit='.venv/*' manage.py test . --settings=freezer_ui.tests.settings + +2. View coverage report:: + + coverage report diff --git a/horizon_web_ui/_50_freezer.py b/horizon_web_ui/_50_freezer.py index de6d898d..2e36278f 100644 --- a/horizon_web_ui/_50_freezer.py +++ b/horizon_web_ui/_50_freezer.py @@ -13,4 +13,3 @@ ADD_INSTALLED_APPS = [ 'horizon_web_ui.freezer_ui', ] -ADD_JS_FILES = ['freezer/js/freezer.js'] diff --git a/horizon_web_ui/requirements.txt b/horizon_web_ui/requirements.txt new file mode 100644 index 00000000..f3650f38 --- /dev/null +++ b/horizon_web_ui/requirements.txt @@ -0,0 +1,2 @@ +parsedatetime>=1.4 +freezer \ No newline at end of file