Files
zaqar/tools/test-setup.sh
Martin André 679d0f6ba9 devstack: Add signed-by to MongoDB 8.0 apt source
The MongoDB 8.0 apt repository configuration for Ubuntu 24.04 downloads
the GPG key into /usr/share/keyrings/mongodb-server-8.0.gpg but the deb
source line does not reference it via signed-by. On standard Ubuntu
24.04 systems, apt treats unsigned repositories as a hard error, causing
stack.sh to fail with exit code 100.

Add signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg to the deb
line in both devstack/plugin.sh and tools/test-setup.sh, matching the
pattern already used for Debian 12/13 in test-setup.sh.

Closes-Bug: #2155845
Change-Id: I89a6fa87c4156aff1896aedc67080d637df62fae
Signed-off-by: Martin André <m.andre@redhat.com>
2026-06-08 11:40:46 +02:00

73 lines
3.0 KiB
Bash
Executable File

#!/bin/bash -xe
# This script will be run by OpenStack CI before unit tests are run,
# it sets up the test system as needed.
# Developers should setup their test systems in a similar way.
# This setup needs to be run as a user that can run sudo.
# The root password for the MySQL database; pass it in via
# MYSQL_ROOT_PW.
DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave}
# This user and its password are used by the tests, if you change it,
# your tests might fail.
DB_USER=openstack_citest
DB_PW=openstack_citest
sudo -H mysqladmin -u root password $DB_ROOT_PW
# It's best practice to remove anonymous users from the database. If
# a anonymous user exists, then it matches first for connections and
# other connections from that host will not work.
sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e "
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;
CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION;"
# Now create our database.
mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "
SET default_storage_engine=MYISAM;
DROP DATABASE IF EXISTS openstack_citest;
CREATE DATABASE openstack_citest CHARACTER SET utf8;"
# TO fix the mongodb issue in ubuntu
ubuntu_version=$(source /etc/os-release ; echo $VERSION_ID)
if [[ $ubuntu_version == '24.04' ]]; then
if [[ ! -d /etc/apt/sources.list.d ]]; then
sudo mkdir /etc/apt/sources.list.d
fi
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl restart mongod
sudo systemctl status mongod
elif [[ $ubuntu_version == '12' ]]; then
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl restart mongod
sudo systemctl status mongod
elif [[ $ubuntu_version == '13' ]]; then
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl restart mongod
sudo systemctl status mongod
else
sudo apt-get install -y mongodb
sudo systemctl restart mongodb
fi