Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit e6bbf93

Browse files
authored
Merge pull request #1276 from openedx/farhanumar/mongo-5-0-upgrade
chore: upgrade mongo4.4 to mongo5.0.24
2 parents 7c1026a + 3f1c057 commit e6bbf93

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ services:
177177
command: mongod --nojournal --storageEngine wiredTiger
178178
container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.mongo"
179179
hostname: mongo.devstack.edx
180-
image: mongo:${MONGO_VERSION:-4.4.18}
180+
image: mongo:${MONGO_VERSION:-5.0.24}
181181
networks:
182182
default:
183183
aliases:

upgrade_mongo_5_0.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env bash
2+
set -eu -o pipefail
3+
4+
# This script will upgrade a devstack that was previosly running Mongo DB 4.4 to MongoDB 5.0.24
5+
6+
. scripts/colors.sh
7+
8+
# Upgrade to mongo 5.0.24
9+
export MONGO_VERSION=5.0.24
10+
11+
echo
12+
echo -e "${GREEN}Restarting Mongo on version ${MONGO_VERSION}${NC}"
13+
make dev.up.mongo
14+
mongo_container="$(make --silent --no-print-directory dev.print-container.mongo)"
15+
16+
echo -e "${GREEN}Waiting for MongoDB...${NC}"
17+
until docker exec "$mongo_container" mongo --eval 'db.serverStatus()' &> /dev/null
18+
do
19+
printf "."
20+
sleep 1
21+
done
22+
23+
echo -e "${GREEN}MongoDB ready.${NC}"
24+
MONGO_VERSION_LIVE=$(docker exec -it "$mongo_container" mongo --quiet --eval "printjson(db.version())")
25+
MONGO_VERSION_COMPAT=$(docker exec -it "$mongo_container" mongo --quiet \
26+
--eval "printjson(db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )['featureCompatibilityVersion'])")
27+
echo -e "${GREEN}Mongo Server version: ${MONGO_VERSION_LIVE}${NC}"
28+
echo -e "${GREEN}Mongo FeatureCompatibilityVersion version: ${MONGO_VERSION_COMPAT}${NC}"
29+
30+
if echo "${MONGO_VERSION_COMPAT}" | grep -q "5\.0" ; then
31+
echo -e "${GREEN}Upgrading FeatureCompatibilityVersion to 5.0${NC}"
32+
docker exec -it "$mongo_container" mongo --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"5.0\" } )"
33+
else
34+
echo -e "${GREEN}FeatureCompatibilityVersion already set to 5.0${NC}"
35+
fi

0 commit comments

Comments
 (0)