Refactor source installation
Clean up and organize the download and configuration of source repositories.
Change-Id: Iaf38c0aed0a83ebf9a5da3505fe92c9fa200ac1e
diff --git a/stack.sh b/stack.sh
index 1010b4e..62309dc 100755
--- a/stack.sh
+++ b/stack.sh
@@ -556,117 +556,99 @@
fi
-# Check Out Source
-# ----------------
+# Check Out and Install Source
+# ----------------------------
echo_summary "Installing OpenStack project source"
-# Grab clients first
+# Install clients libraries
install_keystoneclient
install_glanceclient
install_cinderclient
install_novaclient
-# Check out the client libs that are used most
+if is_service_enabled swift glance; then
+ install_swiftclient
+fi
+if is_service_enabled quantum nova; then
+ install_quantumclient
+fi
+
git_clone $OPENSTACKCLIENT_REPO $OPENSTACKCLIENT_DIR $OPENSTACKCLIENT_BRANCH
setup_develop $OPENSTACKCLIENT_DIR
-# glance, swift middleware and nova api needs keystone middleware
-if is_service_enabled key g-api n-api s-proxy; then
- # unified auth system (manages accounts/tokens)
+if is_service_enabled key; then
install_keystone
+ configure_keystone
fi
if is_service_enabled s-proxy; then
- install_swiftclient
install_swift
+ configure_swift
+
if is_service_enabled swift3; then
# swift3 middleware to provide S3 emulation to Swift
git_clone $SWIFT3_REPO $SWIFT3_DIR $SWIFT3_BRANCH
+ setup_develop $SWIFT3_DIR
fi
fi
if is_service_enabled g-api n-api; then
# image catalog service
install_glance
+ configure_glance
fi
+
+if is_service_enabled cinder; then
+ install_cinder
+ configure_cinder
+fi
+
+if is_service_enabled quantum; then
+ install_quantum
+ install_quantum_third_party
+fi
+
if is_service_enabled nova; then
# compute service
install_nova
+ cleanup_nova
+ configure_nova
fi
+
if is_service_enabled n-novnc; then
# a websockets/html5 or flash powered VNC console for vm instances
git_clone $NOVNC_REPO $NOVNC_DIR $NOVNC_BRANCH
fi
+
if is_service_enabled n-spice; then
# a websockets/html5 or flash powered SPICE console for vm instances
git_clone $SPICE_REPO $SPICE_DIR $SPICE_BRANCH
fi
+
if is_service_enabled horizon; then
# dashboard
install_horizon
+ configure_horizon
fi
-if is_service_enabled quantum; then
- install_quantum
- install_quantumclient
- install_quantum_third_party
-fi
-if is_service_enabled heat; then
- install_heat
- install_heatclient
-fi
-if is_service_enabled cinder; then
- install_cinder
-fi
+
if is_service_enabled ceilometer; then
install_ceilometerclient
install_ceilometer
fi
-
-# Initialization
-# ==============
-
-echo_summary "Configuring OpenStack projects"
-
-# Set up our checkouts so they are installed in the python path
-
-if is_service_enabled key g-api n-api s-proxy; then
- configure_keystone
-fi
-
-if is_service_enabled s-proxy; then
- configure_swift
- if is_service_enabled swift3; then
- setup_develop $SWIFT3_DIR
- fi
-fi
-
-if is_service_enabled g-api n-api; then
- configure_glance
-fi
-
-if is_service_enabled nova; then
- # First clean up old instances
- cleanup_nova
- configure_nova
-fi
-
-if is_service_enabled horizon; then
- configure_horizon
-fi
-
-if is_service_enabled quantum; then
- setup_quantumclient
- setup_quantum
-fi
-
if is_service_enabled heat; then
+ install_heat
+ install_heatclient
configure_heat
configure_heatclient
fi
-if is_service_enabled cinder; then
- configure_cinder
+if is_service_enabled tls-proxy; then
+ configure_CA
+ init_CA
+ init_cert
+ # Add name to /etc/hosts
+ # don't be naive and add to existing line!
fi
if [[ $TRACK_DEPENDS = True ]] ; then
@@ -678,14 +660,6 @@
exit 0
fi
-if is_service_enabled tls-proxy; then
- configure_CA
- init_CA
- init_cert
- # Add name to /etc/hosts
- # don't be naive and add to existing line!
-fi
-
# Syslog
# ------