wait for primary

This commit is contained in:
Alex Holliday committed 2025-04-25 16:26:10 -07:00
1 parent 2e4faf81f4
commit 93e86b3280
1 file changed
+37 -27
+37 -27
View File
@@ -1,31 +1,41 @@
function waitForPrimary() {
while (true) {
try {
rs.initiate({
_id: "rs0",
members: [{ _id: 0, host: "localhost:27017" }],
});
break;
} catch (e) {
print("Replica set initiation failed, retrying in 2s...");
sleep(2000);
}
function initiateReplicaSet() {
try {
rs.initiate({
_id: "rs0",
members: [{ _id: 0, host: "localhost:27017" }],
});
} catch (e) {
print("Replica set already initiated or error occurred: " + e);
}
}
function waitForPrimary() {
while (true) {
const isMaster = db.isMaster();
if (isMaster.ismaster) {
print("This node is now PRIMARY.");
break;
}
print("Waiting to become PRIMARY...");
sleep(2000);
}
}
function createUser() {
db = db.getSiblingDB("uptime_db");
var username = process.env.USERNAME_ENV_VAR;
var password = process.env.PASSWORD_ENV_VAR;
db.createUser({
user: username,
pwd: password,
roles: [{ role: "readWrite", db: "uptime_db" }],
});
print("User '" + username + "' created successfully");
}
initiateReplicaSet();
waitForPrimary();
// Switch to uptime_db
db = db.getSiblingDB("uptime_db");
// Create app user
var username = _getEnv("USERNAME_ENV_VAR");
var password = _getEnv("PASSWORD_ENV_VAR");
db.createUser({
user: username,
pwd: password,
roles: [{ role: "readWrite", db: "uptime_db" }],
});
print("User '" + username + "' created successfully");
createUser();