Task a lot Dan... I will use that, though I was hoping for a solution
using the inventory service...It looks like one needs to know the
environment first, before speaking to it:

 http://docs.puppetlabs.com/guides/rest_api.html#facts

Mohamed.

On Mon, Oct 17, 2011 at 11:40 AM, Dan Bode <d...@puppetlabs.com> wrote:
> The client's environment is stored as a fact. Facts are saved before the ENC
> is called. By default, they will be saved to
> /var/lib/puppet/yaml/facts/NODE_NAME/TIMESTAMP.yaml
>
> An ENC can read a client's latest environment and other facts from this
> location.
>
> -Dan
>
> On Mon, Oct 17, 2011 at 8:25 AM, Mohamed Lrhazi <lrh...@gmail.com> wrote:
>>
>> To be clearer.. am asking about "ENC setting the environment", just
>> 'finding it out".
>>
>>
>> On Mon, Oct 17, 2011 at 11:23 AM, Mohamed Lrhazi <lrh...@gmail.com> wrote:
>> > On Mon, Oct 17, 2011 at 8:53 AM, jcbollinger <john.bollin...@stjude.org>
>> > wrote:
>> >>
>> >>
>> >> On Oct 16, 6:38 pm, Mohamed Lrhazi <lrh...@gmail.com> wrote:
>> >>> I tried to work around the problem by having a copy of the ENC per
>> >>> environment, which would work for me too... but then that does not
>> >>> work either:
>> >>>
>> >>> external_nodes =
>> >>> /etc/puppet/environments/$environment/gu-enc/gu-enc.py
>> >>>
>> >>> In the above, $environment evaluates to "production" even though my
>> >>> "puppet agent" call specified a different environment.
>> >>>
>> >>> I guess the above is evaluated on master's start up, only once, not
>> >>> per client invocation.
>> >>>
>> >>> Thanks a lot,
>> >>> Mohamed.
>> >>>
>> >>> On Sun, Oct 16, 2011 at 1:26 PM, Mohamed Lrhazi <lrh...@gmail.com>
>> >>> wrote:
>> >>> > Hello,
>> >>>
>> >>> > I started writing an ENC and run into what seems like a chicken and
>> >>> > egg problem...
>> >>>
>> >>> > I was starting off by getting the client's facts from the inventory
>> >>> > service by getting:
>> >>>
>> >>> >https://puppetmaster:8140/production/facts/$client_hostname
>> >>>
>> >>> > and then was getting the "environment" from the fact named
>> >>> > "environment"
>> >>>
>> >>> > then I realized that "production" in the previous URL is the
>> >>> > environment I am querying!
>> >>>
>> >>> > Is there another way of finding the environment that the client is
>> >>> > providing to the master?
>> >>
>> >>
>> >> The client may specify in its puppet.conf which environment it thinks
>> >> it is in (key 'environment').  The ENC may also specify which
>> >> environment a client is in by setting the variable "environment", but
>> >> see http://projects.puppetlabs.com/issues/3910 for problems related to
>> >> that.  Your master can specify the default environment for nodes that
>> >> do not otherwise specify one, via the "environment" key in the
>> >> [master] section of their own puppet.conf.  I'm not sure offhand
>> >> whether something like 3910 applies if the default is changed.  This
>> >> is all covered in the External Nodes Guide and the puppet.conf
>> >> documentation.
>> >>
>> >>
>> >
>> > Thanks a lot John... I tried and could not find my answer in the docs.
>> > my specific question is:
>> >
>> > - When the master calls my ENC, it knows what the environment of the
>> > client is, regardless of where it got it from, right?
>> > - All the master passes to the ENC is the clients' cert name, nothing
>> > else.
>> >
>> > My question is whether there is a way for the ENC to find that
>> > environment or not?
>> >
>> > Thanks a lot,
>> > Mohamed.
>> >
>>
>> --
>> 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
>> puppet-users+unsubscr...@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-users@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users+unsubscr...@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-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to