Galaxy deployment Meteor 1.5.1 Mongo Connection Error - SOLVED


#1

UPDATE: IP whitelisting problems. I added 0.0.0.0/0 in MongoDB Atlas Security list and it works.

I use Meteor 1.5.1 and a Mongo Atlas cluster using WiredTiger 3.2.13.

The connections to MongoDB work and I can access the cluster using MongoChef. I have checked carefully the configuration:

"MONGO_URL": "mongodb://cilicon-com-prod-meteor:PASSWORDMETEOR@com-shard-00-00-nmzt6.mongodb.net:27017,com-shard-00-01-nmzt6.mongodb.net:27017,com-shard-00-02-nmzt6.mongodb.net:27017/admin?ssl=true&replicaSet=COM-shard-0&authSource=admin",
"MONGO_OPLOG_URL": "mongodb://cilicon-com-prod-oplog:PASSWORDOPLOG@com-shard-00-00-nmzt6.mongodb.net:27017,com-shard-00-01-nmzt6.mongodb.net:27017,com-shard-00-02-nmzt6.mongodb.net:27017/local?ssl=true&replicaSet=COM-shard-0&authSource=admin",

I get the same error log every time as follows:

2017-07-17 18:17:32+08:00Application process starting, version 8
fzypq
2017-07-17 18:18:39+08:00
fzypq
2017-07-17 18:18:39+08:00/app/bundle/programs/server/node_modules/fibers/future.js:313
fzypq
2017-07-17 18:18:39+08:00	throw(ex);
fzypq
2017-07-17 18:18:39+08:00	^
fzypq
2017-07-17 18:18:39+08:00MongoError: no primary found in replicaset
fzypq
2017-07-17 18:18:39+08:00 at Object.Future.wait (/app/bundle/programs/server/node_modules/fibers/future.js:449:15)
fzypq
2017-07-17 18:18:39+08:00 at new MongoConnection (packages/mongo/mongo_driver.js:211:27)
fzypq
2017-07-17 18:18:39+08:00 at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16)
fzypq
2017-07-17 18:18:39+08:00 at Object.<anonymous> (packages/mongo/remote_collection_driver.js:38:10)
fzypq
2017-07-17 18:18:39+08:00 at Object.defaultRemoteCollectionDriver (packages/underscore.js:784:19)
fzypq
2017-07-17 18:18:39+08:00 at new Mongo.Collection (packages/mongo/collection.js:99:40)
fzypq
2017-07-17 18:18:39+08:00 at AccountsServer.AccountsCommon (packages/accounts-base/accounts_common.js:23:18)
fzypq
2017-07-17 18:18:39+08:00 at new AccountsServer (packages/accounts-base/accounts_server.js:18:5)
fzypq
2017-07-17 18:18:39+08:00 at meteorInstall.node_modules.meteor.accounts-base.server_main.js (packages/accounts-base/server_main.js:9:12)
fzypq
2017-07-17 18:18:39+08:00 at fileEvaluate (packages/modules-runtime.js:333:9)
fzypq
2017-07-17 18:18:39+08:00 - - - - -
fzypq
2017-07-17 18:18:39+08:00 at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/replset.js:524:28
fzypq
2017-07-17 18:18:39+08:00 at [object Object].<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/replset.js:303:24)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].g (events.js:260:16)
fzypq
2017-07-17 18:18:39+08:00 at emitOne (events.js:77:13)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].emit (events.js:169:7)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/server.js:326:21)
fzypq
2017-07-17 18:18:39+08:00 at emitOne (events.js:77:13)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].emit (events.js:169:7)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:270:12)
fzypq
2017-07-17 18:18:39+08:00 at [object Object].g (events.js:260:16)
fzypq
2017-07-17 18:18:40+08:00Application exited with code: 1
fzypq
2017-07-17 18:18:43+08:00The container has crashed. A new container will be started to replace it.

I have tried and looked everywhere but cannot find any clue on how to fix this. Any help would be greatly appreciated.


#2

How did you solve this please?


#3

I added 0.0.0.0/0 in MongoDB Atlas Security list and it works.

The problem is that you need to whitelist Galaxy IP in MongoDB Atlas Security list. Galaxy uses a range of IPs (and ports) or if you use Galaxy professional (cost more) you get dedicated IP for your containers. Best is to whitelist only the range from Galaxy or use Galaxy Professional.