summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bindep.txt1
-rwxr-xr-xdeploy.sh9
-rwxr-xr-xfunctions.sh33
-rw-r--r--tox.ini1
4 files changed, 39 insertions, 5 deletions
diff --git a/bindep.txt b/bindep.txt
index f989692..fc14d44 100644
--- a/bindep.txt
+++ b/bindep.txt
@@ -1,5 +1,6 @@
python3-all-dev [platform:dpkg]
python3-all [platform:dpkg]
python-all-dev [platform:dpkg]
+pkg-config [platform:dpkg]
python-devel [platform:rpm !platform:centos-8]
python3-devel [platform:rpm]
diff --git a/deploy.sh b/deploy.sh
index 7b230f1..d817022 100755
--- 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.
@@ -31,6 +33,11 @@ check_prerequisites
source "$CURRENTPATH/deploy.env"
# ---------------------------------------------------------------------
+# creates a virtual environment for installation of dependencies
+# ---------------------------------------------------------------------
+creates_virtualenv
+
+# ---------------------------------------------------------------------
# bootstrap install prerequisites
# ---------------------------------------------------------------------
run_playbook bootstrap
diff --git a/functions.sh b/functions.sh
index 03e2284..305dcb7 100755
--- a/functions.sh
+++ b/functions.sh
@@ -26,6 +26,9 @@ assert_non_empty() {
error "$2"
fi
}
+if [ "${DEBUG:-false}" == "true" ]; then
+ set -o xtrace
+fi
check_prerequisites() {
info "Check prerequisites"
@@ -65,7 +68,21 @@ check_prerequisites() {
sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers
#-------------------------------------------------------------------------------
- # Check if some tools are installed
+ # Check if Python Virtual Environment is installed
+ #-------------------------------------------------------------------------------
+ if ! command -v virtualenv &> /dev/null; then
+ error "VirtualEnv not found. Please install."
+ fi
+
+ #-------------------------------------------------------------------------------
+ # Check if PIP Installs Packages is installed
+ #-------------------------------------------------------------------------------
+ if ! command -v pip &> /dev/null; then
+ error "PIP not found. Please install."
+ fi
+
+ #-------------------------------------------------------------------------------
+ # Check is libvirt is installed
#-------------------------------------------------------------------------------
for tool in ansible yq virsh jq; do
if ! command -v "$tool" &> /dev/null; then
@@ -253,11 +270,19 @@ EOF
fi
}
+# Creates a python virtual environment
+creates_virtualenv() {
+ if [ ! -d "$CURRENTPATH/.venv" ]; then
+ virtualenv .venv
+ fi
+ # shellcheck disable=SC1090
+ source "$CURRENTPATH/.venv/bin/activate"
+ pip install -r "$CURRENTPATH/requirements.txt"
+}
+
# Executes a specific Ansible playbook
run_playbook() {
- ansible_cmd="$(command -v ansible-playbook)"
- ansible_cmd+=" -i $CURRENTPATH/inventory/localhost.ini"
- ansible_cmd+=" -e ansible_python_interpreter=$(command -v python)"
+ ansible_cmd="$(command -v ansible-playbook) -i $CURRENTPATH/inventory/localhost.ini -e ansible_python_interpreter=$(command -v python)"
if [ "${DEBUG:-false}" == "true" ]; then
ansible_cmd+=" -vvv"
fi
diff --git a/tox.ini b/tox.ini
index 0d309d7..a4d4dc7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,6 +12,7 @@ deps =
whitelist_externals = bash
commands = bash -c "find {toxinidir} \
-not -path {toxinidir}/.tox/\* \
+ -not -path {toxinidir}/.venv/\* \
# E006 check for lines longer than 79 columns
-name \*.sh | xargs bashate -v -iE006"
bash -c "yamllint {toxinidir}"