Open dgarstang opened 10 years ago
The search for the config nodes? If you use IP addresses and one of the servers dies, or needs to be rebuilt, you need to take complete downtime to change it. If you use a CNAME, you can change the server behind it.
That said, you should be able to set node['mongodb']['config']['configdb']
to whatever you like. See https://github.com/edelight/chef-mongodb/blob/master/definitions/mongodb.rb#L42
supporting arbitrarily discovered servers is a goal of #221. I'd like us to support service discovery through node attributes, arbitrary chef queries (with hostname set by an arbitrary node attribute), or potentially any other system.
It's not really worth doing a makeshift implementation because the mechanism for selecting an ipaddress cannot be naive, different cases would require node.ipaddress
, node.cloud.public_ipv4
, node.cloud.private_ipv6
&c.
But seriously, any significant installation is going to need well run DNS to work effectively for a great many tasks. IP addresses should only be used for situations where DNS failure would make the problem worse. This could be the case for many syslog, snmp or statsd installations.
And don't get me started about IPv4.
You trailed off a bit at the end there.
Sorry, my laptop battery died. I updated the above.
I think this request can be satisfied by directly allow the user to override the replSet list themselves.
I have a similar problem recently with a DNS failure which meant the replicaset broke as there is no way to override the replicaset list as seen here: https://github.com/edelight/chef-mongodb/blob/bd92ed176af2efdaefb1016b732a239d3e199be6/libraries/mongodb.rb
your fix allows to use IP Addresses with MongoS but not regular ReplicaSets - any suggestions?
I guess this is more of a feature request.
The search performed in the mongos recipe returns FQDN's, which means they have to exist in DNS first. Returning IP's (why would you ever want to return FQDN's?) would be better, faster and remove the DNS dependancy.
At least provide an option to choose...