Refactor init functions to simplify Grenade upgrades
* Glance: create_glance_cache_dir()
* Cinder: create_cinder_cache_dir() and create_cinder_volume_group()
* Nova: create_nova_cache_dir() and create_nova_keys_dir()
* Random tidy-up changes
Change-Id: I20d995d4c2e5facfb912ee03a6cda6c56f20bbe9
diff --git a/lib/nova b/lib/nova
index 1681af7..e359719 100644
--- a/lib/nova
+++ b/lib/nova
@@ -453,6 +453,14 @@
done
}
+# create_nova_cache_dir() - Part of the init_nova() process
+function create_nova_cache_dir() {
+ # Create cache dir
+ sudo mkdir -p $NOVA_AUTH_CACHE_DIR
+ sudo chown $STACK_USER $NOVA_AUTH_CACHE_DIR
+ rm -f $NOVA_AUTH_CACHE_DIR/*
+}
+
function create_nova_conf_nova_network() {
iniset $NOVA_CONF DEFAULT network_manager "nova.network.manager.$NET_MAN"
iniset $NOVA_CONF DEFAULT public_interface "$PUBLIC_INTERFACE"
@@ -463,14 +471,17 @@
fi
}
+# create_nova_keys_dir() - Part of the init_nova() process
+function create_nova_keys_dir() {
+ # Create keys dir
+ sudo mkdir -p ${NOVA_STATE_PATH}/keys
+ sudo chown -R $STACK_USER ${NOVA_STATE_PATH}
+}
+
# init_nova() - Initialize databases, etc.
function init_nova() {
- # Nova Database
- # -------------
-
- # All nova components talk to a central database. We will need to do this step
- # only once for an entire cluster.
-
+ # All nova components talk to a central database.
+ # Only do this step once on the API node for an entire cluster.
if is_service_enabled $DATABASE_BACKENDS && is_service_enabled n-api; then
# (Re)create nova database
# Explicitly use latin1: to avoid lp#829209, nova expects the database to
@@ -478,7 +489,7 @@
# 082_essex.py in nova)
recreate_database nova latin1
- # (Re)create nova database
+ # Migrate nova database
$NOVA_BIN_DIR/nova-manage db sync
# (Re)create nova baremetal database
@@ -488,15 +499,8 @@
fi
fi
- # Create cache dir
- sudo mkdir -p $NOVA_AUTH_CACHE_DIR
- sudo chown $STACK_USER $NOVA_AUTH_CACHE_DIR
- rm -f $NOVA_AUTH_CACHE_DIR/*
-
- # Create the keys folder
- sudo mkdir -p ${NOVA_STATE_PATH}/keys
- # make sure we own NOVA_STATE_PATH and all subdirs
- sudo chown -R $STACK_USER ${NOVA_STATE_PATH}
+ create_nova_cache_dir
+ create_nova_keys_dir
}
# install_novaclient() - Collect source and prepare