@@ -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# ---------
@@ -103,16 +113,13 @@ function configure_glance {
103113 dburl=` database_connection_url glance`
104114 iniset $GLANCE_REGISTRY_CONF database connection $dburl
105115 iniset $GLANCE_REGISTRY_CONF DEFAULT use_syslog $SYSLOG
106- iniset $GLANCE_REGISTRY_CONF DEFAULT workers " $API_WORKERS "
107116 iniset $GLANCE_REGISTRY_CONF paste_deploy flavor keystone
108117 configure_auth_token_middleware $GLANCE_REGISTRY_CONF glance $GLANCE_AUTH_CACHE_DIR /registry
109118 iniset $GLANCE_REGISTRY_CONF oslo_messaging_notifications driver messagingv2
110119 iniset_rpc_backend glance $GLANCE_REGISTRY_CONF
111120 iniset $GLANCE_REGISTRY_CONF DEFAULT graceful_shutdown_timeout " $SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT "
112121
113- cp $GLANCE_DIR /etc/glance-api.conf $GLANCE_API_CONF
114122 iniset $GLANCE_API_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
115- iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
116123 inicomment $GLANCE_API_CONF DEFAULT log_file
117124 iniset $GLANCE_API_CONF database connection $dburl
118125 iniset $GLANCE_API_CONF DEFAULT use_syslog $SYSLOG
@@ -140,8 +147,6 @@ function configure_glance {
140147 iniset $GLANCE_API_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR /
141148 iniset $GLANCE_API_CONF DEFAULT registry_host $GLANCE_SERVICE_HOST
142149
143- iniset $GLANCE_API_CONF DEFAULT workers " $API_WORKERS "
144-
145150 # CORS feature support - to allow calls from Horizon by default
146151 if [ -n " $GLANCE_CORS_ALLOWED_ORIGIN " ]; then
147152 iniset $GLANCE_API_CONF cors allowed_origin " $GLANCE_CORS_ALLOWED_ORIGIN "
@@ -198,7 +203,6 @@ function configure_glance {
198203 setup_logging $GLANCE_REGISTRY_CONF
199204
200205 cp -p $GLANCE_DIR /etc/glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI
201-
202206 cp -p $GLANCE_DIR /etc/glance-api-paste.ini $GLANCE_API_PASTE_INI
203207
204208 cp $GLANCE_DIR /etc/glance-cache.conf $GLANCE_CACHE_CONF
@@ -231,6 +235,13 @@ function configure_glance {
231235 iniset $GLANCE_API_CONF DEFAULT cinder_endpoint_template " https://$CINDER_SERVICE_HOST :$CINDER_SERVICE_PORT /v1/%(project_id)s"
232236 iniset $GLANCE_CACHE_CONF DEFAULT cinder_endpoint_template " https://$CINDER_SERVICE_HOST :$CINDER_SERVICE_PORT /v1/%(project_id)s"
233237 fi
238+
239+ if [[ " $WSGI_MODE " == " uwsgi" ]]; then
240+ write_local_uwsgi_http_config " $GLANCE_UWSGI_CONF " " $GLANCE_UWSGI " " /image"
241+ else
242+ iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
243+ iniset $GLANCE_API_CONF DEFAULT workers " $API_WORKERS "
244+ fi
234245}
235246
236247# create_glance_accounts() - Set up common required glance accounts
@@ -255,7 +266,7 @@ function create_glance_accounts {
255266 get_or_create_endpoint \
256267 " image" \
257268 " $REGION_NAME " \
258- " $GLANCE_SERVICE_PROTOCOL :// $GLANCE_HOSTPORT "
269+ " $GLANCE_URL "
259270
260271 # Note(frickler): Crude workaround for https://bugs.launchpad.net/glance-store/+bug/1620999
261272 service_domain_id=$( get_or_create_domain $SERVICE_DOMAIN_NAME )
@@ -320,15 +331,21 @@ function install_glance {
320331function start_glance {
321332 local service_protocol=$GLANCE_SERVICE_PROTOCOL
322333 if is_service_enabled tls-proxy; then
323- start_tls_proxy glance-service ' *' $GLANCE_SERVICE_PORT $GLANCE_SERVICE_HOST $GLANCE_SERVICE_PORT_INT
334+ if [[ " $WSGI_MODE " != " uwsgi" ]]; then
335+ start_tls_proxy glance-service ' *' $GLANCE_SERVICE_PORT $GLANCE_SERVICE_HOST $GLANCE_SERVICE_PORT_INT
336+ fi
324337 start_tls_proxy glance-registry ' *' $GLANCE_REGISTRY_PORT $GLANCE_SERVICE_HOST $GLANCE_REGISTRY_PORT_INT
325338 fi
326339
327340 run_process g-reg " $GLANCE_BIN_DIR /glance-registry --config-file=$GLANCE_CONF_DIR /glance-registry.conf"
328- run_process g-api " $GLANCE_BIN_DIR /glance-api --config-file=$GLANCE_CONF_DIR /glance-api.conf"
341+ if [[ " $WSGI_MODE " == " uwsgi" ]]; then
342+ run_process g-api " $GLANCE_BIN_DIR /uwsgi --ini $GLANCE_UWSGI_CONF "
343+ else
344+ run_process g-api " $GLANCE_BIN_DIR /glance-api --config-file=$GLANCE_CONF_DIR /glance-api.conf"
345+ fi
329346
330- echo " Waiting for g-api ($GLANCE_HOSTPORT ) to start..."
331- if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL :// $GLANCE_HOSTPORT ; then
347+ echo " Waiting for g-api ($GLANCE_SERVICE_HOST ) to start..."
348+ if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_URL ; then
332349 die $LINENO " g-api did not start"
333350 fi
334351}
0 commit comments