edelight / chef-mongodb

MongoDB Chef cookbook
https://community.opscode.com/cookbooks/mongodb
Apache License 2.0
362 stars 3 forks source link

Document configuring a replica set with chef-solo #186

Open jontrainor opened 10 years ago

jontrainor commented 10 years ago

Maybe this is out of scope, but I spent some time trying to configure a replica set using chef-solo and could not get it to work properly. Search is not implemented in chef-solo and chef-solo-search will not help in this case because chef-solo does not have persisting nodes.

If there is a way to accomplish this with chef-solo an example in the documents would be very helpful. If it is not possible, then that would be helpful to include in the documents.

josephholsten commented 10 years ago

Yeah, looking at https://github.com/edelight/chef-mongodb/blob/master/definitions/mongodb.rb#L165, I'd say that a replica set only finds the members via search atm.

We should doc that it isn't currently supported in chef-solo.

Also, looking through Mongodb.configure_replicaset, I see that it expects to receive chef nodes as members. So it's grabbing member['fqdn'] and member['mongodb']['port'] and lots of other things. I think we'll need to rework this function entirely to support chef-solo.

jeremyolliver commented 10 years ago

:+1: Probably the best bet is supporting specifying the IP addresses and optionally ports, of the expected members via either attributes, or a data bag.

Would a particular IP address need to be flagged as for example an arbiter as well, or would actually connecting the rs nodes take care of discovering that a node is configured that way?

jamesonjlee commented 10 years ago

this sounds like a good idea. For arbiters you have to call a different method to add them to the pool, normally it's rs.add(), for arbiter it's rs.addArb(). This is why the arbiter stuff are in a separate attribute group.

http://docs.mongodb.org/manual/tutorial/add-replica-set-arbiter/

wolf31o2 commented 9 years ago

Any movement on this front? I really need chef-solo support for my project.

wolf31o2 commented 9 years ago

More info on my needs at caskdata/coopr-templates#11

tony612 commented 9 years ago

+1