On Thu, May 23, 2013 at 11:08 AM, Andy Parker <[email protected]> wrote:
> On Tue, May 21, 2013 at 3:03 PM, Wil Cooley <[email protected]> wrote: > >> On Tue, May 21, 2013 at 9:53 AM, Charlie Sharpsteen >> <[email protected]> wrote: >> >> > Could you provide a bit more information on what the entry in your >> /etc/hosts file looked like? It would be interesting to reproduce this >> behavior and see if everything is functioning as intended. >> >> >> Sure; in my /etc/hosts I had the following for my host-only vbox net: >> >> 192.168.56.1 coolair.local coolair >> >> With that in place: >> >> $ time ruby -rsocket -e "Socket.gethostbyname(Socket.gethostname)" >> real 0m10.013s >> >> And when I change it to: >> >> 192.168.56.1 coolair >> >> I get: >> >> $ time ruby -rsocket -e "Socket.gethostbyname(Socket.gethostname)" >> real 0m0.032s >> >> After a little tracing, it looks like it's the result of loading >> webrick in puppet/util/monkey_patches.rb: >> >> /Library/Ruby/Site/1.8/puppet/util/monkey_patches.rb:419::-: require >> 'webrick' >> >> Which was added in ec462b7b: (#18781) Be more tolerant of old clients >> in WEBrick server >> > > Thanks for tracking it down to that. Charlie and I traced it a bit further > and found that inside webrick it loads webrick/config.rb which sets up a > hash that contains the servername that is determined by calling > WEBrick::Util.getservername which does these reverse lookups. That explains > the mystery of simply loading some code causing a DNS lookup to occur. > > Looking at that patch, I'm not certain if we should simply revert it or > move that to another place in the code. My current thinking is that we > should simply revert it because it is only needed to support 2.6 and > earlier clients, which Puppet 3 does not support anyway (the policy is that > a master only supports one "major" version back for agents, and in the case > of 2.6 and 2.7 that means only 2.7 is supported, not 2.6). > Filed as https://projects.puppetlabs.com/issues/20901 and targeted for 3.2.2 > >> Since this is just twiddling a constant (does that count as >> monkey-patching?), wouldn't this maybe be better done in >> lib/puppet/network/http/webrick.rb? If I understand it correctly, >> these monkey-patches get applied for every invocation of puppet, even >> if it's just "puppet --version", so it seems like it should be as >> minimal as possible. >> >> For that matter, the two previous sections that monkey-patch openssl >> seem like they would be better off elsewhere; for example, the section >> "if Puppet::Util::Platform.windows?" that starts on line 398 seems >> like it might be better off somewhere in lib/puppet/util/windows*. >> >> (Sorry to gripe w/o a patch; I haven't a Windows system to test on nor >> do I know if I have a working setup for running the Puppet unit >> tests.) >> >> Wil >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/puppet-dev?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > -- > Andrew Parker > [email protected] > Freenode: zaphod42 > Twitter: @aparker42 > Software Developer > > *Join us at PuppetConf 2013, August 22-23 in San Francisco - * > http://bit.ly/pupconf13* > **Register now and take advantage of the Early Bird discount - save 25%!* > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/puppet-dev?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > Josh -- Josh Cooper Developer, Puppet Labs *Join us at PuppetConf 2013, August 22-23 in San Francisco - * http://bit.ly/pupconf13* **Register now and take advantage of the Early Bird discount - save 25%!* -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-dev?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
