6767da4200
Some deployment methods are using the files delivered by the
installation of packages to configure dashboards.
For example, it's possible to pip install heat-dashboard and
use the use local_settings.d files shipped inside the package
to deploy the heat-dashboard.
When the heat dashboard was not a plugin and included in horizon,
it was usable without having to care about the policy file.
This has changed, as the file is not shipped into horizon by
default, and is not available when pip installing the heat
dashboard directly, unlike the other files (above).
This patch follows the pattern set by murano here [1], to be
able to use the default policy file, shipped with the code,
after a pip install of the heat-dashboard.
[1]: 873fd7ff85/muranodashboard/conf/murano_policy.json
Change-Id: I7e1d74bebc97874c9049f6be33cef27806739b11
63 lines
2.3 KiB
Bash
63 lines
2.3 KiB
Bash
# plugin.sh - DevStack plugin.sh dispatch script heat-dashboard
|
|
|
|
HEAT_DASHBOARD_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd)
|
|
|
|
function install_heat_dashboard {
|
|
# NOTE(shu-mutou): workaround for devstack bug: 1540328
|
|
# where devstack install 'test-requirements' but should not do it
|
|
# for heat-dashboard project as it installs Horizon from url.
|
|
# Remove following two 'mv' commands when mentioned bug is fixed.
|
|
mv $HEAT_DASHBOARD_DIR/test-requirements.txt $HEAT_DASHBOARD_DIR/_test-requirements.txt
|
|
|
|
setup_develop ${HEAT_DASHBOARD_DIR}
|
|
|
|
mv $HEAT_DASHBOARD_DIR/_test-requirements.txt $HEAT_DASHBOARD_DIR/test-requirements.txt
|
|
}
|
|
|
|
function configure_heat_dashboard {
|
|
cp -a ${HEAT_DASHBOARD_DIR}/heat_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
|
|
cp -a ${HEAT_DASHBOARD_DIR}/heat_dashboard/local_settings.d/_1699_orchestration_settings.py ${DEST}/horizon/openstack_dashboard/local/local_settings.d/
|
|
cp -a ${HEAT_DASHBOARD_DIR}/heat-dashboard/conf/heat_policy.json ${DEST}/horizon/openstack_dashboard/conf/
|
|
# NOTE: If locale directory does not exist, compilemessages will fail,
|
|
# so check for an existence of locale directory is required.
|
|
if [ -d ${HEAT_DASHBOARD_DIR}/heat_dashboard/locale ]; then
|
|
(cd ${HEAT_DASHBOARD_DIR}/heat_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
|
fi
|
|
}
|
|
|
|
# check for service enabled
|
|
if is_service_enabled heat-dashboard; then
|
|
|
|
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
|
|
# Set up system services
|
|
# no-op
|
|
:
|
|
|
|
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
|
# Perform installation of service source
|
|
echo_summary "Installing Heat Dashboard"
|
|
install_heat_dashboard
|
|
|
|
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
|
# Configure after the other layer 1 and 2 services have been configured
|
|
echo_summary "Configuring Heat Dashboard"
|
|
configure_heat_dashboard
|
|
|
|
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
|
# no-op
|
|
:
|
|
fi
|
|
|
|
if [[ "$1" == "unstack" ]]; then
|
|
# no-op
|
|
:
|
|
fi
|
|
|
|
if [[ "$1" == "clean" ]]; then
|
|
# Remove state and transient data
|
|
# Remember clean.sh first calls unstack.sh
|
|
# no-op
|
|
:
|
|
fi
|
|
fi
|