@@ -71,6 +71,16 @@ GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$GLANCE_SERVICE_HOST:$GLANCE_SERVICE_PORT}
7171GLANCE_SERVICE_PROTOCOL=${GLANCE_SERVICE_PROTOCOL:- $SERVICE_PROTOCOL }
7272GLANCE_REGISTRY_PORT=${GLANCE_REGISTRY_PORT:- 9191}
7373GLANCE_REGISTRY_PORT_INT=${GLANCE_REGISTRY_PORT_INT:- 19191}
74+ GLANCE_UWSGI=$GLANCE_BIN_DIR /glance-wsgi-api
75+ GLANCE_UWSGI_CONF=$GLANCE_CONF_DIR /glance-uswgi.ini
76+ # If wsgi mode is uwsgi run glance under uwsgi, else default to eventlet
77+ # TODO(mtreinish): Remove the eventlet path here and in all the similar
78+ # conditionals below after the Pike release
79+ if [[ " $WSGI_MODE " == " uwsgi" ]]; then
80+ GLANCE_URL=" $GLANCE_SERVICE_PROTOCOL ://$GLANCE_SERVICE_HOST /image"
81+ else
82+ GLANCE_URL=" $GLANCE_SERVICE_PROTOCOL ://$GLANCE_HOSTPORT "
83+ fi
7484
7585# Functions
7686# ---------
@@ -104,16 +114,13 @@ function configure_glance {
104114 dburl=` database_connection_url glance`
105115 iniset $GLANCE_REGISTRY_CONF database connection $dburl
106116 iniset $GLANCE_REGISTRY_CONF DEFAULT use_syslog $SYSLOG
107- iniset $GLANCE_REGISTRY_CONF DEFAULT workers " $API_WORKERS "
108117 iniset $GLANCE_REGISTRY_CONF paste_deploy flavor keystone
109118 configure_auth_token_middleware $GLANCE_REGISTRY_CONF glance $GLANCE_AUTH_CACHE_DIR /registry
110119 iniset $GLANCE_REGISTRY_CONF oslo_messaging_notifications driver messagingv2
111120 iniset_rpc_backend glance $GLANCE_REGISTRY_CONF
112121 iniset $GLANCE_REGISTRY_CONF DEFAULT graceful_shutdown_timeout " $SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT "
113122
114- cp $GLANCE_DIR /etc/glance-api.conf $GLANCE_API_CONF
115123 iniset $GLANCE_API_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
116- iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
117124 inicomment $GLANCE_API_CONF DEFAULT log_file
118125 iniset $GLANCE_API_CONF database connection $dburl
119126 iniset $GLANCE_API_CONF DEFAULT use_syslog $SYSLOG
@@ -141,8 +148,6 @@ function configure_glance {
141148 iniset $GLANCE_API_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR /
142149 iniset $GLANCE_API_CONF DEFAULT registry_host $GLANCE_SERVICE_HOST
143150
144- iniset $GLANCE_API_CONF DEFAULT workers " $API_WORKERS "
145-
146151 # CORS feature support - to allow calls from Horizon by default
147152 if [ -n " $GLANCE_CORS_ALLOWED_ORIGIN " ]; then
148153 iniset $GLANCE_API_CONF cors allowed_origin " $GLANCE_CORS_ALLOWED_ORIGIN "
@@ -199,7 +204,6 @@ function configure_glance {
199204 setup_logging $GLANCE_REGISTRY_CONF
200205
201206 cp -p $GLANCE_DIR /etc/glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI
202-
203207 cp -p $GLANCE_DIR /etc/glance-api-paste.ini $GLANCE_API_PASTE_INI
204208
205209 cp $GLANCE_DIR /etc/glance-cache.conf $GLANCE_CACHE_CONF
@@ -232,6 +236,13 @@ function configure_glance {
232236 iniset $GLANCE_API_CONF DEFAULT cinder_endpoint_template " https://$CINDER_SERVICE_HOST :$CINDER_SERVICE_PORT /v1/%(project_id)s"
233237 iniset $GLANCE_CACHE_CONF DEFAULT cinder_endpoint_template " https://$CINDER_SERVICE_HOST :$CINDER_SERVICE_PORT /v1/%(project_id)s"
234238 fi
239+
240+ if [[ " $WSGI_MODE " == " uwsgi" ]]; then
241+ write_local_uwsgi_http_config " $GLANCE_UWSGI_CONF " " $GLANCE_UWSGI " " /image"
242+ else
243+ iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
244+ iniset $GLANCE_API_CONF DEFAULT workers " $API_WORKERS "
245+ fi
235246}
236247
237248# create_glance_accounts() - Set up common required glance accounts
@@ -256,7 +267,7 @@ function create_glance_accounts {
256267 get_or_create_endpoint \
257268 " image" \
258269 " $REGION_NAME " \
259- " $GLANCE_SERVICE_PROTOCOL :// $GLANCE_HOSTPORT "
270+ " $GLANCE_URL "
260271
261272 # Note(frickler): Crude workaround for https://bugs.launchpad.net/glance-store/+bug/1620999
262273 service_domain_id=$( get_or_create_domain $SERVICE_DOMAIN_NAME )
@@ -323,15 +334,21 @@ function install_glance {
323334function start_glance {
324335 local service_protocol=$GLANCE_SERVICE_PROTOCOL
325336 if is_service_enabled tls-proxy; then
326- start_tls_proxy glance-service ' *' $GLANCE_SERVICE_PORT $GLANCE_SERVICE_HOST $GLANCE_SERVICE_PORT_INT
337+ if [[ " $WSGI_MODE " != " uwsgi" ]]; then
338+ start_tls_proxy glance-service ' *' $GLANCE_SERVICE_PORT $GLANCE_SERVICE_HOST $GLANCE_SERVICE_PORT_INT
339+ fi
327340 start_tls_proxy glance-registry ' *' $GLANCE_REGISTRY_PORT $GLANCE_SERVICE_HOST $GLANCE_REGISTRY_PORT_INT
328341 fi
329342
330343 run_process g-reg " $GLANCE_BIN_DIR /glance-registry --config-file=$GLANCE_CONF_DIR /glance-registry.conf"
331- run_process g-api " $GLANCE_BIN_DIR /glance-api --config-file=$GLANCE_CONF_DIR /glance-api.conf"
344+ if [[ " $WSGI_MODE " == " uwsgi" ]]; then
345+ run_process g-api " $GLANCE_BIN_DIR /uwsgi --ini $GLANCE_UWSGI_CONF "
346+ else
347+ run_process g-api " $GLANCE_BIN_DIR /glance-api --config-file=$GLANCE_CONF_DIR /glance-api.conf"
348+ fi
332349
333- echo " Waiting for g-api ($GLANCE_HOSTPORT ) to start..."
334- if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL :// $GLANCE_HOSTPORT ; then
350+ echo " Waiting for g-api ($GLANCE_SERVICE_HOST ) to start..."
351+ if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_URL ; then
335352 die $LINENO " g-api did not start"
336353 fi
337354}
0 commit comments