It feels like the right think to do. Moreover it will avoid to display
horizon errors from a previous devstack run that would be displayed because
of the tail -f in start_horizon()
Change-Id: Id1ab272e60e0733a4feef3b85029f438f2273cb0
| ... | ... |
@@ -38,6 +38,18 @@ HORIZON_SETTINGS=${HORIZON_SETTINGS:-$HORIZON_DIR/openstack_dashboard/local/loca
|
| 38 | 38 |
APACHE_USER=${APACHE_USER:-$USER}
|
| 39 | 39 |
APACHE_GROUP=${APACHE_GROUP:-$(id -gn $APACHE_USER)}
|
| 40 | 40 |
|
| 41 |
+# Set up service name and configuration path |
|
| 42 |
+if is_ubuntu; then |
|
| 43 |
+ APACHE_NAME=apache2 |
|
| 44 |
+ APACHE_CONF=sites-available/horizon |
|
| 45 |
+elif is_fedora; then |
|
| 46 |
+ APACHE_NAME=httpd |
|
| 47 |
+ APACHE_CONF=conf.d/horizon.conf |
|
| 48 |
+elif is_suse; then |
|
| 49 |
+ APACHE_NAME=apache2 |
|
| 50 |
+ APACHE_CONF=vhosts.d/horizon.conf |
|
| 51 |
+fi |
|
| 52 |
+ |
|
| 41 | 53 |
|
| 42 | 54 |
# Functions |
| 43 | 55 |
# --------- |
| ... | ... |
@@ -135,8 +147,6 @@ function init_horizon() {
|
| 135 | 135 |
|
| 136 | 136 |
HORIZON_REQUIRE='' |
| 137 | 137 |
if is_ubuntu; then |
| 138 |
- APACHE_NAME=apache2 |
|
| 139 |
- APACHE_CONF=sites-available/horizon |
|
| 140 | 138 |
# Clean up the old config name |
| 141 | 139 |
sudo rm -f /etc/apache2/sites-enabled/000-default |
| 142 | 140 |
# Be a good citizen and use the distro tools here |
| ... | ... |
@@ -145,9 +155,6 @@ function init_horizon() {
|
| 145 | 145 |
# WSGI isn't enabled by default, enable it |
| 146 | 146 |
sudo a2enmod wsgi |
| 147 | 147 |
elif is_fedora; then |
| 148 |
- APACHE_NAME=httpd |
|
| 149 |
- APACHE_CONF=conf.d/horizon.conf |
|
| 150 |
- |
|
| 151 | 148 |
if [[ "$os_RELEASE" -ge "18" ]]; then |
| 152 | 149 |
# fedora 18 has Require all denied in its httpd.conf |
| 153 | 150 |
# and requires explicit Require all granted |
| ... | ... |
@@ -155,14 +162,16 @@ function init_horizon() {
|
| 155 | 155 |
fi |
| 156 | 156 |
sudo sed '/^Listen/s/^.*$/Listen 0.0.0.0:80/' -i /etc/httpd/conf/httpd.conf |
| 157 | 157 |
elif is_suse; then |
| 158 |
- APACHE_NAME=apache2 |
|
| 159 |
- APACHE_CONF=vhosts.d/horizon.conf |
|
| 160 | 158 |
# WSGI isn't enabled by default, enable it |
| 161 | 159 |
sudo a2enmod wsgi |
| 162 | 160 |
else |
| 163 | 161 |
exit_distro_not_supported "apache configuration" |
| 164 | 162 |
fi |
| 165 | 163 |
|
| 164 |
+ # Remove old log files that could mess with how devstack detects whether Horizon |
|
| 165 |
+ # has been successfully started (see start_horizon() and functions::screen_it()) |
|
| 166 |
+ sudo rm -f /var/log/$APACHE_NAME/horizon_* |
|
| 167 |
+ |
|
| 166 | 168 |
# Configure apache to run horizon |
| 167 | 169 |
sudo sh -c "sed -e \" |
| 168 | 170 |
s,%USER%,$APACHE_USER,g; |
| ... | ... |
@@ -219,12 +228,8 @@ function start_horizon() {
|
| 219 | 219 |
|
| 220 | 220 |
# stop_horizon() - Stop running processes (non-screen) |
| 221 | 221 |
function stop_horizon() {
|
| 222 |
- if is_ubuntu; then |
|
| 223 |
- stop_service apache2 |
|
| 224 |
- elif is_fedora; then |
|
| 225 |
- stop_service httpd |
|
| 226 |
- elif is_suse; then |
|
| 227 |
- stop_service apache2 |
|
| 222 |
+ if [ -n "$APACHE_NAME" ]; then |
|
| 223 |
+ stop_service $APACHE_NAME |
|
| 228 | 224 |
else |
| 229 | 225 |
exit_distro_not_supported "apache configuration" |
| 230 | 226 |
fi |