logo       

Re: client update to 0.23.2: "Could not find value for": msg#00227

sysutils.puppet.user

Subject: Re: client update to 0.23.2: "Could not find value for"

On 20/10/2007, at 01:58, David Escala wrote:
>
> On 19/10/2007, at 20:13, Luke Kanies wrote:
>
>> On Oct 19, 2007, at 8:08 AM, David Escala wrote:
>>
>>> hi all,
>>>
>>> we maintain about 30 puppet managed nodes. the version of the
>>> clients is 0.23.0 and 0.23.1. the master is 0.23.0.
>>>
>>> today we installed a new CentOS 5 node with David Lutterkort's
>>> puppet 0.23.2 rpm. this host is a reinstall of an old FC4 on new
>>> hardware.
>>>
>>> we are getting this error on 0.23.2, never happened before:
>>>
>>> | Could not retrieve configuration:
>>> | Failed to parse template ssh/ssh_config.erb:
>>> | Could not find value for 'initr_ports' at /var/lib/puppet/modules/
>>> ssh/manifests/init.pp:17
>>>
>>> this is the external nodes yaml:
>>> [...]
>>> as you can see "initr_ports" is defined, but the ssh module does
>>> not see it? has variable scope changed in 023.2? (this worked 10
>>> minutes ago with client 0.23.1 on FC4)
>>
>> If you've only upgraded a client and not a server... then you
>> shouldn't see any difference at all, because the external nodes and
>> templating are both entirely server-side.
>>
>> Is there something else about your configuration we might need to
>> know?
>
> you are right. it is a server issue. happens in all clients.
>
> we are not getting reports (tagmail) on this error, and only noticed
> it when installing a new node from scratch. looks like it stopped
> working some time ago, but it used to work. al least one time for
> each node :)
>
> puppetmaster calls the external_nodes script correctly. and this
> script produces a correct yaml. it seems puppetmaster is getting the
> classes array right, but not the parameters hash.
>
> notice("initr_ports='$initr_ports'") on site.ini gives an empty
> initr_ports='' in the log.
>
> is there a way to debug this on the puppetmaster?
>
> this is the server's puppet.conf:
>
> [main]
> servertype = mongrel
> external_nodes = ...
> ....
> [puppetmasterd]
> masterport = 8000
> reports = tagmail2
> storeconfigs = true
> db.....

we solved it.

we where including a class outside any node or class, in site.pp:

# includes a class called after the node FQDN
if defined($fqdnclass) { include $fqdnclass }

if this code includes a class, and the same class is also given by
the external_nodes script, then all the external_nodes parameters are
unavailable to that classes.

when we moved this code from the "main scope" to a class we always
include, it worked as expected.

thank you for you patience,

d.


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise