-- Joe McDonagh AIM: YoosingYoonickz IRC: joe-mac on freenode "When the going gets weird, the weird turn pro."
On Tue, May 11, 2010 at 3:19 PM, R.I.Pienaar <r...@devco.net> wrote:++
>
> ----- "Brian Gallew" <ge...@gallew.org> wrote:
>
>> in nodes and have them propagate to their children, then I submit that
>> nodes are so fundamentally broken as to make node inheritance
>> completely useless, in which case node inheritance should be pulled.
>
> that sums it up well.
I haven't even told my users that nodes can do inheritance, as I
haven't yet come across any reason to do so.
>
> --
> You received this message because you are subscribed to the Google Groups "Puppet Users" group.--
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
>
>
nigel
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
And the absolute killer: as far as I know, external node classifiers
are global, not per environment. It doesn't even get to know which
environment the node requested, so it is *impossible* for it to give
back the correct information to Puppet.
On Thu, 13 May 2010, Ohad Levy wrote:Really? Did feature #2834 get implemented while I wasn't paying attention?
> > And the absolute killer: as far as I know, external node classifiers
> > are global, not per environment. It doesn't even get to know which
> > environment the node requested, so it is *impossible* for it to give
> > back the correct information to Puppet.
> >
> thats not correct (at least in the case of http://theforeman.org).
--apb (Alan Barrett)
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Wed, May 12, 2010 at 9:25 AM, Alan Barrett <a...@cequrux.com> wrote:On Thu, 13 May 2010, Ohad Levy wrote:Really? Did feature #2834 get implemented while I wasn't paying attention?
> > And the absolute killer: as far as I know, external node classifiers
> > are global, not per environment. It doesn't even get to know which
> > environment the node requested, so it is *impossible* for it to give
> > back the correct information to Puppet.
> >
> thats not correct (at least in the case of http://theforeman.org).
there is a workaround for it (although your feature is valid and should be implemented) . The external classifier can access client facts from the $vardir/yaml/facts. Ohad said it's possible, not that its pretty ;)
--apb (Alan Barrett)
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Wed, May 12, 2010 at 9:35 AM, Dan Bode <d...@puppetlabs.com> wrote:On Wed, May 12, 2010 at 9:25 AM, Alan Barrett <a...@cequrux.com> wrote:On Thu, 13 May 2010, Ohad Levy wrote:Really? Did feature #2834 get implemented while I wasn't paying attention?
> > And the absolute killer: as far as I know, external node classifiers
> > are global, not per environment. It doesn't even get to know which
> > environment the node requested, so it is *impossible* for it to give
> > back the correct information to Puppet.
> >
> thats not correct (at least in the case of http://theforeman.org).
there is a workaround for it (although your feature is valid and should be implemented) . The external classifier can access client facts from the $vardir/yaml/facts. Ohad said it's possible, not that its pretty ;)
Assuming the client has puppeted at least once against that server. This won't work for bootstrapping a client though will it?
On Wed, May 12, 2010 at 9:55 AM, Nigel Kersten <nig...@google.com> wrote:On Wed, May 12, 2010 at 9:35 AM, Dan Bode <d...@puppetlabs.com> wrote:On Wed, May 12, 2010 at 9:25 AM, Alan Barrett <a...@cequrux.com> wrote:On Thu, 13 May 2010, Ohad Levy wrote:Really? Did feature #2834 get implemented while I wasn't paying attention?
> > And the absolute killer: as far as I know, external node classifiers
> > are global, not per environment. It doesn't even get to know which
> > environment the node requested, so it is *impossible* for it to give
> > back the correct information to Puppet.
> >
> thats not correct (at least in the case of http://theforeman.org).
there is a workaround for it (although your feature is valid and should be implemented) . The external classifier can access client facts from the $vardir/yaml/facts. Ohad said it's possible, not that its pretty ;)
Assuming the client has puppeted at least once against that server. This won't work for bootstrapping a client though will it?
it does, the facts yaml file is created before the external node classifier is called ;)
>>> Assuming the client has puppeted at least once against that server. This+1000
>>> won't work for bootstrapping a client though will it?
>>
>> it does, the facts yaml file is created before the external node
>> classifier is called ;)
>
> Whoa. This should be called out in the external node docs, as I simply
> assumed this happened after the node classifier is called.
On Fri, May 14, 2010 at 1:42 PM, Paul Lathrop <paul.l...@gmail.com> wrote:>>> Assuming the client has puppeted at least once against that server. This+1000
>>> won't work for bootstrapping a client though will it?
>>
>> it does, the facts yaml file is created before the external node
>> classifier is called ;)
>
> Whoa. This should be called out in the external node docs, as I simply
> assumed this happened after the node classifier is called.
I did some tests as I didn't quite trust this :) and it's absolutely true.So my plan is for my external node provider
to redirect clients that haven't provided facts to a "bootstrap" environment that contains the bare minimum facts that are required to work out what environment they should be in, and then my puppetd wrapper scripts to detect that a bootstrap run has occurred (probably a file set to be present on the bootstrap run and absent on all other runs) and re-run.
How could we achieve the same functionality within puppetd itself? I can't think of a way this could be done right now with it running as a daemon.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Fri, May 14, 2010 at 6:01 PM, Nigel Kersten <nig...@google.com> wrote:On Fri, May 14, 2010 at 1:42 PM, Paul Lathrop <paul.l...@gmail.com> wrote:>>> Assuming the client has puppeted at least once against that server. This+1000
>>> won't work for bootstrapping a client though will it?
>>
>> it does, the facts yaml file is created before the external node
>> classifier is called ;)
>
> Whoa. This should be called out in the external node docs, as I simply
> assumed this happened after the node classifier is called.
I did some tests as I didn't quite trust this :) and it's absolutely true.So my plan is for my external node provider
do you mean node classifier? Are you using provider in the traditional Puppet sense?
to redirect clients that haven't provided facts to a "bootstrap" environment that contains the bare minimum facts that are required to work out what environment they should be in, and then my puppetd wrapper scripts to detect that a bootstrap run has occurred (probably a file set to be present on the bootstrap run and absent on all other runs) and re-run.
Nigel, I think this answers your question:
write a fact that returns the current environment.
during provisioning, set environment to 'bootstrap'.
in your classifier, set a parameter called $puppet_environment that is used in your puppet class to update environment in puppet.conf.
How could we achieve the same functionality within puppetd itself? I can't think of a way this could be done right now with it running as a daemon.--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.