openstack-helm/horizon/templates/bin/_horizon.sh.tpl
Itxaka 55f70be381 Add heat dashboard if available to horizon
Currently there is no enabling of the heat dashboard if its
installed on the horizon image.

This patch add an extra conf var that allows several dashboards
to be added and will try to find and enable them on start

If the panel dirs dont exists, it will do nothing

This patch add the extra heat_dashboard and includes the existing
neutron_taas_dashboard into the new config

Change-Id: Ibcc4da166d907f3cb842bfc45d842a650361a2d8
2019-04-15 07:13:18 +00:00

79 lines
2.4 KiB
Smarty

#!/bin/bash
{{/*
Copyright 2017 The Openstack-Helm Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
set -ex
COMMAND="${@:-start}"
function start () {
SITE_PACKAGES_ROOT=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
rm -f ${SITE_PACKAGES_ROOT}/openstack_dashboard/local/local_settings.py
ln -s /etc/openstack-dashboard/local_settings ${SITE_PACKAGES_ROOT}/openstack_dashboard/local/local_settings.py
# wsgi/horizon-http needs open files here, including secret_key_store
chown -R horizon ${SITE_PACKAGES_ROOT}/openstack_dashboard/local/
{{- if .Values.conf.software.apache2.a2enmod }}
{{- range .Values.conf.software.apache2.a2enmod }}
a2enmod {{ . }}
{{- end }}
{{- end }}
{{- if .Values.conf.software.apache2.a2dismod }}
{{- range .Values.conf.software.apache2.a2dismod }}
a2dismod {{ . }}
{{- end }}
{{- end }}
if [ -f /etc/apache2/envvars ]; then
# Loading Apache2 ENV variables
source /etc/apache2/envvars
fi
rm -rf /var/run/apache2/*
APACHE_DIR="apache2"
# Add extra panels if available
{{- range .Values.conf.horizon.extra_panels }}
PANEL_DIR="${SITE_PACKAGES_ROOT}/{{ . }}/enabled"
if [ -d ${PANEL_DIR} ];then
for panel in `ls -1 ${PANEL_DIR}/_[1-9]*.py`
do
ln -s ${panel} ${SITE_PACKAGES_ROOT}/openstack_dashboard/local/enabled/$(basename ${panel})
done
fi
unset PANEL_DIR
{{- end }}
# If the image has support for it, compile the translations
if type -p gettext >/dev/null 2>/dev/null; then
cd ${SITE_PACKAGES_ROOT}/openstack_dashboard; /tmp/manage.py compilemessages
fi
# Compress Horizon's assets.
/tmp/manage.py collectstatic --noinput
/tmp/manage.py compress --force
rm -rf /tmp/_tmp_.secret_key_store.lock /tmp/.secret_key_store
exec {{ .Values.conf.software.apache2.binary }} {{ .Values.conf.software.apache2.start_parameters }}
}
function stop () {
{{ .Values.conf.software.apache2.binary }} -k graceful-stop
}
$COMMAND