When enabling neutron service (i.e. enable_service q-xxx), related code unconditionally adds a necessary plugin class to Q_SERVICE_PLUGIN_CLASSES. Which may cause duplication in Q_SERVICE_PLUGIN_CLASSES when Q_SERVICE_PLUGIN_CLASSES is explicitly specified in localrc. As a result, neutron server fails to start. This patch introduces a utility function to add service class, and check duplication. Closes-Bug: #1261291 Change-Id: Id2880c7647babfccc3e8d9fc60dd93c4b3997ed9
27 lines
716 B
Plaintext
27 lines
716 B
Plaintext
# Neutron metering plugin
|
|
# ---------------------------
|
|
|
|
# Save trace setting
|
|
MY_XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
|
|
AGENT_METERING_BINARY="$NEUTRON_BIN_DIR/neutron-metering-agent"
|
|
METERING_PLUGIN="neutron.services.metering.metering_plugin.MeteringPlugin"
|
|
|
|
function neutron_agent_metering_configure_common() {
|
|
_neutron_service_plugin_class_add $METERING_PLUGIN
|
|
}
|
|
|
|
function neutron_agent_metering_configure_agent() {
|
|
METERING_AGENT_CONF_PATH=/etc/neutron/services/metering
|
|
mkdir -p $METERING_AGENT_CONF_PATH
|
|
|
|
METERING_AGENT_CONF_FILENAME="$METERING_AGENT_CONF_PATH/metering_agent.ini"
|
|
|
|
cp $NEUTRON_DIR/etc/metering_agent.ini $METERING_AGENT_CONF_FILENAME
|
|
}
|
|
|
|
# Restore xtrace
|
|
$MY_XTRACE
|