#!/usr/bin/env bash set -xe # Added -e to stop execution if a command fails echo "--- Running Pre-flight Checks ---" # 1. Check if the user is root if [[ $EUID -ne 0 ]]; then echo "ERROR: This script must be run as root (use sudo)." exit 1 fi # 4. Check for enough RAM (Kolla-Ansible usually needs 8GB+ for All-in-One) TOTAL_RAM=$(free -g | awk '/^Mem:/{print $2}') if [ "$TOTAL_RAM" -lt 8 ]; then echo "WARNING: You only have ${TOTAL_RAM}GB of RAM. OpenStack might be very slow or fail to deploy." fi echo "--- Pre-flight Checks Passed! Starting Installation ---" KOLLA_VENV="/opt/ansible-kolla-venv" KOLLA_WORKING="/opt/ansible-kolla" source "${KOLLA_VENV}/bin/activate" cd "${KOLLA_WORKING}" ansible -i /opt/ansible-kolla/multinode all -m script -a "/opt/ansible-kolla-venv/share/kolla-ansible/tools/cleanup-host" --become set +xe