Create mechanism for enabling placement-client on subnodes

When doing multinode devstack we need a way to specify that we've
enabled for the placement service. We use a pseudo service of
placement-client for this.

Change-Id: I04a655fbc58913b3d607400a7f677be299499142
This commit is contained in:
Sean Dague 2016-12-15 16:32:08 -05:00
parent c95ca63ae3
commit 51a225c5d7
2 changed files with 18 additions and 7 deletions

View File

@ -55,7 +55,7 @@ PLACEMENT_SERVICE_PORT=${PLACEMENT_SERVICE_PORT:-8778}
# Test if any placement services are enabled
# is_placement_enabled
function is_placement_enabled {
[[ ,${ENABLED_SERVICES} =~ ,"placement-" ]] && return 0
[[ ,${ENABLED_SERVICES} =~ ,"placement-api" ]] && return 0
return 1
}
@ -101,12 +101,7 @@ function _config_placement_apache_wsgi {
" -i $placement_api_apache_conf
}
# configure_placement() - Set config files, create data dirs, etc
function configure_placement {
if [ "$PLACEMENT_DB_ENABLED" != False ]; then
iniset $PLACEMENT_CONF placement_database connection `database_connection_url placement`
fi
function configure_placement_nova_compute {
iniset $NOVA_CONF placement auth_type "password"
iniset $NOVA_CONF placement auth_url "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_AUTH_PORT/v3"
iniset $NOVA_CONF placement username placement
@ -121,7 +116,13 @@ function configure_placement {
# established by the nova api. This avoids, for the time, being,
# creating redundant configuration items that are just used for
# testing.
}
# configure_placement() - Set config files, create data dirs, etc
function configure_placement {
if [ "$PLACEMENT_DB_ENABLED" != False ]; then
iniset $PLACEMENT_CONF placement_database connection `database_connection_url placement`
fi
_config_placement_apache_wsgi
}

View File

@ -869,6 +869,16 @@ if is_service_enabled placement; then
configure_placement
fi
# create a placement-client fake service to know we need to configure
# placement connectivity. We configure the placement service for nova
# if placement-api or placement-client is active, and n-cpu on the
# same box.
if is_service_enabled placement placement-client; then
if is_service_enabled n-cpu; then
configure_placement_nova_compute
fi
fi
if is_service_enabled horizon; then
# django openstack_auth
install_django_openstack_auth