diff options
author | Georg Kunz <georg.kunz@est.tech> | 2020-08-21 16:09:59 +0200 |
---|---|---|
committer | Georg Kunz <georg.kunz@est.tech> | 2020-09-08 18:48:28 +0000 |
commit | 85c03eea36273b89427e8466f12274e69918dee6 (patch) | |
tree | ddbb2e6c4b6d9ca77efbf0600be713d772e3a15e | |
parent | fbedab22a44e54ef1d5bab53f8a220c1c6517997 (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-x | deploy.sh | 5 | ||||
-rwxr-xr-x | functions.sh | 52 |
2 files changed, 57 insertions, 0 deletions
@@ -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 |