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