bootstrap-rocky-9/install-aio-openstack.sh
Eliezer Croitoru 8166eaa0b6 Periodic update
2026-01-28 22:01:18 +02:00

107 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -x
set -e
IP="$1"
INTERNAL_INTERFACE="$2"
EXTERNAL_INTERFACE="$3"
if [ -z "${IP}" ];then
echo "Missing internal IP address"
exit 1
fi
if [ -z "${INTERNAL_INTERFACE}" ];then
echo "Missing internal network interface"
exit 2
fi
if [ -z "${EXTERNAL_INTERFACE}" ];then
echo "Missing externl network interface"
exit 3
fi
dnf group install -y "Development Tools"
dnf install -y git python3-devel libffi-devel gcc openssl-devel python3-libselinux
dnf install -y python-devel python cmake dbus-devel python-pip pkgconfig glib2-devel dbus-tools dbus-daemon
dnf install -y python3.12 python3.12-devel python3.12-pip python3.12-pip-wheel
#update-alternatives --set python3 /usr/bin/python
#apt install -y build-essential python3-dev python3
#apt install -y libdbus-1-dev cmake libspice-client-glib-2.0-dev
#apt install -y python3-venv
tar xvf selinux-dummy.tar
python3.12 -m pip install ./selinux-dummy
python3.12 -m venv /opt/deploy
source /opt/deploy/bin/activate
python3.12 -m pip install -U pip
#pip install 'ansible>=4,<6'
#pip install 'ansible-core>=2.16,<2.17.99'
#python -m pip install 'ansible-core>=2.16,<=2.17'
python3.12 -m pip install 'ansible-core>=2.18,<2.19'
#pip install 'ansible>=7,<8'
python3.12 -m pip install 'ansible<12.0.0'
#pip install ansible-core
#pip install ansible
python3.12 -m pip install dbus-python
python3.12 -m pip install docker
#python3.12 -m pip install selinux
#python3.12 -m pip install git+https://opendev.org/openstack/kolla-ansible@master
python3.12 -m pip install git+https://opendev.org/openstack/kolla-ansible@stable/2025.2
mkdir -p /etc/kolla
chown $USER:$USER /etc/kolla
cp -r /opt/deploy/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
cp /opt/deploy/share/kolla-ansible/ansible/inventory/all-in-one /opt/
source /opt/deploy/bin/activate
PYTHON=$(which python3.12)
echo "${PYTHON}"
sed -i -e "s@ansible_connection=local.*@ansible_connection=local ansible_python_interpreter=/opt/deploy/bin/python@g" /opt/all-in-one
kolla-ansible install-deps
kolla-genpwd
sed -i -e 's@^\#kolla_base_distro: ".*@kolla_base_distro: "ubuntu"@g' \
-e "s@^#network_interface.*@network_interface: \"${INTERNAL_INTERFACE}\"@g" \
-e "s@^#neutron_external_interface.*@neutron_external_interface: \"${EXTERNAL_INTERFACE}\"@g" \
-e 's@^#neutron_plugin_agent: .*@neutron_plugin_agent: "openvswitch"@g' \
-e 's@^#enable_neutron_provider_networks.*@enable_neutron_provider_networks: "yes"@g' \
-e 's@^#nova_compute_virt_type.*@nova_compute_virt_type: "kvm"@g' \
-e 's@^#enable_haproxy:.*@enable_haproxy: "no"@g' \
-e 's@^#enable_proxysql: "yes".*@enable_proxysql: "no"@g' \
-e "s@^#kolla_internal_vip_address:.*@kolla_internal_vip_address: \"${IP}\"@g" \
/etc/kolla/globals.yml
cd /opt && \
kolla-ansible bootstrap-servers -i ./all-in-one && \
kolla-ansible prechecks -i ./all-in-one && \
kolla-ansible deploy -i ./all-in-one && \
kolla-ansible post-deploy -i ./all-in-one
python3.12 -m pip install python-openstackclient
grep keystone_admin_password /etc/kolla/passwords.yml
set +x