Make sure tgt is using config.d approach
Fixes bug 1045358.
On ubuntu Oneiric, the tgt configuration was not using the config.d
approach. tgt was unable to find the config files, so no volumes could
be created. This fix makes sure, that the config.d directory is there,
and the configuration includes files from there.
Was Cinder only, added same fix for Nova volumes
Change-Id: I6752cb628dd22e91e640f0f584fafefa4cd6d0f1
diff --git a/lib/cinder b/lib/cinder
index 5f0b255..ec491dd 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -189,10 +189,19 @@
git_clone $CINDERCLIENT_REPO $CINDERCLIENT_DIR $CINDERCLIENT_BRANCH
}
+# apply config.d approach (e.g. Oneiric does not have this)
+function _configure_tgt_for_config_d() {
+ if [[ ! -d /etc/tgt/conf.d/ ]]; then
+ sudo mkdir /etc/tgt/conf.d
+ echo "include /etc/tgt/conf.d/*.conf" | sudo tee -a /etc/tgt/targets.conf
+ fi
+}
+
# start_cinder() - Start running processes, including screen
function start_cinder() {
if is_service_enabled c-vol; then
if [[ "$os_PACKAGE" = "deb" ]]; then
+ _configure_tgt_for_config_d
if [[ ! -f /etc/tgt/conf.d/cinder.conf ]]; then
echo "include $CINDER_DIR/volumes/*" | sudo tee /etc/tgt/conf.d/cinder.conf
fi