Feature #2536

Cache Puppet server IP

Added by Christian Hofstaedtler almost 3 years ago. Updated about 1 year ago.

Status:Closed Start date:08/13/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:network
Target version:-
Affected Puppet version: Branch:
Keywords:
Votes: 0

Description

Seems like currently the IP associated with the puppet server name is not cached on the client, but gets queried again from DNS all the time during a client run. Ideally, I think, the client should resolve the name when starting a run, and cache the IP until the run is complete.

As I’ve only noticed on our production systems, I’m setting targeting this report against 0.24.5. Maybe this is already fixed in newer versions, but I didn’t find a ticket for it.

History

Updated by James Turnbull almost 3 years ago

  • Status changed from Unreviewed to Needs Decision
  • Assignee set to Luke Kanies
  • Affected Puppet version changed from 0.24.5 to 0.25.0rc1

This is still a potential issue.

Updated by Christian Hofstaedtler over 2 years ago

Also, reverse DNS of clients connecting should also be cached on the master side. Right now each request turns into at least one DNS lookup.

Updated by Luke Kanies about 2 years ago

  • Status changed from Needs Decision to Accepted
  • Assignee deleted (Luke Kanies)
  • Target version set to 2.7.x

I think we’ve now got multiple tickets related to server resolution, so we should probably target the lot of them in statler.

Updated by Nigel Kersten about 1 year ago

  • Status changed from Accepted to Closed
  • Affected Puppet version deleted (0.25.0rc1)

This would entirely break everyone using round robin DNS to load balance individual operations.

Can you not configure your local cache node-side to achieve this?

Updated by Nigel Kersten about 1 year ago

  • Target version deleted (2.7.x)

Updated by Christian Hofstaedtler about 1 year ago

Nigel Kersten wrote:

This would entirely break everyone using round robin DNS to load balance individual operations.

Can you not configure your local cache node-side to achieve this?

Local cache would imply running a local DNS caching resolver, as, on Linux, nscd is mostly broken and especially unreliable for hostname lookups. Running a full blown DNS resolver on each node is a bit of overkill ;)

At least for catalog operations, there was discussion that round robin DNS ain’t any good anyway, as there are >1 requests needed to compile a catalog, so a node has to target the same puppetmaster for each run. If this has changed in the meantime, yay!

Updated by Nigel Kersten about 1 year ago

Oh yes, that totally changed!

As of 0.25.x you can use round robin safely, and we have a lot of people doing it.

I’m reasonably fond of http://code.google.com/p/nsscache/ to make up for nscd inadequacies :)

Also available in: Atom PDF