summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Kunz <georg.kunz@est.tech>2020-08-21 16:09:59 +0200
committerGeorg Kunz <georg.kunz@est.tech>2020-09-08 18:48:28 +0000
commit85c03eea36273b89427e8466f12274e69918dee6 (patch)
treeddbb2e6c4b6d9ca77efbf0600be713d772e3a15e
parentfbedab22a44e54ef1d5bab53f8a220c1c6517997 (diff)
Adding checks for installation prerequisites
This patch adds a few preliminary checks for installation prerequisites, currently covering software dependencies and runtime prerequisites. More checks need to be added over time. Signed-off-by: Georg Kunz <georg.kunz@est.tech> Change-Id: Ic59b99873983511b74ebdce06d3aeb2ade318a76 Reviewed-on: https://gerrit.opnfv.org/gerrit/c/kuberef/+/70841 Tested-by: jenkins-ci <jenkins-opnfv-ci@opnfv.org> Reviewed-by: Victor Morales <chipahuac@hotmail.com> Reviewed-by: Rihab Banday <rihab.banday@ericsson.com>
-rwxr-xr-xdeploy.sh5
-rwxr-xr-xfunctions.sh52
2 files changed, 57 insertions, 0 deletions
diff --git a/deploy.sh b/deploy.sh
index 34f13e4..78e2978 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -25,6 +25,11 @@ source "$CURRENTPATH/deploy.env"
# shellcheck source=./functions.sh
source "$CURRENTPATH/functions.sh"
+# ---------------------------------------------------------------------
+# check installation and runtime prerequisites
+# ---------------------------------------------------------------------
+check_prerequisites
+
# Clean up leftovers
clean_up
diff --git a/functions.sh b/functions.sh
index 47c8536..f991dc8 100755
--- a/functions.sh
+++ b/functions.sh
@@ -20,6 +20,58 @@ clean_up() {
sleep 5
}
+
+check_prerequisites() {
+ echo "Info : Check prerequisites"
+
+ #-------------------------------------------------------------------------------
+ # We shouldn't be running as root
+ #-------------------------------------------------------------------------------
+ if [[ "$(whoami)" == "root" ]]; then
+ echo "ERROR : This script must not be run as root!"
+ echo " Please switch to a regular user before running the script."
+ exit 1
+ fi
+
+ #-------------------------------------------------------------------------------
+ # Check for passwordless sudo
+ #-------------------------------------------------------------------------------
+ if ! sudo -n "true"; then
+ echo "ERROR : passwordless sudo is needed for '$(id -nu)' user."
+ exit 1
+ fi
+
+ #-------------------------------------------------------------------------------
+ # Check if SSH key exists
+ #-------------------------------------------------------------------------------
+ if [[ ! -f "$HOME/.ssh/id_rsa" ]]; then
+ echo "ERROR : You must have SSH keypair in order to run this script!"
+ exit 1
+ fi
+
+ #-------------------------------------------------------------------------------
+ # We are using sudo so we need to make sure that env_reset is not present
+ #-------------------------------------------------------------------------------
+ sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers
+
+ #-------------------------------------------------------------------------------
+ # Check if Ansible is installed
+ #-------------------------------------------------------------------------------
+ if ! command -v ansible &> /dev/null; then
+ echo "ERROR : Ansible not found. Please install."
+ exit 1
+ fi
+
+ #-------------------------------------------------------------------------------
+ # Check is libvirt is installed
+ #-------------------------------------------------------------------------------
+ if ! command -v virsh &> /dev/null; then
+ echo "ERROR : Libvirt not found. Please install."
+ exit 1
+ fi
+}
+
+
# Create jumphost VM
create_jump() {
# Create VM image