Open jontrainor opened 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.
:+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?
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/
Any movement on this front? I really need chef-solo
support for my project.
More info on my needs at caskdata/coopr-templates#11
+1
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.