Browse code

Fix uwsgi keystone

The uwsgi keystone jobs are failing with an error like

+ devstack/functions-common:_run_process:L1391: setsid uwsgi /etc/keystone/keystone-uwsgi-admin.ini
+ devstack/functions-common:_run_process:L1395: exit 0
execvp: No such file or directory

I think this is because uwsgi isn't installed on the images. The fix
is to pip install it.

Also, use the full path to the uwsgi executable (even though execvp
is used) because eventlet (calling keystone-all) does.

Also, the uwsgi process wasn't shutting down on ./unstack.sh. This
is worked around by not running master process.

Change-Id: Id02e16c5149ba3dfa13051e87cfccd8e505b7362

Brant Knudson authored on 2016/02/23 04:49:52
Showing 1 changed files
... ...
@@ -303,7 +303,6 @@ function configure_keystone {
303 303
 
304 304
         iniset "$KEYSTONE_PUBLIC_UWSGI_FILE" uwsgi wsgi-file "$KEYSTONE_BIN_DIR/keystone-wsgi-public"
305 305
         # This is running standalone
306
-        iniset "$KEYSTONE_PUBLIC_UWSGI_FILE" uwsgi master true
307 306
         iniset "$KEYSTONE_PUBLIC_UWSGI_FILE" uwsgi threads $(nproc)
308 307
         iniset "$KEYSTONE_PUBLIC_UWSGI_FILE" uwsgi enable-threads true
309 308
         iniset "$KEYSTONE_PUBLIC_UWSGI_FILE" uwsgi plugins python
... ...
@@ -316,7 +315,6 @@ function configure_keystone {
316 316
 
317 317
         iniset "$KEYSTONE_ADMIN_UWSGI_FILE" uwsgi wsgi-file "$KEYSTONE_BIN_DIR/keystone-wsgi-admin"
318 318
         # This is running standalone
319
-        iniset "$KEYSTONE_ADMIN_UWSGI_FILE" uwsgi master true
320 319
         iniset "$KEYSTONE_ADMIN_UWSGI_FILE" uwsgi threads $API_WORKERS
321 320
         iniset "$KEYSTONE_ADMIN_UWSGI_FILE" uwsgi enable-threads true
322 321
         iniset "$KEYSTONE_ADMIN_UWSGI_FILE" uwsgi plugins python
... ...
@@ -563,6 +561,8 @@ function install_keystone {
563 563
         if is_ssl_enabled_service "key"; then
564 564
             enable_mod_ssl
565 565
         fi
566
+    elif [ "$KEYSTONE_DEPLOY" == "uwsgi" ]; then
567
+        pip_install uwsgi
566 568
     fi
567 569
 }
568 570
 
... ...
@@ -582,8 +582,8 @@ function start_keystone {
582 582
         tail_log key /var/log/$APACHE_NAME/keystone.log
583 583
         tail_log key-access /var/log/$APACHE_NAME/keystone_access.log
584 584
     elif [ "$KEYSTONE_DEPLOY" == "uwsgi" ]; then
585
-        run_process key "uwsgi $KEYSTONE_PUBLIC_UWSGI_FILE" "" "key-p"
586
-        run_process key "uwsgi $KEYSTONE_ADMIN_UWSGI_FILE" "" "key-a"
585
+        run_process key "$KEYSTONE_BIN_DIR/uwsgi $KEYSTONE_PUBLIC_UWSGI_FILE" "" "key-p"
586
+        run_process key "$KEYSTONE_BIN_DIR/uwsgi $KEYSTONE_ADMIN_UWSGI_FILE" "" "key-a"
587 587
     else # eventlet
588 588
         # Start Keystone in a screen window
589 589
         run_process key "$KEYSTONE_BIN_DIR/keystone-all --config-file $KEYSTONE_CONF"