Add support for deployment on multiple OS distros
[kuberef.git] / deploy.sh
index 2b1e3ce..def7d95 100755 (executable)
--- a/deploy.sh
+++ b/deploy.sh
@@ -8,9 +8,11 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-set -o xtrace
 set -o errexit
 set -o nounset
+if [ "${DEBUG:-false}" == "true" ]; then
+    set -o xtrace
+fi
 
 # Script for end to end RI-2 deployment using Infra engine and BMRA.
 # Please refer to README for detailed information.
@@ -19,34 +21,35 @@ set -o nounset
 CURRENTPATH=$(git rev-parse --show-toplevel)
 export CURRENTPATH
 
-# Source env variables & functions
-# shellcheck source=./deploy.env
-source "$CURRENTPATH/deploy.env"
 # shellcheck source=./functions.sh
 source "$CURRENTPATH/functions.sh"
+# shellcheck source=./deploy.env
+source "$CURRENTPATH/deploy.env"
 
 # ---------------------------------------------------------------------
 # check installation and runtime prerequisites
 # ---------------------------------------------------------------------
 check_prerequisites
 
+# ---------------------------------------------------------------------
+# creates a virtual environment for installation of dependencies
+# ---------------------------------------------------------------------
+creates_virtualenv
+
 # ---------------------------------------------------------------------
 # bootstrap install prerequisites
 # ---------------------------------------------------------------------
-ansible-playbook -i "$CURRENTPATH"/inventory/localhost.ini \
-    "$CURRENTPATH"/playbooks/bootstrap.yaml
+run_playbook bootstrap
 
 # ---------------------------------------------------------------------
 # Create jump VM from which the installation is performed
 # ---------------------------------------------------------------------
-ansible-playbook -i "$CURRENTPATH"/inventory/localhost.ini \
-    "$CURRENTPATH"/playbooks/jump-vm.yaml
+run_playbook jump-vm
 
 # ---------------------------------------------------------------------
 # Create BMRA config based on IDF and PDF
 # ---------------------------------------------------------------------
-ansible-playbook -i "$CURRENTPATH"/inventory/localhost.ini \
-    "$CURRENTPATH"/playbooks/bmra-config.yaml
+run_playbook bmra-config
 
 # ---------------------------------------------------------------------
 # Copy files needed by Infra engine & BMRA in the jumphost VM
@@ -55,15 +58,20 @@ copy_files_jump
 
 # ---------------------------------------------------------------------
 # Provision remote hosts
-# ---------------------------------------------------------------------
-provision_hosts
-
-# ---------------------------------------------------------------------
 # Setup networking (Adapt according to your network setup)
 # ---------------------------------------------------------------------
-setup_network
+if [[ "$DEPLOYMENT" == "full" ]]; then
+    provision_hosts
+    setup_network
+fi
 
 # ---------------------------------------------------------------------
 # Provision k8s cluster (currently BMRA)
 # ---------------------------------------------------------------------
 provision_k8s
+
+# ---------------------------------------------------------------------
+# Copy kubeconfig to desired location
+# ---------------------------------------------------------------------
+copy_k8s_config
+