View | Details | Raw Unified | Return to bug 228853 | Differences between
and this patch

Collapse All | Expand All

(-)py-horizon/Makefile (-66 / +69 lines)
Lines 2-11 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	horizon
4
PORTNAME=	horizon
5
PORTVERSION=	10.0.1
5
PORTVERSION=	13.0.1
6
PORTREVISION=	1
7
CATEGORIES=	www python
6
CATEGORIES=	www python
8
MASTER_SITES=	https://fossies.org/linux/misc/openstack/
7
MASTER_SITES=	https://tarballs.openstack.org/horizon/
9
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
8
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
10
9
11
MAINTAINER=	alexander.nusov@nfvexpress.com
10
MAINTAINER=	alexander.nusov@nfvexpress.com
Lines 12-84 Link Here
12
COMMENT=	OpenStack Dashboard (Horizon)
11
COMMENT=	OpenStack Dashboard (Horizon)
13
12
14
LICENSE=	APACHE20
13
LICENSE=	APACHE20
14
LICENSE_FILE=	${WRKSRC}/LICENSE
15
15
16
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr@${FLAVOR}
16
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR}
17
RUN_DEPENDS:=	${BUILD_DEPENDS}
17
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
18
RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${FLAVOR} \
18
		${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}django18>=0:www/py-django18@${FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}django111>=1.8:www/py-django111@${PY_FLAVOR} \
20
		${PYTHON_PKGNAMEPREFIX}Pint>=0.5:devel/py-Pint@${FLAVOR} \
20
		${PYTHON_PKGNAMEPREFIX}Pint>=0.5:devel/py-Pint@${PY_FLAVOR} \
21
		${PYTHON_PKGNAMEPREFIX}django-babel>=0.5.1:www/py-django-babel@${FLAVOR} \
21
		${PYTHON_PKGNAMEPREFIX}django-babel>=0.5.1:www/py-django-babel@${PY_FLAVOR} \
22
		${PYTHON_PKGNAMEPREFIX}django_compressor>=2.0:www/py-django_compressor@${FLAVOR} \
22
		${PYTHON_PKGNAMEPREFIX}django_compressor>=2.0:www/py-django_compressor@${PY_FLAVOR} \
23
		${PYTHON_PKGNAMEPREFIX}django_openstack_auth>=2.4.0:www/py-django_openstack_auth@${FLAVOR} \
23
		${PYTHON_PKGNAMEPREFIX}django-pyscss>=2.0.2:www/py-django-pyscss@${PY_FLAVOR} \
24
		${PYTHON_PKGNAMEPREFIX}django-pyscss>=2.0.2:www/py-django-pyscss@${FLAVOR} \
24
		${PYTHON_PKGNAMEPREFIX}futurist>=1.2.0:devel/py-futurist@${PY_FLAVOR} \
25
		${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${FLAVOR} \
25
		${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} \
26
		${PYTHON_PKGNAMEPREFIX}netaddr>=0:net/py-netaddr@${FLAVOR} \
26
		${PYTHON_PKGNAMEPREFIX}keystoneauth1>=3.3.0:devel/py-keystoneauth1@${PY_FLAVOR} \
27
		${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.8.0:devel/py-oslo.concurrency@${FLAVOR} \
27
		${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.18:net/py-netaddr@${PY_FLAVOR} \
28
		${PYTHON_PKGNAMEPREFIX}oslo.config>=3.14.0:devel/py-oslo.config@${FLAVOR} \
28
		${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.25.0:devel/py-oslo.concurrency@${PY_FLAVOR} \
29
		${PYTHON_PKGNAMEPREFIX}oslo.i18n>=2.1.0:devel/py-oslo.i18n@${FLAVOR} \
29
		${PYTHON_PKGNAMEPREFIX}oslo.config>=5.1.0:devel/py-oslo.config@${PY_FLAVOR} \
30
		${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.9.0:devel/py-oslo.policy@${FLAVOR} \
30
		${PYTHON_PKGNAMEPREFIX}oslo.i18n>=3.15.3:devel/py-oslo.i18n@${PY_FLAVOR} \
31
		${PYTHON_PKGNAMEPREFIX}oslo.serialization>=1.10.0:devel/py-oslo.serialization@${FLAVOR} \
31
		${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.30.0:devel/py-oslo.policy@${PY_FLAVOR} \
32
		${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils@${FLAVOR} \
32
		${PYTHON_PKGNAMEPREFIX}oslo.serialization>=2.18.0:devel/py-oslo.serialization@${PY_FLAVOR} \
33
		${PYTHON_PKGNAMEPREFIX}pyscss>=1.3.4:textproc/py-pyscss@${FLAVOR} \
33
		${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.33.0:devel/py-oslo.utils@${PY_FLAVOR} \
34
		${PYTHON_PKGNAMEPREFIX}python-ceilometerclient>=2.5.0:net/py-python-ceilometerclient@${FLAVOR} \
34
		${PYTHON_PKGNAMEPREFIX}osprofiler>=1.4.0:devel/py-osprofiler@${PY_FLAVOR} \
35
		${PYTHON_PKGNAMEPREFIX}python-cinderclient>=0:net/py-python-cinderclient@${FLAVOR} \
35
		${PYTHON_PKGNAMEPREFIX}pymongo>=3.0.2:databases/pymongo@${PY_FLAVOR} \
36
		${PYTHON_PKGNAMEPREFIX}python-glanceclient>=0:net/py-python-glanceclient@${FLAVOR} \
36
		${PYTHON_PKGNAMEPREFIX}pyscss>=1.3.4:textproc/py-pyscss@${PY_FLAVOR} \
37
		${PYTHON_PKGNAMEPREFIX}python-heatclient>=1.4.0:net/py-python-heatclient@${FLAVOR} \
37
		${PYTHON_PKGNAMEPREFIX}python-cinderclient>=3.3.0:net/py-python-cinderclient@${PY_FLAVOR} \
38
		${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=0:net/py-python-keystoneclient@${FLAVOR} \
38
		${PYTHON_PKGNAMEPREFIX}python-glanceclient>=2.8.0:net/py-python-glanceclient@${PY_FLAVOR} \
39
		${PYTHON_PKGNAMEPREFIX}python-neutronclient>=5.1.0:net/py-python-neutronclient@${FLAVOR} \
39
		${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=3.8.0:net/py-python-keystoneclient@${PY_FLAVOR} \
40
		${PYTHON_PKGNAMEPREFIX}python-novaclient>=0:net/py-python-novaclient@${FLAVOR} \
40
		${PYTHON_PKGNAMEPREFIX}python-neutronclient>=6.3.0:net/py-python-neutronclient@${PY_FLAVOR} \
41
		${PYTHON_PKGNAMEPREFIX}python-swiftclient>=2.2.0:databases/py-python-swiftclient@${FLAVOR} \
41
		${PYTHON_PKGNAMEPREFIX}python-novaclient>=9.1.0:net/py-python-novaclient@${PY_FLAVOR} \
42
		${PYTHON_PKGNAMEPREFIX}pytz>=2013.6:devel/py-pytz@${FLAVOR} \
42
		${PYTHON_PKGNAMEPREFIX}python-swiftclient>=3.2.0:databases/py-python-swiftclient@${PY_FLAVOR} \
43
		${PYTHON_PKGNAMEPREFIX}yaml>=3.1.0:devel/py-yaml@${FLAVOR} \
43
		${PYTHON_PKGNAMEPREFIX}pytz>=2013.6:devel/py-pytz@${PY_FLAVOR} \
44
		${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${FLAVOR} \
44
		${PYTHON_PKGNAMEPREFIX}yaml>=3.10.0:devel/py-yaml@${PY_FLAVOR} \
45
		${PYTHON_PKGNAMEPREFIX}XStatic>=1.0.0:devel/py-XStatic@${FLAVOR} \
45
		${PYTHON_PKGNAMEPREFIX}semantic_version>=2.3.1:devel/py-semantic_version@${PY_FLAVOR} \
46
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.3.7:devel/py-XStatic-Angular@${FLAVOR} \
46
		${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR} \
47
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=0.11.0.2:devel/py-XStatic-Angular-Bootstrap@${FLAVOR} \
47
		${PYTHON_PKGNAMEPREFIX}XStatic>=1.0.0:devel/py-XStatic@${PY_FLAVOR} \
48
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-FileUpload>=12.0.4.0:devel/py-XStatic-Angular-FileUpload@${FLAVOR} \
48
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.5.8.0:devel/py-XStatic-Angular@${PY_FLAVOR} \
49
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.1.0.2:devel/py-XStatic-Angular-Gettext@${FLAVOR} \
49
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=2.2.0.0:devel/py-XStatic-Angular-Bootstrap@${PY_FLAVOR} \
50
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-lrdragndrop>=1.0.2.2:devel/py-XStatic-Angular-lrdragndrop@${FLAVOR} \
50
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-FileUpload>=12.0.4.0:devel/py-XStatic-Angular-FileUpload@${PY_FLAVOR} \
51
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Schema-Form>=0.8.13.0:devel/py-XStatic-Angular-Schema-Form@${FLAVOR} \
51
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.3.8.0:devel/py-XStatic-Angular-Gettext@${PY_FLAVOR} \
52
		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-Datepicker>=1.3.1.0:devel/py-XStatic-Bootstrap-Datepicker@${FLAVOR} \
52
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-lrdragndrop>=1.0.2.2:devel/py-XStatic-Angular-lrdragndrop@${PY_FLAVOR} \
53
		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3:devel/py-XStatic-Bootstrap-SCSS@${FLAVOR} \
53
		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Schema-Form>=0.8.13.0:devel/py-XStatic-Angular-Schema-Form@${PY_FLAVOR} \
54
		${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.5.3:devel/py-XStatic-bootswatch@${FLAVOR} \
54
		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-Datepicker>=1.3.1.0:devel/py-XStatic-Bootstrap-Datepicker@${PY_FLAVOR} \
55
		${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.1.6.2:devel/py-XStatic-D3@${FLAVOR} \
55
		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3.3.7.1:devel/py-XStatic-Bootstrap-SCSS@${PY_FLAVOR} \
56
		${PYTHON_PKGNAMEPREFIX}XStatic-Hogan>=2.0.0.2:devel/py-XStatic-Hogan@${FLAVOR} \
56
		${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.7.0:devel/py-XStatic-bootswatch@${PY_FLAVOR} \
57
		${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.3.0:devel/py-XStatic-Font-Awesome@${FLAVOR} \
57
		${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.5.17.0:devel/py-XStatic-D3@${PY_FLAVOR} \
58
		${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.1.2.0:devel/py-XStatic-Jasmine@${FLAVOR} \
58
		${PYTHON_PKGNAMEPREFIX}XStatic-Hogan>=2.0.0.2:devel/py-XStatic-Hogan@${PY_FLAVOR} \
59
		${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.7.2:devel/py-XStatic-jQuery@${FLAVOR} \
59
		${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.7.0.0:devel/py-XStatic-Font-Awesome@${PY_FLAVOR} \
60
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery-Migrate>=1.2.1.1:devel/py-XStatic-JQuery-Migrate@${FLAVOR} \
60
		${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.4.1.1:devel/py-XStatic-Jasmine@${PY_FLAVOR} \
61
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.quicksearch>=2.0.3.1:devel/py-XStatic-JQuery.quicksearch@${FLAVOR} \
61
		${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.8.2.1:devel/py-XStatic-jQuery@${PY_FLAVOR} \
62
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.TableSorter>=2.14.5.1:devel/py-XStatic-JQuery.TableSorter@${FLAVOR} \
62
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery-Migrate>=1.2.1.1:devel/py-XStatic-JQuery-Migrate@${PY_FLAVOR} \
63
		${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.1:devel/py-XStatic-jquery-ui@${FLAVOR} \
63
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.quicksearch>=2.0.3.1:devel/py-XStatic-JQuery.quicksearch@${PY_FLAVOR} \
64
		${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.0.0.2:devel/py-XStatic-JSEncrypt@${FLAVOR} \
64
		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.TableSorter>=2.14.5.1:devel/py-XStatic-JQuery.TableSorter@${PY_FLAVOR} \
65
		${PYTHON_PKGNAMEPREFIX}XStatic-mdi>=1.4.57.0:devel/py-XStatic-mdi@${FLAVOR} \
65
		${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.4.1:devel/py-XStatic-jquery-ui@${PY_FLAVOR} \
66
		${PYTHON_PKGNAMEPREFIX}XStatic-objectpath>=1.2.1.0:devel/py-XStatic-objectpath@${FLAVOR} \
66
		${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.3.1.1:devel/py-XStatic-JSEncrypt@${PY_FLAVOR} \
67
		${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0:devel/py-XStatic-Rickshaw@${FLAVOR} \
67
		${PYTHON_PKGNAMEPREFIX}XStatic-mdi>=1.4.57.0:devel/py-XStatic-mdi@${PY_FLAVOR} \
68
		${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.4.3.2:devel/py-XStatic-roboto-fontface@${FLAVOR} \
68
		${PYTHON_PKGNAMEPREFIX}XStatic-objectpath>=1.2.1.0:devel/py-XStatic-objectpath@${PY_FLAVOR} \
69
		${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=0:devel/py-XStatic-smart-table@${FLAVOR} \
69
		${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0.0:devel/py-XStatic-Rickshaw@${PY_FLAVOR} \
70
		${PYTHON_PKGNAMEPREFIX}XStatic-Spin>=1.2.5.2:devel/py-XStatic-Spin@${FLAVOR} \
70
		${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.5.0.0:devel/py-XStatic-roboto-fontface@${PY_FLAVOR} \
71
		${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.4:devel/py-XStatic-term.js@${FLAVOR} \
71
		${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=1.4.13.2:devel/py-XStatic-smart-table@${PY_FLAVOR} \
72
		${PYTHON_PKGNAMEPREFIX}XStatic-tv4>=1.2.7.0:devel/py-XStatic-tv4@${FLAVOR}
72
		${PYTHON_PKGNAMEPREFIX}XStatic-Spin>=1.2.5.2:devel/py-XStatic-Spin@${PY_FLAVOR} \
73
		${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.7.0:devel/py-XStatic-term.js@${PY_FLAVOR} \
74
		${PYTHON_PKGNAMEPREFIX}XStatic-tv4>=1.2.7.0:devel/py-XStatic-tv4@${PY_FLAVOR}
73
75
74
EXTRA_PATCHES=	${FILESDIR}/01-django.patch:-p1 \
76
USES=		python
75
		${FILESDIR}/02-fix-floating-ips.patch:-p1
77
USE_PYTHON=	autoplist distutils
76
77
NO_ARCH=	yes
78
NO_ARCH=	yes
78
79
79
USES=		python:2.7
80
USE_PYTHON=	autoplist distutils
81
82
USERS=		horizon
80
USERS=		horizon
83
GROUPS=		horizon
81
GROUPS=		horizon
84
82
Lines 85-88 Link Here
85
SUB_FILES=	pkg-message
83
SUB_FILES=	pkg-message
86
SUB_LIST=	PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
84
SUB_LIST=	PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
87
85
86
CONFLICTS_INSTALL=	py??-horizon-*
87
88
post-patch:
89
	@${REINPLACE_CMD} -Ee 's|(pyScss)!=1.3.5,|\1|' ${WRKSRC}/requirements.txt
90
88
.include <bsd.port.mk>
91
.include <bsd.port.mk>
(-)py-horizon/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1481116590
1
TIMESTAMP = 1527322612
2
SHA256 (horizon-10.0.1.tar.gz) = 919e1e466007684ee80a0dec46f18c7f8147bd826ac1085a262fbb15b6c789be
2
SHA256 (horizon-13.0.1.tar.gz) = 83673ed67076095d22af05795a227e730b2bff4321b70b6c7dca4aa28c9d5500
3
SIZE (horizon-10.0.1.tar.gz) = 4093291
3
SIZE (horizon-13.0.1.tar.gz) = 4389086
(-)py-horizon/files/01-django.patch (-13 lines)
Lines 1-13 Link Here
1
diff --git a/openstack_dashboard/wsgi/django.wsgi b/openstack_dashboard/wsgi/django.wsgi
2
index 1be0e06..b7fbe81 100644
3
--- a/openstack_dashboard/wsgi/django.wsgi
4
+++ b/openstack_dashboard/wsgi/django.wsgi
5
@@ -5,7 +5,7 @@ from django.core.wsgi import get_wsgi_application
6
 from django.conf import settings
7
 
8
 # Add this file path to sys.path in order to import settings
9
-sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..'))
10
+sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..')))
11
 os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
12
 sys.stdout = sys.stderr
13
 
(-)py-horizon/files/02-fix-floating-ips.patch (-26 lines)
Lines 1-26 Link Here
1
From 194ebeb4eb2efff32864452a52c2edfb4915b89a Mon Sep 17 00:00:00 2001
2
From: Alexander Nusov <alexander.nusov@nfvexpress.com>
3
Date: Sun, 22 Jan 2017 13:31:51 +0300
4
Subject: [PATCH] fixed floating IP list retrieving
5
6
---
7
 openstack_dashboard/api/nova.py | 3 +--
8
 1 file changed, 1 insertion(+), 2 deletions(-)
9
10
diff --git a/openstack_dashboard/api/nova.py b/openstack_dashboard/api/nova.py
11
index 4a82cbc11..8a3936bad 100644
12
--- a/openstack_dashboard/api/nova.py
13
+++ b/openstack_dashboard/api/nova.py
14
@@ -415,8 +415,7 @@ class FloatingIpManager(network_base.FloatingIpManager):
15
 
16
     def list(self, all_tenants=False):
17
         return [FloatingIp(fip) for fip in
18
-                self.client.floating_ips.list(
19
-                    all_tenants=all_tenants)]
20
+                self.client.floating_ips.list()]
21
 
22
     def get(self, floating_ip_id):
23
         return FloatingIp(self.client.floating_ips.get(floating_ip_id))
24
-- 
25
2.11.0
26
(-)py-horizon/files/pkg-message.in (-19 / +91 lines)
Lines 1-29 Link Here
1
Please note that this is a development version of Horizon.
1
================================================================================
2
2
3
You may serve horizon (OpenStack Dashboard) with apache web server.
3
======================
4
Use this snippet as reference:
4
 Apache configuration
5
======================
5
6
6
WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi process-group=horizon
7
If you plan to use apache make sure that the mod_wsgi module is enabled and the
7
WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
8
correct ownership for static/local libraries for the openstack_dashboard are
8
WSGIProcessGroup horizon
9
set:
9
Alias /static/dashboard %%PYTHON_SITELIBDIR%%/openstack_dashboard/static/dashboard
10
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
11
    Require all granted
12
</Directory>
13
<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
14
    Require all granted
15
</Directory>
16
10
17
Also if you plan to use apache make sure that wsgi4 module is enabled and
18
you set correct ownership for static and local libraries for openstack_dashboard:
19
20
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
11
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
21
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
12
# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
22
13
23
Create local_settings.py with your settings at
14
Use the following snippet as reference:
24
%%PYTHON_SITELIBDIR%%/openstack_dashboard/local
25
15
26
To enable django-compressor add this option to local_settings.py file:
16
### Start
27
17
18
<VirtualHost *:80>
19
        WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi
20
        WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
21
        WSGIProcessGroup horizon
22
        WSGIApplicationGroup %{GLOBAL}
23
24
        DocumentRoot /var/lib/horizon
25
26
        Alias /static/horizon/lib/angular/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular/data/
27
        Alias /static/horizon/lib/angular_bootstrap/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_bootstrap/data/
28
        Alias /static/horizon/lib/angular_fileupload/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_fileupload/data/
29
        Alias /static/horizon/lib/angular_gettext/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_gettext/data/
30
        Alias /static/horizon/lib/angular_lrdragndrop/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_lrdragndrop/data/
31
        Alias /static/horizon/lib/angular_schemaform/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_schemaform/data/
32
        Alias /static/horizon/lib/angular_smart_table/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/angular_smart_table/data/
33
        Alias /static/horizon/lib/bootstrap_datepicker/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootstrap_datepicker/data/
34
        Alias /static/horizon/lib/bootstrap_scss/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootstrap_scss/data/
35
        Alias /static/horizon/lib/bootswatch/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/bootswatch/data/
36
        Alias /static/horizon/lib/d3/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/d3/data/
37
        Alias /static/horizon/lib/font_awesome/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/font_awesome/data/
38
        Alias /static/horizon/lib/hogan/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/hogan/data/
39
        Alias /static/horizon/lib/jasmine/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jasmine/data/
40
        Alias /static/horizon/lib/jquery_migrate/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_migrate/data/
41
        Alias /static/horizon/lib/jquery_quicksearch/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_quicksearch/data/
42
        Alias /static/horizon/lib/jquery_tablesorter/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jquery_tablesorter/data/
43
        Alias /static/horizon/lib/jsencrypt/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/jsencrypt/data/
44
        Alias /static/horizon/lib/mdi/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/mdi/data/
45
        Alias /static/horizon/lib/objectpath/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/objectpath/data/
46
        Alias /static/horizon/lib/rickshaw/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/rickshaw/data/
47
        Alias /static/horizon/lib/roboto_fontface/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/roboto_fontface/data/
48
        Alias /static/horizon/lib/spin/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/spin/data/
49
        Alias /static/horizon/lib/termjs/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/termjs/data/
50
        Alias /static/horizon/lib/tv4/ %%PYTHON_SITELIBDIR%%/xstatic/pkg/tv4/data/
51
        Alias /static/horizon %%PYTHON_SITELIBDIR%%/horizon/static/horizon
52
        Alias /static %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
53
54
        <Directory />
55
                AllowOverride None
56
        </Directory>
57
58
        <Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
59
                Require all granted
60
        </Directory>
61
62
        <Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
63
                Require all granted
64
        </Directory>
65
66
        <Directory %%PYTHON_SITELIBDIR%%/horizon/static>
67
                Require all granted
68
        </Directory>
69
70
        <Directory %%PYTHON_SITELIBDIR%%/xstatic/pkg/*/data>
71
                Require all granted
72
        </Directory>
73
74
</VirtualHost>
75
76
### End
77
78
======================
79
 Custom configuration
80
======================
81
82
Create the configuration:
83
84
# cd %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
85
# cp local_settings.py.example local_settings.py
86
87
Add one or more entries to the ALLOWED_HOSTS directive:
88
89
ALLOWED_HOSTS = [ 'host1', '192.168.0.1' ]
90
91
Horizon must be configured for at least one Keystone server to work properly:
92
93
OPENSTACK_HOST = "127.0.0.1"
94
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
95
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
96
97
To enable django-compressor add this option:
98
28
STATIC_ROOT = '%%PYTHON_SITELIBDIR%%/openstack_dashboard/static'
99
STATIC_ROOT = '%%PYTHON_SITELIBDIR%%/openstack_dashboard/static'
29
100
101
================================================================================
(-)py-horizon/pkg-descr (-1 / +1 lines)
Lines 4-7 Link Here
4
implementation of a Django site that uses the horizon app to provide web-based
4
implementation of a Django site that uses the horizon app to provide web-based
5
interactions with the various OpenStack projects.
5
interactions with the various OpenStack projects.
6
6
7
WWW: https://docs.openstack.org/horizon/latest/
7
WWW: https://docs.openstack.org/horizon/

Return to bug 228853