From 852ce5e519cc4fa6e6176391e146a5105eddef2f Mon Sep 17 00:00:00 2001 From: Eliezer Croitoru Date: Mon, 19 Jan 2026 06:28:27 +0200 Subject: [PATCH] upgraded aio script --- install-aio-openstack.sh | 37 +++++++++++++++++++++++-------------- selinux-dummy.tar | Bin 0 -> 112640 bytes 2 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 selinux-dummy.tar diff --git a/install-aio-openstack.sh b/install-aio-openstack.sh index 99d1a75..fdf4505 100755 --- a/install-aio-openstack.sh +++ b/install-aio-openstack.sh @@ -27,31 +27,40 @@ 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 -python -m venv /opt/deploy +tar xvf selinux-dummy.tar + +python3.12 -m pip install ./selinux-dummy + +python3.12 -m venv /opt/deploy source /opt/deploy/bin/activate -python -m pip install -U pip +python3.12 -m pip install -U pip #pip install 'ansible>=4,<6' -pip install 'ansible-core>=2.16,<2.17.99' +#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' -python -m pip install ansible +python3.12 -m pip install 'ansible<12.0.0' #pip install ansible-core #pip install ansible -python -m pip install dbus-python +python3.12 -m pip install dbus-python -python -m pip install docker +python3.12 -m pip install docker -python -m pip install selinux +#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 -python -m pip install git+https://opendev.org/openstack/kolla-ansible@master mkdir -p /etc/kolla @@ -63,7 +72,7 @@ cp /opt/deploy/share/kolla-ansible/ansible/inventory/all-in-one /opt/ source /opt/deploy/bin/activate -PYTHON=$(which python) +PYTHON=$(which python3.12) echo "${PYTHON}" @@ -84,12 +93,12 @@ sed -i -e 's@^\#kolla_base_distro: ".*@kolla_base_distro: "ubuntu"@g' \ /etc/kolla/globals.yml cd /opt && \ - kolla-ansible -i all-in-one bootstrap-servers && \ - kolla-ansible -i all-in-one prechecks && \ - kolla-ansible -i all-in-one deploy && - kolla-ansible -i all-in-one post-deploy + 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 -pip install python-openstackclient +python3.12 -m pip install python-openstackclient grep keystone_admin_password /etc/kolla/passwords.yml diff --git a/selinux-dummy.tar b/selinux-dummy.tar new file mode 100644 index 0000000000000000000000000000000000000000..57473743cbc6d658d69937292bb423e949a2c27f GIT binary patch literal 112640 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 Y1~d$47|<}FVL-!xh5-!&|Lqv~f6yzKlmGw# literal 0 HcmV?d00001