| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- (function () {
- const rsName = 'rs0';
- const host = 'box-mongodb:27017';
- const j = (x) => {
- try {
- return JSON.stringify(x);
- } catch (e) {
- return String(x);
- }
- };
- try {
- const st = rs.status();
- if (st && st.ok === 1) {
- print('[init-rs] Replica set already initialized. ok=1');
- quit(0);
- }
- } catch (e) {
- // not initialized yet => continue
- }
- const cfg = { _id: rsName, members: [{ _id: 0, host }] };
- try {
- const res = rs.initiate(cfg);
- print('[init-rs] rs.initiate:', j(res));
- } catch (e) {
- print('[init-rs] rs.initiate error:', String(e));
- }
- // wait for ok
- for (let i = 0; i < 60; i++) {
- try {
- const st2 = rs.status();
- if (st2 && st2.ok === 1) {
- print('[init-rs] Replica set OK. status:', j(st2));
- quit(0);
- }
- } catch (e) {}
- sleep(1000);
- }
- print('[init-rs] Replica set NOT OK after timeout');
- quit(1);
- })();
|