diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2015-05-21 16:56:19 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2015-05-21 17:53:54 +0000 |
commit | d2644e54821951763d90ef561d455d0ea8fff48b (patch) | |
tree | bc8c2f17c9c3303a3133fcb5972d7f77ea4daa73 | |
parent | b76e8747cc7c8fde9178725a7b36274ce9f323f3 (diff) | |
download | definitions-d2644e54821951763d90ef561d455d0ea8fff48b.tar.gz |
Horizon: install in /var directly instead of linking
-rw-r--r-- | strata/openstack-services/horizon.morph | 69 |
1 files changed, 38 insertions, 31 deletions
diff --git a/strata/openstack-services/horizon.morph b/strata/openstack-services/horizon.morph index ae6399b1..b7b6d015 100644 --- a/strata/openstack-services/horizon.morph +++ b/strata/openstack-services/horizon.morph @@ -5,15 +5,13 @@ configure-commands: # later during package build. - find . -name "django*.mo" -exec rm -f '{}' \; # Set COMPRESS_OFFLINE=True -- | - sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' \ - openstack_dashboard/settings.py +- echo "COMPRESS_OFFLINE=True" >> openstack_dashboard/settings.py build-commands: # Compile message strings -- cd horizon && django-admin.py compilemessages && cd .. -- cd openstack_dashboard && django-admin.py compilemessages && cd .. +- cd horizon && django-admin.py compilemessages +- cd openstack_dashboard && django-admin.py compilemessages - python setup.py build -post-build-commands: + # Use the local_settings.py example to compile and compress the css, js, etc files. # This is a hack to make SECRET_KEY work. - | @@ -21,39 +19,48 @@ post-build-commands: openstack_dashboard/local/local_settings.py # Collect the static files and compress them. - python manage.py collectstatic --noinput -- python manage.py compress --force +- python manage.py compress install-commands: -# Undo hack +# Install horizon in a temporary folder first, and then move things to the +# right place in $DESTDIR +- mkdir temproot +- python setup.py install -O1 --skip-build --prefix "$PREFIX" --root temproot +# Remove unnecessary .po files +- find temproot -name django.po -exec rm '{}' \; +- find temproot -name djangojs.po -exec rm '{}' \; + +# Move openstack_dashboard to /var/lib/horizon +- mkdir -p "$DESTDIR"/var/lib/horizon/ +- | + mv temproot/"$PREFIX"/lib/python*/site-packages/openstack_dashboard \ + "$DESTDIR"/var/lib/horizon/ +- cp manage.py "$DESTDIR"/var/lib/horizon/openstack_dashboard/ + +# Copy the rest to $DESTDIR +- cp -a temproot/* "$DESTDIR" + +######################## + +# Copy local_settings to /etc/horizon/openstack_dashboard, so that they +# can be modified, and link them where openstack_dashboard is installed. +- mkdir -p "$DESTDIR"/etc/horizon/openstack_dashboard/ - | cp openstack_dashboard/local/local_settings.py.example \ - openstack_dashboard/local/local_settings.py -# Install horizon -- python setup.py install -O1 --skip-build --prefix "$PREFIX" --root "$DESTDIR" -post-install-commands: -# Remove unnecessary .po files -- find "$DESTDIR" -name django.po -exec rm '{}' \; -- find "$DESTDIR" -name djangojs.po -exec rm '{}' \; -# Link Openstack local_settings where openstack_dashboard is installed. + "$DESTDIR"/etc/horizon/openstack_dashboard/local_settings.py - mkdir -p "$DESTDIR"/var/lib/horizon/openstack_dashboard/local - | ln -sf /etc/horizon/openstack_dashboard/local_settings.py \ - "$DESTDIR$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py + "$DESTDIR"/var/lib/horizon/openstack_dashboard/local/local_settings.py + +# WARNING: This might be needed +# Move json files to /etc +- cp openstack_dashboard/conf/*json "$DESTDIR"/etc/horizon/openstack_dashboard/ + # Create the static directory (STATIC_ROOT) used in local_settings.py to keep # the static objects like css files. -- mkdir -p "$DESTDIR"/var/lib/horizon/openstack_dashboard/static +- mkdir -p "$DESTDIR"/var/lib/horizon/static # Copy the compressed static files to horizon. -- cp -a openstack_dashboard/static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static -- cp -a horizon/static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static -- cp -a static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static -# Work around to make django.wsgi working with horizon -# See: https://bugs.launchpad.net/osprofiler/+bug/1361235 -# and: https://git.openstack.org/cgit/openstack/tripleo-image-elements/commit/?id=41c9a1dfad23f8aee366afb6a0b20a6c57ec8f79 -- | - sed -i "s|'../..'|os.path.realpath('../..')|" \ - "$DESTDIR$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/wsgi/django.wsgi -# And link this django.wsgi file to the horizon home directory -- | - ln -sf "$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/wsgi/django.wsgi \ - "$DESTDIR"/var/lib/horizon/openstack_dashboard/django.wsgi +- cp -a static/* "$DESTDIR"/var/lib/horizon/static + # Create the horizon document root for apache configuration - mkdir -p "$DESTDIR"/var/lib/horizon/.blackhole |