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]
# 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.
# shellcheck source=./deploy.env
source "$CURRENTPATH/deploy.env"
+# ---------------------------------------------------------------------
+# creates a virtual environment for installation of dependencies
+# ---------------------------------------------------------------------
+creates_virtualenv
+
# ---------------------------------------------------------------------
# bootstrap install prerequisites
# ---------------------------------------------------------------------
error "$2"
fi
}
+if [ "${DEBUG:-false}" == "true" ]; then
+ set -o xtrace
+fi
check_prerequisites() {
info "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
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
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}"