Will,
  Thanks for the response. I know its a bit of a unique model -- but when
you think about it, it makes a decent amount of sense. We run hundreds of
nodes that are fundamentally similar .. i.e. "this is a web server, it gets
the XYZ package installed" and "this is a web server, it gets the ABC
package installed". Using hostnames to identify the systems node-definition
makes very little sense and leaves quite a bit of room for error.
Explicitly setting the node-type as a fact allows us to re-use the same
node types but for many different environments and keeps host-names out of
the mix. For example, I can quickly boot up a
"prod-mwise-dev-test-web-sever-thingy" using the same node definition as
our "prod-frontend-host" for some testing, without worrying about the
hostname regex structure.

  Anyways that said ... what I'm really interested in knowing is why the
puppet-agents are pulling DOWN their "node information" from the puppet
masters? Is it possible that they do an upload of node information, then
ask for that information back, then somehow use the downloaded information
for their catalog request? I could see some interesting race conditions if
that was the case.

Matt Wise
Sr. Systems Architect
Nextdoor.com


On Fri, Aug 22, 2014 at 7:11 PM, Wil Cooley <wcoo...@nakedape.cc> wrote:

>
> On Aug 22, 2014 7:37 AM, "Matt W" <m...@nextdoor.com> wrote:
> >
> > Anyone have any thoughts on this?
> >
>
> I have to say, using an identical node name as a way of assigning the
> node's role is an "interesting" approach. I would not be surprised if you
> run into other difficulties with this approach; some even harder to find.
> Even something like an appended unique identifier, such as from the host
> ID, MAC address, serial number, hashed SHA1, etc would have been better.
>
> Be that as it may, life would be dull if we didn't have to live with the
> sins of the past. You might check the config guide
> https://docs.puppetlabs.com/references/3.6.latest/configuration.html but
> in thinking about it, if you found a setting and tried to use a fact in it,
> you'd probably just get the master's fact.
>
> The reports, at least, should be easy - since they're pluggable, you could
> copy the existing "lib/puppet/reports/store.rb" to a new name & module and
> tweak the storage location.
>
> Wil
>
> > On Thursday, August 14, 2014 10:39:16 AM UTC-7, Matt W wrote:
> >>
> >> We noticed that our puppet reports and our puppet node data stored on
> our puppet servers is always written out in the form of the 'node name'. So
> when we use a node name like 'prod_webserver' across many webserver
> machines, we get a tree of reports and node data like this:
> >>
> >>> /var/lib/puppet/yaml/node/prod_web.yaml
> >>> /var/lib/puppet/yaml/facts/prod_web.yaml
> >>> /var/lib/puppet/reports/prod_web
> >>> /var/lib/puppet/reports/prod_web/201408130200.yaml
> >>> /var/lib/puppet/reports/prod_web/201408140811.yaml
> >>> /var/lib/puppet/reports/prod_web/201408121328.yaml
> >>> /var/lib/puppet/reports/prod_web/201408130743.yaml
> >>> /var/lib/puppet/reports/prod_web/201408140454.yaml
> >>
> >>
> >> Where each of those reports likely reflects a compilation run for a
> different host... and the facts/node files at the top are getting
> constantly re-written as new clients come in.
> >>
> >> Is there a way to change the behavior of the data there to be written
> out based on the ${::fqdn} of the host (or certname) rather than its node
> name?
> >>
> >> (our client puppet configs ...)
> >>>
> >>> [main]
> >>> ...
> >>>     node_name = facter
> >>>     node_name_fact = puppet_node
> >>
> >>
> >> (a client puppet fact file...)
> >>>
> >>> puppet_node=prod_web
> >>> puppet_environment=production
> >>> package=frontend=some-version-here
> >>> app_group=us1
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Puppet Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to puppet-users+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/40c0048d-fc90-4006-99da-98bfa9ba94a7%40googlegroups.com
> .
> >
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Puppet Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/puppet-users/adxt68xO210/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CAMmm3r5MwNDV%3DCEnxVrr4pL1w_Xi3byR5xphPxPZH3%3D2XgJdXQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/puppet-users/CAMmm3r5MwNDV%3DCEnxVrr4pL1w_Xi3byR5xphPxPZH3%3D2XgJdXQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAOHkZxNL_RbmL6Hzj1qOFas%3Dn4n4vUyemSE1Qro%2B2XF4pA9Otg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to