edelight/chef-mongodb

issues with replicaset configuration

Opened this issue · 3 comments

I'm guessing I am missing something obvious since if this didn't work I would expect more issues about this. I am trying to setup a cluster with replica set rs1 which consists of shard1 (shard name) and replica set rs2 which consists of shard2 (shard name). Everything seems to work ok but I get the following error from Shard1:

ERROR: configuring replicaset returned: {"errmsg"=>"exception: need most members up to reconfigure, not ok : shard2:27017", "code"=>13144, "ok"=>0.0}

Shard2 is running and I can manually run the rs.initiate() on both systems and they work find. It seems to me the issue is that the search for rs_nodes will return all systems that belong to a cluster regardless of what replicaset they belong to. Am I wrong? Am I missing something? If so, this seems wrong or am I wrong?

rs_nodes = search(
:node,
"mongodb_cluster_name:#{new_resource.replicaset['mongodb']['cluster_name']} AND
mongodb_is_replicaset:true AND
mongodb_shard_name:#{new_resource.replicaset['mongodb']['shard_name']} AND
chef_environment:#{new_resource.replicaset.chef_environment}"
)

seems to be related to the other one, search is :|

I am using test-kitchen and having a similar issue where I need to run rs.initiate() manually. I only have one node to configure though as I am not currently aware how to setup multiple nodes through test-kitchen.

@jonaldomo your issue is probably the same as #376: the server is not ready yet to accept replicaset configuration as it is not fully started yet.