Move horizon config and start to appropriate phase in stack.sh

Previously horizon configuration and start are done too early
and as a result horizon init and start need to be run twice
after horizon plugins are enabled.
- horizon config was done before "run_phase stack install"
- horizon init and start were done before "run_phase stack post-config"

This commit rearrange horizon setup to the appropriate phases
defined in the devstack plugin interface.

- Configuration of horizon settings is moved to configure_horizon.
- horizon config is now called between run_phase stack install
  and post-config.
- horizon init and start are now called between run_phase stack
  post-config and extra.

Change-Id: I8bf2ceaf7734c4f7cec68bc05d7cdbae81ef311e
This commit is contained in:
Akihiro Motoki 2015-12-15 16:44:41 +09:00
parent c81fb98814
commit 43f62c0849
2 changed files with 13 additions and 9 deletions

View File

@ -83,10 +83,7 @@ function configure_horizon {
# Message catalog compilation is handled by Django admin script,
# so compiling them after the installation avoids Django installation twice.
(cd $HORIZON_DIR; ./run_tests.sh -N --compilemessages)
}
# init_horizon() - Initialize databases, etc.
function init_horizon {
# ``local_settings.py`` is used to override horizon default settings.
local local_settings=$HORIZON_DIR/openstack_dashboard/local/local_settings.py
cp $HORIZON_SETTINGS $local_settings
@ -113,6 +110,7 @@ function init_horizon {
horizon_conf=$(apache_site_config_for horizon)
# Configure apache to run horizon
# Set up the django horizon application to serve via apache/wsgi
sudo sh -c "sed -e \"
s,%USER%,$APACHE_USER,g;
s,%GROUP%,$APACHE_GROUP,g;
@ -133,7 +131,10 @@ function init_horizon {
exit_distro_not_supported "horizon apache configuration"
fi
enable_apache_site horizon
}
# init_horizon() - Initialize databases, etc.
function init_horizon {
# Remove old log files that could mess with how DevStack detects whether Horizon
# has been successfully started (see start_horizon() and functions::screen_it())
# and run_process
@ -147,6 +148,7 @@ function init_horizon {
django_admin=django-admin.py
fi
# These need to be run after horizon plugins are configured.
DJANGO_SETTINGS_MODULE=openstack_dashboard.settings $django_admin collectstatic --noinput
DJANGO_SETTINGS_MODULE=openstack_dashboard.settings $django_admin compress --force

View File

@ -840,7 +840,6 @@ if is_service_enabled horizon; then
install_django_openstack_auth
# dashboard
stack_install_service horizon
configure_horizon
fi
if is_service_enabled heat; then
@ -1060,12 +1059,9 @@ write_clouds_yaml
# Horizon
# -------
# Set up the django horizon application to serve via apache/wsgi
if is_service_enabled horizon; then
echo_summary "Configuring and starting Horizon"
init_horizon
start_horizon
echo_summary "Configuring Horizon"
configure_horizon
fi
@ -1290,6 +1286,12 @@ if is_service_enabled heat; then
fi
fi
if is_service_enabled horizon; then
echo_summary "Starting Horizon"
init_horizon
start_horizon
fi
# Create account rc files
# =======================