i still have issue with the facter 1.5.1/2 on my freebsd boxes. It seems unable to find the 'domain' any more. I finish by taking the domain from the 'search' parameter in the resolv.conf wich is not good at all for me.
i browsed the code and i cannot find significant differences between the 1.5.0 and 1.5.2 for determining the hostname. I see that facter use the 'hostname' command to get the hostname. Would it be better to use: require "socket" Socket.gethostname as it is pure ruby and does not involve an external program ? Also in facter 1.5.2 if i modify the hostname code from: if name =~ /^([\w-]+)\.(.+)$/ hostname = $1 # the Domain class uses this $domain = $2 else hostname = name end to if name =~ /^([\w-]+)\.(.+)$/ hostname = $1 # the Domain class uses this $domain = 'mydomain.net' else hostname = name end (see i assign $domain a static value) facter still do not report the domain name as mydomain.net and continue to look in /etc/resolv.conf. It seems the domain value do not return to the domain.rb file when called in hostname.rb or that it is overwritten. If i remove the part that search the resolv.conf then it work again. This part seems to ovverride the first one, eash call of Facter.add(:domain) overwrite the one that is just before it it seems. Also in the facter code in (lib/facter/domain.rb) resolv.conf part it take the comments instead of just ignore them, if i comment the search line it still use it: if line =~ /search\s+(\S+)/ value = $1 break end the regex do not filter comments. should be something like if line =~ /^\s*search\s+(\S+)/ value = $1 break end From the resolv.conf manual i have : search Search list for host-name lookup. The search list is nor- mally determined from the local domain name; by default, it contains only the local domain name. This may be changed by listing the desired domain search path following the search keyword with spaces or tabs separating the names. Most resolver queries will be attempted using each component of the search path in turn until a match is found. Note that this process may be slow and will generate a lot of network traffic if the servers for the listed domains are not local, and that queries will time out if no server is available for one of the domains. therefor how can this be used to have the hostname ? Or this should refer to the default hostname as returned by host or this is nothing related to it therefor it seems that this part is not usefull at all ? -- Cordialement, Ghislain --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---