- Update to 13.0.1

- Changed MASTER_SITES to upstream source
- Added LICENSE_FILE
- Changed BUILD_DEPENDS + RUN_DEPENDS to reflect the new dependencies
- Changed FLAVOR to PY_FLAVOR
- Added CONFLICTS_INSTALL
- Updated pkg-message
- Updated WWW

PR:		228853
Submitted by:	freebsd_ports@k-worx.org
Approved by:	maintainer
Sponsored by:	iXsystems Inc.
This commit is contained in:
Martin Wilke 2018-07-10 10:10:36 +00:00
parent 9dae8d02bf
commit d472123eea
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=474351
6 changed files with 144 additions and 108 deletions

View file

@ -2,82 +2,80 @@
# $FreeBSD$
PORTNAME= horizon
PORTVERSION= 10.0.1
PORTREVISION= 1
PORTVERSION= 13.0.1
CATEGORIES= www python
MASTER_SITES= https://fossies.org/linux/misc/openstack/
MASTER_SITES= https://tarballs.openstack.org/horizon/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= alexander.nusov@nfvexpress.com
COMMENT= OpenStack Dashboard (Horizon)
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr@${PY_FLAVOR}
RUN_DEPENDS:= ${BUILD_DEPENDS}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django18>=0:www/py-django18@${PY_FLAVOR} \
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django111>=1.8:www/py-django111@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Pint>=0.5:devel/py-Pint@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django-babel>=0.5.1:www/py-django-babel@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django_compressor>=2.0:www/py-django_compressor@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django_openstack_auth>=2.4.0:www/py-django_openstack_auth@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django-pyscss>=2.0.2:www/py-django-pyscss@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}futurist>=1.2.0:devel/py-futurist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=0:net/py-netaddr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.8.0:devel/py-oslo.concurrency@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.config>=3.14.0:devel/py-oslo.config@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.i18n>=2.1.0:devel/py-oslo.i18n@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.9.0:devel/py-oslo.policy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.serialization>=1.10.0:devel/py-oslo.serialization@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}keystoneauth1>=3.3.0:devel/py-keystoneauth1@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.18:net/py-netaddr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.25.0:devel/py-oslo.concurrency@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.config>=5.1.0:devel/py-oslo.config@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.i18n>=3.15.3:devel/py-oslo.i18n@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.30.0:devel/py-oslo.policy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.serialization>=2.18.0:devel/py-oslo.serialization@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.33.0:devel/py-oslo.utils@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}osprofiler>=1.4.0:devel/py-osprofiler@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pymongo>=3.0.2:databases/pymongo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyscss>=1.3.4:textproc/py-pyscss@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-ceilometerclient>=2.5.0:net/py-python-ceilometerclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-cinderclient>=0:net/py-python-cinderclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-glanceclient>=0:net/py-python-glanceclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-heatclient>=1.4.0:net/py-python-heatclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=0:net/py-python-keystoneclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-neutronclient>=5.1.0:net/py-python-neutronclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-novaclient>=0:net/py-python-novaclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-swiftclient>=2.2.0:databases/py-python-swiftclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-cinderclient>=3.3.0:net/py-python-cinderclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-glanceclient>=2.8.0:net/py-python-glanceclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=3.8.0:net/py-python-keystoneclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-neutronclient>=6.3.0:net/py-python-neutronclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-novaclient>=9.1.0:net/py-python-novaclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-swiftclient>=3.2.0:databases/py-python-swiftclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=2013.6:devel/py-pytz@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=3.1.0:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=3.10.0:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}semantic_version>=2.3.1:devel/py-semantic_version@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic>=1.0.0:devel/py-XStatic@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.3.7:devel/py-XStatic-Angular@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=0.11.0.2:devel/py-XStatic-Angular-Bootstrap@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.5.8.0:devel/py-XStatic-Angular@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=2.2.0.0:devel/py-XStatic-Angular-Bootstrap@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-FileUpload>=12.0.4.0:devel/py-XStatic-Angular-FileUpload@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.1.0.2:devel/py-XStatic-Angular-Gettext@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.3.8.0:devel/py-XStatic-Angular-Gettext@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-lrdragndrop>=1.0.2.2:devel/py-XStatic-Angular-lrdragndrop@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Schema-Form>=0.8.13.0:devel/py-XStatic-Angular-Schema-Form@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-Datepicker>=1.3.1.0:devel/py-XStatic-Bootstrap-Datepicker@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3:devel/py-XStatic-Bootstrap-SCSS@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.5.3:devel/py-XStatic-bootswatch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.1.6.2:devel/py-XStatic-D3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3.3.7.1:devel/py-XStatic-Bootstrap-SCSS@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.7.0:devel/py-XStatic-bootswatch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.5.17.0:devel/py-XStatic-D3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Hogan>=2.0.0.2:devel/py-XStatic-Hogan@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.3.0:devel/py-XStatic-Font-Awesome@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.1.2.0:devel/py-XStatic-Jasmine@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.7.2:devel/py-XStatic-jQuery@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.7.0.0:devel/py-XStatic-Font-Awesome@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.4.1.1:devel/py-XStatic-Jasmine@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.8.2.1:devel/py-XStatic-jQuery@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-JQuery-Migrate>=1.2.1.1:devel/py-XStatic-JQuery-Migrate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.quicksearch>=2.0.3.1:devel/py-XStatic-JQuery.quicksearch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.TableSorter>=2.14.5.1:devel/py-XStatic-JQuery.TableSorter@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.1:devel/py-XStatic-jquery-ui@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.0.0.2:devel/py-XStatic-JSEncrypt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.4.1:devel/py-XStatic-jquery-ui@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.3.1.1:devel/py-XStatic-JSEncrypt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-mdi>=1.4.57.0:devel/py-XStatic-mdi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-objectpath>=1.2.1.0:devel/py-XStatic-objectpath@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0:devel/py-XStatic-Rickshaw@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.4.3.2:devel/py-XStatic-roboto-fontface@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=0:devel/py-XStatic-smart-table@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0.0:devel/py-XStatic-Rickshaw@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.5.0.0:devel/py-XStatic-roboto-fontface@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=1.4.13.2:devel/py-XStatic-smart-table@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-Spin>=1.2.5.2:devel/py-XStatic-Spin@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.4:devel/py-XStatic-term.js@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.7.0:devel/py-XStatic-term.js@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}XStatic-tv4>=1.2.7.0:devel/py-XStatic-tv4@${PY_FLAVOR}
EXTRA_PATCHES= ${FILESDIR}/01-django.patch:-p1 \
${FILESDIR}/02-fix-floating-ips.patch:-p1
NO_ARCH= yes
USES= python:2.7
USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
USERS= horizon
GROUPS= horizon
@ -85,4 +83,9 @@ GROUPS= horizon
SUB_FILES= pkg-message
SUB_LIST= PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
CONFLICTS_INSTALL= py??-horizon-*
post-patch:
@${REINPLACE_CMD} -Ee 's|(pyScss)!=1.3.5,|\1|' ${WRKSRC}/requirements.txt
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1481116590
SHA256 (horizon-10.0.1.tar.gz) = 919e1e466007684ee80a0dec46f18c7f8147bd826ac1085a262fbb15b6c789be
SIZE (horizon-10.0.1.tar.gz) = 4093291
TIMESTAMP = 1527322612
SHA256 (horizon-13.0.1.tar.gz) = 83673ed67076095d22af05795a227e730b2bff4321b70b6c7dca4aa28c9d5500
SIZE (horizon-13.0.1.tar.gz) = 4389086

View file

@ -1,13 +0,0 @@
diff --git a/openstack_dashboard/wsgi/django.wsgi b/openstack_dashboard/wsgi/django.wsgi
index 1be0e06..b7fbe81 100644
--- a/openstack_dashboard/wsgi/django.wsgi
+++ b/openstack_dashboard/wsgi/django.wsgi
@@ -5,7 +5,7 @@ from django.core.wsgi import get_wsgi_application
from django.conf import settings
# Add this file path to sys.path in order to import settings
-sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..'))
+sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
sys.stdout = sys.stderr

View file

@ -1,26 +0,0 @@
From 194ebeb4eb2efff32864452a52c2edfb4915b89a Mon Sep 17 00:00:00 2001
From: Alexander Nusov <alexander.nusov@nfvexpress.com>
Date: Sun, 22 Jan 2017 13:31:51 +0300
Subject: [PATCH] fixed floating IP list retrieving
---
openstack_dashboard/api/nova.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/openstack_dashboard/api/nova.py b/openstack_dashboard/api/nova.py
index 4a82cbc11..8a3936bad 100644
--- a/openstack_dashboard/api/nova.py
+++ b/openstack_dashboard/api/nova.py
@@ -415,8 +415,7 @@ class FloatingIpManager(network_base.FloatingIpManager):
def list(self, all_tenants=False):
return [FloatingIp(fip) for fip in
- self.client.floating_ips.list(
- all_tenants=all_tenants)]
+ self.client.floating_ips.list()]
def get(self, floating_ip_id):
return FloatingIp(self.client.floating_ips.get(floating_ip_id))
--
2.11.0

View file

@ -1,29 +1,101 @@
Please note that this is a development version of Horizon.
================================================================================
You may serve horizon (OpenStack Dashboard) with apache web server.
Use this snippet as reference:
======================
Apache configuration
======================
WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi process-group=horizon
WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
WSGIProcessGroup horizon
Alias /static/dashboard %%PYTHON_SITELIBDIR%%/openstack_dashboard/static/dashboard
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
Require all granted
</Directory>
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
Require all granted
</Directory>
Also if you plan to use apache make sure that wsgi4 module is enabled and
you set correct ownership for static and local libraries for openstack_dashboard:
If you plan to use apache make sure that the mod_wsgi module is enabled and the
correct ownership for static/local libraries for the openstack_dashboard are
set:
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
Create local_settings.py with your settings at
%%PYTHON_SITELIBDIR%%/openstack_dashboard/local
Use the following snippet as reference:
To enable django-compressor add this option to local_settings.py file:
### Start
<VirtualHost *:80>
WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi
WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
WSGIProcessGroup horizon
WSGIApplicationGroup %{GLOBAL}
DocumentRoot /var/lib/horizon
Alias /static/horizon/lib/angular/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular/data/
Alias /static/horizon/lib/angular_bootstrap/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_bootstrap/data/
Alias /static/horizon/lib/angular_fileupload/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_fileupload/data/
Alias /static/horizon/lib/angular_gettext/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_gettext/data/
Alias /static/horizon/lib/angular_lrdragndrop/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_lrdragndrop/data/
Alias /static/horizon/lib/angular_schemaform/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_schemaform/data/
Alias /static/horizon/lib/angular_smart_table/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_smart_table/data/
Alias /static/horizon/lib/bootstrap_datepicker/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootstrap_datepicker/data/
Alias /static/horizon/lib/bootstrap_scss/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootstrap_scss/data/
Alias /static/horizon/lib/bootswatch/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootswatch/data/
Alias /static/horizon/lib/d3/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/d3/data/
Alias /static/horizon/lib/font_awesome/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/font_awesome/data/
Alias /static/horizon/lib/hogan/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/hogan/data/
Alias /static/horizon/lib/jasmine/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jasmine/data/
Alias /static/horizon/lib/jquery_migrate/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_migrate/data/
Alias /static/horizon/lib/jquery_quicksearch/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_quicksearch/data/
Alias /static/horizon/lib/jquery_tablesorter/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_tablesorter/data/
Alias /static/horizon/lib/jsencrypt/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jsencrypt/data/
Alias /static/horizon/lib/mdi/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/mdi/data/
Alias /static/horizon/lib/objectpath/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/objectpath/data/
Alias /static/horizon/lib/rickshaw/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/rickshaw/data/
Alias /static/horizon/lib/roboto_fontface/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/roboto_fontface/data/
Alias /static/horizon/lib/spin/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/spin/data/
Alias /static/horizon/lib/termjs/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/termjs/data/
Alias /static/horizon/lib/tv4/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/tv4/data/
Alias /static/horizon %%PYTHON_SITELIBDIR%%/horizon/static/horizon
Alias /static %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
<Directory />
AllowOverride None
</Directory>
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
Require all granted
</Directory>
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
Require all granted
</Directory>
<Directory %%PYTHON_SITELIBDIR%%/horizon/static>
Require all granted
</Directory>
<Directory %%PYTHON_SITELIBDIR%%/xstatic/pkg/*/data>
Require all granted
</Directory>
</VirtualHost>
### End
======================
Custom configuration
======================
Create the configuration:
# cd %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
# cp local_settings.py.example local_settings.py
Add one or more entries to the ALLOWED_HOSTS directive:
ALLOWED_HOSTS = [ 'host1', '192.168.0.1' ]
Horizon must be configured for at least one Keystone server to work properly:
OPENSTACK_HOST = "127.0.0.1"
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
To enable django-compressor add this option:
STATIC_ROOT = '%%PYTHON_SITELIBDIR%%/openstack_dashboard/static'
================================================================================

View file

@ -4,4 +4,4 @@ reusable components. The openstack_dashboard module is a reference
implementation of a Django site that uses the horizon app to provide web-based
interactions with the various OpenStack projects.
WWW: https://docs.openstack.org/horizon/latest/
WWW: https://docs.openstack.org/horizon/