I recently moved to Puppet 2.6.4. Prior to this I was using the
available RPMS for RHEL which were 2.6.3. The reason I moved to the
source 2.6.4 is that I wanted to update to Ruby 1.8.7 to see if that
corrected the errors I was getting when trying to use Store Configs.
Anyways, I compiled Ruby 1.8.7 from source into /usr/local/bin. I then
installed Facter and Puppet into the same prefix.
However now I can not get external nodes to work. On the client it
gives:
err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Could not find node ''lv00052p.encana.com''; cannot
compile
From the log I see:
Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing ''/usr/bin/
cobbler-ext-nodes lv00052p.encana.com''
Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to find
lv00052p.encana.com via exec: Execution of ''/usr/bin/cobbler-ext-nodes
lv00052p.encana.com'' returned 1:
Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not find node
''lv00052p.encana.com''; cannot compile
However, if I run
/usr/bin/cobbler-ext-nodes lv00052p.encana.com
By hand it returns error code 0 and the following results:
classes: [dev_wes]
parameters: {env: dev, from_cobbler: 1, media_path: /ks/dist/dev-ks-
rhel-x86_64-server-5-u5,
org: 1, passwd_mode: compat, redhat_management_type: ''off'',
stype:
wes}
This all worked prior to upgrading to 2.6.4.
Also, my config is:
[main]
# The Puppet log directory.
# The default value is ''$vardir/log''.
logdir = /var/log/puppet
# Where Puppet PID files are kept.
# The default value is ''$vardir/run''.
rundir = /var/run/puppet
# Where SSL certificates are kept.
# The default value is ''$confdir/ssl''.
ssldir = $vardir/ssl
[agent]
# The file in which puppetd stores a list of the classes
# associated with the retrieved configuratiion. Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is ''$confdir/classes.txt''.
classfile = $vardir/classes.txt
# Where puppetd caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is ''$confdir/localconfig''.
localconfig = $vardir/localconfig
[master]
# The main Puppet configuration directory. The default for this
# parameter is calculated based on the user.
confdir = /puppet/production
# Where Puppet stores dynamic and growing data. The default for
this
# parameter is calculated specially, like confdir.
# The default value is ''/var/lib/puppet''.
vardir = /var/lib/puppet
# external node lookup via cobbler
external_nodes = /usr/bin/cobbler-ext-nodes
node_terminus = exec
reports = tagmail
tagmap = $confdir/tagmail.conf
# enable store configs
#storeconfigs = true
# use Postgres for store configs
#dbadapter = postgresql
#dbuser = puppet
#dbpassword = puppet
#dbserver = ls00034p
[development]
manifest = $confdir/manifests/dev_site.pp
[tqa]
manifest = $confdir/manifests/tqa_site.pp
Any help would be appreciated.
Thanks
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
On Mon, Feb 28, 2011 at 3:36 PM, cyrus <matthewceroni@gmail.com> wrote:> I recently moved to Puppet 2.6.4. Prior to this I was using the > available RPMS for RHEL which were 2.6.3. The reason I moved to the > source 2.6.4 is that I wanted to update to Ruby 1.8.7 to see if that > corrected the errors I was getting when trying to use Store Configs. > > Anyways, I compiled Ruby 1.8.7 from source into /usr/local/bin. I then > installed Facter and Puppet into the same prefix. > > However now I can not get external nodes to work. On the client it > gives: > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Could not find node ''lv00052p.encana.com''; cannot compile > > From the log I see: > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing ''/usr/bin/ > cobbler-ext-nodes lv00052p.encana.com'' > Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to find > lv00052p.encana.com via exec: Execution of ''/usr/bin/cobbler-ext-nodes > lv00052p.encana.com'' returned 1: > Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not find node > ''lv00052p.encana.com''; cannot compile > > However, if I run > > /usr/bin/cobbler-ext-nodes lv00052p.encana.comCan you execute this as the puppet user? If you run passenger, the owner of the config.ru file? Thanks, Nan> By hand it returns error code 0 and the following results: > > classes: [dev_wes] > parameters: {env: dev, from_cobbler: 1, media_path: /ks/dist/dev-ks- > rhel-x86_64-server-5-u5, > org: 1, passwd_mode: compat, redhat_management_type: ''off'', stype: > wes} > > This all worked prior to upgrading to 2.6.4. > > Also, my config is: > > > [main] > # The Puppet log directory. > # The default value is ''$vardir/log''. > logdir = /var/log/puppet > > # Where Puppet PID files are kept. > # The default value is ''$vardir/run''. > rundir = /var/run/puppet > > # Where SSL certificates are kept. > # The default value is ''$confdir/ssl''. > ssldir = $vardir/ssl > > [agent] > # The file in which puppetd stores a list of the classes > # associated with the retrieved configuratiion. Can be loaded in > # the separate ``puppet`` executable using the ``--loadclasses`` > # option. > # The default value is ''$confdir/classes.txt''. > classfile = $vardir/classes.txt > > # Where puppetd caches the local configuration. An > # extension indicating the cache format is added automatically. > # The default value is ''$confdir/localconfig''. > localconfig = $vardir/localconfig > > [master] > # The main Puppet configuration directory. The default for this > # parameter is calculated based on the user. > confdir = /puppet/production > > # Where Puppet stores dynamic and growing data. The default for > this > # parameter is calculated specially, like confdir. > # The default value is ''/var/lib/puppet''. > vardir = /var/lib/puppet > > # external node lookup via cobbler > external_nodes = /usr/bin/cobbler-ext-nodes > node_terminus = exec > > reports = tagmail > tagmap = $confdir/tagmail.conf > > # enable store configs > #storeconfigs = true > # use Postgres for store configs > #dbadapter = postgresql > #dbuser = puppet > #dbpassword = puppet > #dbserver = ls00034p > > [development] > manifest = $confdir/manifests/dev_site.pp > > [tqa] > manifest = $confdir/manifests/tqa_site.pp > > Any help would be appreciated. > > Thanks > > -- > 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+unsubscribe@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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Yes. The file is executable by everyone. Plus this worked prior to installing Ruby 1.8.7 and Puppet 2.6.4. On Feb 28, 3:40 pm, Nan Liu <n...@puppetlabs.com> wrote:> On Mon, Feb 28, 2011 at 3:36 PM, cyrus <matthewcer...@gmail.com> wrote: > > I recently moved to Puppet 2.6.4. Prior to this I was using the > > available RPMS for RHEL which were 2.6.3. The reason I moved to the > > source 2.6.4 is that I wanted to update to Ruby 1.8.7 to see if that > > corrected the errors I was getting when trying to use Store Configs. > > > Anyways, I compiled Ruby 1.8.7 from source into /usr/local/bin. I then > > installed Facter and Puppet into the same prefix. > > > However now I can not get external nodes to work. On the client it > > gives: > > > err: Could not retrieve catalog from remote server: Error 400 on > > SERVER: Could not find node ''lv00052p.encana.com''; cannot compile > > > From the log I see: > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing ''/usr/bin/ > > cobbler-ext-nodes lv00052p.encana.com'' > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to find > > lv00052p.encana.com via exec: Execution of ''/usr/bin/cobbler-ext-nodes > > lv00052p.encana.com'' returned 1: > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not find node > > ''lv00052p.encana.com''; cannot compile > > > However, if I run > > > /usr/bin/cobbler-ext-nodes lv00052p.encana.com > > Can you execute this as the puppet user? If you run passenger, the > owner of the config.ru file? > > Thanks, > > Nan > > > By hand it returns error code 0 and the following results: > > > classes: [dev_wes] > > parameters: {env: dev, from_cobbler: 1, media_path: /ks/dist/dev-ks- > > rhel-x86_64-server-5-u5, > > org: 1, passwd_mode: compat, redhat_management_type: ''off'', stype: > > wes} > > > This all worked prior to upgrading to 2.6.4. > > > Also, my config is: > > > [main] > > # The Puppet log directory. > > # The default value is ''$vardir/log''. > > logdir = /var/log/puppet > > > # Where Puppet PID files are kept. > > # The default value is ''$vardir/run''. > > rundir = /var/run/puppet > > > # Where SSL certificates are kept. > > # The default value is ''$confdir/ssl''. > > ssldir = $vardir/ssl > > > [agent] > > # The file in which puppetd stores a list of the classes > > # associated with the retrieved configuratiion. Can be loaded in > > # the separate ``puppet`` executable using the ``--loadclasses`` > > # option. > > # The default value is ''$confdir/classes.txt''. > > classfile = $vardir/classes.txt > > > # Where puppetd caches the local configuration. An > > # extension indicating the cache format is added automatically. > > # The default value is ''$confdir/localconfig''. > > localconfig = $vardir/localconfig > > > [master] > > # The main Puppet configuration directory. The default for this > > # parameter is calculated based on the user. > > confdir = /puppet/production > > > # Where Puppet stores dynamic and growing data. The default for > > this > > # parameter is calculated specially, like confdir. > > # The default value is ''/var/lib/puppet''. > > vardir = /var/lib/puppet > > > # external node lookup via cobbler > > external_nodes = /usr/bin/cobbler-ext-nodes > > node_terminus = exec > > > reports = tagmail > > tagmap = $confdir/tagmail.conf > > > # enable store configs > > #storeconfigs = true > > # use Postgres for store configs > > #dbadapter = postgresql > > #dbuser = puppet > > #dbpassword = puppet > > #dbserver = ls00034p > > > [development] > > manifest = $confdir/manifests/dev_site.pp > > > [tqa] > > manifest = $confdir/manifests/tqa_site.pp > > > Any help would be appreciated. > > > Thanks > > > -- > > 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+unsubscribe@googlegroups.com. > > For more options, visit this group athttp://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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
I have some more info. notice: Starting Puppet master version 2.6.5 info: mount[files]: allowing * access debug: No modules mount given; autocreating with default permissions debug: No plugins mount given; autocreating with default permissions debug: Finishing transaction 23799637825120 info: access[^/catalog/([^/]+)$]: allowing ''method'' find info: access[^/catalog/([^/]+)$]: allowing $1 access info: access[/certificate_revocation_list/ca]: allowing ''method'' find info: access[/certificate_revocation_list/ca]: allowing * access info: access[/report]: allowing ''method'' save info: access[/report]: allowing * access info: access[/file]: allowing * access info: access[/certificate/ca]: adding authentication no info: access[/certificate/ca]: allowing ''method'' find info: access[/certificate/ca]: allowing * access info: access[/certificate/]: adding authentication no info: access[/certificate/]: allowing ''method'' find info: access[/certificate/]: allowing * access info: access[/certificate_request]: adding authentication no info: access[/certificate_request]: allowing ''method'' find info: access[/certificate_request]: allowing ''method'' save info: access[/certificate_request]: allowing * access info: access[/]: adding authentication any info: Inserting default ''/status''(auth) acl because none where found in ''/puppet/development/auth.conf'' info: mount[files]: allowing * access info: Expiring the node cache of lv1764p.xxxxxxx.com info: Not using expired node for lv1764p.xxxxxx.com from cache; expired at Tue Mar 01 10:36:31 -0700 2011 debug: Executing ''/usr/local/bin/external-node lv1764p.xxxxx.com'' wrong number of arguments (2 for 1) err: Failed to find lv1764p.xxxxxx.com via exec: Execution of ''/usr/ local/bin/external-node lv1764p.xxxxx.com'' returned 1: err: Could not find node ''lv1764p.xxxxxx.com''; cannot compile Notice the wrong number of arguments (2 for 1) message. On Mar 1, 8:59 am, cyrus <matthewcer...@gmail.com> wrote:> Yes. The file is executable by everyone. Plus this worked prior to > installing Ruby 1.8.7 and Puppet 2.6.4. > > On Feb 28, 3:40 pm, Nan Liu <n...@puppetlabs.com> wrote: > > > On Mon, Feb 28, 2011 at 3:36 PM, cyrus <matthewcer...@gmail.com> wrote: > > > I recently moved to Puppet 2.6.4. Prior to this I was using the > > > available RPMS for RHEL which were 2.6.3. The reason I moved to the > > > source 2.6.4 is that I wanted to update to Ruby 1.8.7 to see if that > > > corrected the errors I was getting when trying to use Store Configs. > > > > Anyways, I compiled Ruby 1.8.7 from source into /usr/local/bin. I then > > > installed Facter and Puppet into the same prefix. > > > > However now I can not get external nodes to work. On the client it > > > gives: > > > > err: Could not retrieve catalog from remote server: Error 400 on > > > SERVER: Could not find node ''lv00052p.encana.com''; cannot compile > > > > From the log I see: > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing ''/usr/bin/ > > > cobbler-ext-nodes lv00052p.encana.com'' > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to find > > > lv00052p.encana.com via exec: Execution of ''/usr/bin/cobbler-ext-nodes > > > lv00052p.encana.com'' returned 1: > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not find node > > > ''lv00052p.encana.com''; cannot compile > > > > However, if I run > > > > /usr/bin/cobbler-ext-nodes lv00052p.encana.com > > > Can you execute this as the puppet user? If you run passenger, the > > owner of the config.ru file? > > > Thanks, > > > Nan > > > > By hand it returns error code 0 and the following results: > > > > classes: [dev_wes] > > > parameters: {env: dev, from_cobbler: 1, media_path: /ks/dist/dev-ks- > > > rhel-x86_64-server-5-u5, > > > org: 1, passwd_mode: compat, redhat_management_type: ''off'', stype: > > > wes} > > > > This all worked prior to upgrading to 2.6.4. > > > > Also, my config is: > > > > [main] > > > # The Puppet log directory. > > > # The default value is ''$vardir/log''. > > > logdir = /var/log/puppet > > > > # Where Puppet PID files are kept. > > > # The default value is ''$vardir/run''. > > > rundir = /var/run/puppet > > > > # Where SSL certificates are kept. > > > # The default value is ''$confdir/ssl''. > > > ssldir = $vardir/ssl > > > > [agent] > > > # The file in which puppetd stores a list of the classes > > > # associated with the retrieved configuratiion. Can be loaded in > > > # the separate ``puppet`` executable using the ``--loadclasses`` > > > # option. > > > # The default value is ''$confdir/classes.txt''. > > > classfile = $vardir/classes.txt > > > > # Where puppetd caches the local configuration. An > > > # extension indicating the cache format is added automatically. > > > # The default value is ''$confdir/localconfig''. > > > localconfig = $vardir/localconfig > > > > [master] > > > # The main Puppet configuration directory. The default for this > > > # parameter is calculated based on the user. > > > confdir = /puppet/production > > > > # Where Puppet stores dynamic and growing data. The default for > > > this > > > # parameter is calculated specially, like confdir. > > > # The default value is ''/var/lib/puppet''. > > > vardir = /var/lib/puppet > > > > # external node lookup via cobbler > > > external_nodes = /usr/bin/cobbler-ext-nodes > > > node_terminus = exec > > > > reports = tagmail > > > tagmap = $confdir/tagmail.conf > > > > # enable store configs > > > #storeconfigs = true > > > # use Postgres for store configs > > > #dbadapter = postgresql > > > #dbuser = puppet > > > #dbpassword = puppet > > > #dbserver = ls00034p > > > > [development] > > > manifest = $confdir/manifests/dev_site.pp > > > > [tqa] > > > manifest = $confdir/manifests/tqa_site.pp > > > > Any help would be appreciated. > > > > Thanks > > > > -- > > > 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+unsubscribe@googlegroups.com. > > > For more options, visit this group athttp://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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
More info. It appears it has to do with the Ruby I compiled. I am running RHE5 which only comes with Ruby 1.8.5. Since I was experiencing issues with Store Configs I wanted to update to 1.8.7 so I could use the latest ActiveRecord, etc. Therefore I download the Ruby 1.8.7 source and compile and installed into /usr/local/bin. If I run using that ruby interpreter I get the error below. If I switch back to the RPM based one in /usr/bin it runs. Is there some add-on I need for Ruby? Does Puppet not work with 1.8.7? On Mar 1, 10:40 am, cyrus <matthewcer...@gmail.com> wrote:> I have some more info. > > notice: Starting Puppet master version 2.6.5 > info: mount[files]: allowing * access > debug: No modules mount given; autocreating with default permissions > debug: No plugins mount given; autocreating with default permissions > debug: Finishing transaction 23799637825120 > info: access[^/catalog/([^/]+)$]: allowing ''method'' find > info: access[^/catalog/([^/]+)$]: allowing $1 access > info: access[/certificate_revocation_list/ca]: allowing ''method'' find > info: access[/certificate_revocation_list/ca]: allowing * access > info: access[/report]: allowing ''method'' save > info: access[/report]: allowing * access > info: access[/file]: allowing * access > info: access[/certificate/ca]: adding authentication no > info: access[/certificate/ca]: allowing ''method'' find > info: access[/certificate/ca]: allowing * access > info: access[/certificate/]: adding authentication no > info: access[/certificate/]: allowing ''method'' find > info: access[/certificate/]: allowing * access > info: access[/certificate_request]: adding authentication no > info: access[/certificate_request]: allowing ''method'' find > info: access[/certificate_request]: allowing ''method'' save > info: access[/certificate_request]: allowing * access > info: access[/]: adding authentication any > info: Inserting default ''/status''(auth) acl because none where found > in ''/puppet/development/auth.conf'' > info: mount[files]: allowing * access > info: Expiring the node cache of lv1764p.xxxxxxx.com > info: Not using expired node for lv1764p.xxxxxx.com from cache; > expired at Tue Mar 01 10:36:31 -0700 2011 > debug: Executing ''/usr/local/bin/external-node lv1764p.xxxxx.com'' > wrong number of arguments (2 for 1) > err: Failed to find lv1764p.xxxxxx.com via exec: Execution of ''/usr/ > local/bin/external-node lv1764p.xxxxx.com'' returned 1: > err: Could not find node ''lv1764p.xxxxxx.com''; cannot compile > > Notice the wrong number of arguments (2 for 1) message. > > On Mar 1, 8:59 am, cyrus <matthewcer...@gmail.com> wrote: > > > Yes. The file is executable by everyone. Plus this worked prior to > > installing Ruby 1.8.7 and Puppet 2.6.4. > > > On Feb 28, 3:40 pm, Nan Liu <n...@puppetlabs.com> wrote: > > > > On Mon, Feb 28, 2011 at 3:36 PM, cyrus <matthewcer...@gmail.com> wrote: > > > > I recently moved to Puppet 2.6.4. Prior to this I was using the > > > > available RPMS for RHEL which were 2.6.3. The reason I moved to the > > > > source 2.6.4 is that I wanted to update to Ruby 1.8.7 to see if that > > > > corrected the errors I was getting when trying to use Store Configs. > > > > > Anyways, I compiled Ruby 1.8.7 from source into /usr/local/bin. I then > > > > installed Facter and Puppet into the same prefix. > > > > > However now I can not get external nodes to work. On the client it > > > > gives: > > > > > err: Could not retrieve catalog from remote server: Error 400 on > > > > SERVER: Could not find node ''lv00052p.encana.com''; cannot compile > > > > > From the log I see: > > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing ''/usr/bin/ > > > > cobbler-ext-nodes lv00052p.encana.com'' > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to find > > > > lv00052p.encana.com via exec: Execution of ''/usr/bin/cobbler-ext-nodes > > > > lv00052p.encana.com'' returned 1: > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not find node > > > > ''lv00052p.encana.com''; cannot compile > > > > > However, if I run > > > > > /usr/bin/cobbler-ext-nodes lv00052p.encana.com > > > > Can you execute this as the puppet user? If you run passenger, the > > > owner of the config.ru file? > > > > Thanks, > > > > Nan > > > > > By hand it returns error code 0 and the following results: > > > > > classes: [dev_wes] > > > > parameters: {env: dev, from_cobbler: 1, media_path: /ks/dist/dev-ks- > > > > rhel-x86_64-server-5-u5, > > > > org: 1, passwd_mode: compat, redhat_management_type: ''off'', stype: > > > > wes} > > > > > This all worked prior to upgrading to 2.6.4. > > > > > Also, my config is: > > > > > [main] > > > > # The Puppet log directory. > > > > # The default value is ''$vardir/log''. > > > > logdir = /var/log/puppet > > > > > # Where Puppet PID files are kept. > > > > # The default value is ''$vardir/run''. > > > > rundir = /var/run/puppet > > > > > # Where SSL certificates are kept. > > > > # The default value is ''$confdir/ssl''. > > > > ssldir = $vardir/ssl > > > > > [agent] > > > > # The file in which puppetd stores a list of the classes > > > > # associated with the retrieved configuratiion. Can be loaded in > > > > # the separate ``puppet`` executable using the ``--loadclasses`` > > > > # option. > > > > # The default value is ''$confdir/classes.txt''. > > > > classfile = $vardir/classes.txt > > > > > # Where puppetd caches the local configuration. An > > > > # extension indicating the cache format is added automatically. > > > > # The default value is ''$confdir/localconfig''. > > > > localconfig = $vardir/localconfig > > > > > [master] > > > > # The main Puppet configuration directory. The default for this > > > > # parameter is calculated based on the user. > > > > confdir = /puppet/production > > > > > # Where Puppet stores dynamic and growing data. The default for > > > > this > > > > # parameter is calculated specially, like confdir. > > > > # The default value is ''/var/lib/puppet''. > > > > vardir = /var/lib/puppet > > > > > # external node lookup via cobbler > > > > external_nodes = /usr/bin/cobbler-ext-nodes > > > > node_terminus = exec > > > > > reports = tagmail > > > > tagmap = $confdir/tagmail.conf > > > > > # enable store configs > > > > #storeconfigs = true > > > > # use Postgres for store configs > > > > #dbadapter = postgresql > > > > #dbuser = puppet > > > > #dbpassword = puppet > > > > #dbserver = ls00034p > > > > > [development] > > > > manifest = $confdir/manifests/dev_site.pp > > > > > [tqa] > > > > manifest = $confdir/manifests/tqa_site.pp > > > > > Any help would be appreciated. > > > > > Thanks > > > > > -- > > > > 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+unsubscribe@googlegroups.com. > > > > For more options, visit this group athttp://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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Making some headway, I now have a work-around but would like to know
the real reason since my work around involves modifying the Puppet
code.
Here is the issue in: /usr/local/lib/ruby/site_ruby/1.8/puppet/util.rb
# The idea here is to avoid IO#read whenever possible.
output_file="/dev/null"
error_file="/dev/null"
if ! arguments[:squelch]
require "tempfile"
output_file = Tempfile.new("puppet")
error_file=output_file if arguments[:combine]
end
What appears to be happening is that the output_file variable gets
assigned nothing. So farther down when the following is called:
$stdout.reopen(output_file)
It errors with an ArgumentError.
To get around this I just changed to $stdout.reopen("/dev/null").
On Mar 1, 11:44 am, cyrus <matthewcer...@gmail.com>
wrote:> More info. It appears it has to do with the Ruby I compiled. I am
> running RHE5 which only comes with Ruby 1.8.5. Since I was
> experiencing issues with Store Configs I wanted to update to 1.8.7 so
> I could use the latest ActiveRecord, etc. Therefore I download the
> Ruby 1.8.7 source and compile and installed into /usr/local/bin. If I
> run using that ruby interpreter I get the error below. If I switch
> back to the RPM based one in /usr/bin it runs.
>
> Is there some add-on I need for Ruby? Does Puppet not work with 1.8.7?
>
> On Mar 1, 10:40 am, cyrus <matthewcer...@gmail.com> wrote:
>
> > I have some more info.
>
> > notice: Starting Puppet master version 2.6.5
> > info: mount[files]: allowing * access
> > debug: No modules mount given; autocreating with default permissions
> > debug: No plugins mount given; autocreating with default permissions
> > debug: Finishing transaction 23799637825120
> > info: access[^/catalog/([^/]+)$]: allowing ''method''
find
> > info: access[^/catalog/([^/]+)$]: allowing $1 access
> > info: access[/certificate_revocation_list/ca]: allowing
''method'' find
> > info: access[/certificate_revocation_list/ca]: allowing * access
> > info: access[/report]: allowing ''method'' save
> > info: access[/report]: allowing * access
> > info: access[/file]: allowing * access
> > info: access[/certificate/ca]: adding authentication no
> > info: access[/certificate/ca]: allowing ''method''
find
> > info: access[/certificate/ca]: allowing * access
> > info: access[/certificate/]: adding authentication no
> > info: access[/certificate/]: allowing ''method'' find
> > info: access[/certificate/]: allowing * access
> > info: access[/certificate_request]: adding authentication no
> > info: access[/certificate_request]: allowing
''method'' find
> > info: access[/certificate_request]: allowing
''method'' save
> > info: access[/certificate_request]: allowing * access
> > info: access[/]: adding authentication any
> > info: Inserting default ''/status''(auth) acl because
none where found
> > in ''/puppet/development/auth.conf''
> > info: mount[files]: allowing * access
> > info: Expiring the node cache of lv1764p.xxxxxxx.com
> > info: Not using expired node for lv1764p.xxxxxx.com from cache;
> > expired at Tue Mar 01 10:36:31 -0700 2011
> > debug: Executing ''/usr/local/bin/external-node
lv1764p.xxxxx.com''
> > wrong number of arguments (2 for 1)
> > err: Failed to find lv1764p.xxxxxx.com via exec: Execution of
''/usr/
> > local/bin/external-node lv1764p.xxxxx.com'' returned 1:
> > err: Could not find node ''lv1764p.xxxxxx.com'';
cannot compile
>
> > Notice the wrong number of arguments (2 for 1) message.
>
> > On Mar 1, 8:59 am, cyrus <matthewcer...@gmail.com> wrote:
>
> > > Yes. The file is executable by everyone. Plus this worked prior
to
> > > installing Ruby 1.8.7 and Puppet 2.6.4.
>
> > > On Feb 28, 3:40 pm, Nan Liu <n...@puppetlabs.com> wrote:
>
> > > > On Mon, Feb 28, 2011 at 3:36 PM, cyrus
<matthewcer...@gmail.com> wrote:
> > > > > I recently moved to Puppet 2.6.4. Prior to this I was
using the
> > > > > available RPMS for RHEL which were 2.6.3. The reason I
moved to the
> > > > > source 2.6.4 is that I wanted to update to Ruby 1.8.7
to see if that
> > > > > corrected the errors I was getting when trying to use
Store Configs.
>
> > > > > Anyways, I compiled Ruby 1.8.7 from source into
/usr/local/bin. I then
> > > > > installed Facter and Puppet into the same prefix.
>
> > > > > However now I can not get external nodes to work. On
the client it
> > > > > gives:
>
> > > > > err: Could not retrieve catalog from remote server:
Error 400 on
> > > > > SERVER: Could not find node
''lv00052p.encana.com''; cannot compile
>
> > > > > From the log I see:
>
> > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Executing
''/usr/bin/
> > > > > cobbler-ext-nodes lv00052p.encana.com''
> > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Failed to
find
> > > > > lv00052p.encana.com via exec: Execution of
''/usr/bin/cobbler-ext-nodes
> > > > > lv00052p.encana.com'' returned 1:
> > > > > Feb 28 15:29:55 ls1313p puppet-master[20112]: Could not
find node
> > > > > ''lv00052p.encana.com''; cannot compile
>
> > > > > However, if I run
>
> > > > > /usr/bin/cobbler-ext-nodes lv00052p.encana.com
>
> > > > Can you execute this as the puppet user? If you run
passenger, the
> > > > owner of the config.ru file?
>
> > > > Thanks,
>
> > > > Nan
>
> > > > > By hand it returns error code 0 and the following
results:
>
> > > > > classes: [dev_wes]
> > > > > parameters: {env: dev, from_cobbler: 1, media_path:
/ks/dist/dev-ks-
> > > > > rhel-x86_64-server-5-u5,
> > > > > org: 1, passwd_mode: compat, redhat_management_type:
''off'', stype:
> > > > > wes}
>
> > > > > This all worked prior to upgrading to 2.6.4.
>
> > > > > Also, my config is:
>
> > > > > [main]
> > > > > # The Puppet log directory.
> > > > > # The default value is
''$vardir/log''.
> > > > > logdir = /var/log/puppet
>
> > > > > # Where Puppet PID files are kept.
> > > > > # The default value is
''$vardir/run''.
> > > > > rundir = /var/run/puppet
>
> > > > > # Where SSL certificates are kept.
> > > > > # The default value is
''$confdir/ssl''.
> > > > > ssldir = $vardir/ssl
>
> > > > > [agent]
> > > > > # The file in which puppetd stores a list of the
classes
> > > > > # associated with the retrieved configuratiion. Can
be loaded in
> > > > > # the separate ``puppet`` executable using the
``--loadclasses``
> > > > > # option.
> > > > > # The default value is
''$confdir/classes.txt''.
> > > > > classfile = $vardir/classes.txt
>
> > > > > # Where puppetd caches the local configuration. An
> > > > > # extension indicating the cache format is added
automatically.
> > > > > # The default value is
''$confdir/localconfig''.
> > > > > localconfig = $vardir/localconfig
>
> > > > > [master]
> > > > > # The main Puppet configuration directory. The
default for this
> > > > > # parameter is calculated based on the user.
> > > > > confdir = /puppet/production
>
> > > > > # Where Puppet stores dynamic and growing data. The
default for
> > > > > this
> > > > > # parameter is calculated specially, like confdir.
> > > > > # The default value is
''/var/lib/puppet''.
> > > > > vardir = /var/lib/puppet
>
> > > > > # external node lookup via cobbler
> > > > > external_nodes = /usr/bin/cobbler-ext-nodes
> > > > > node_terminus = exec
>
> > > > > reports = tagmail
> > > > > tagmap = $confdir/tagmail.conf
>
> > > > > # enable store configs
> > > > > #storeconfigs = true
> > > > > # use Postgres for store configs
> > > > > #dbadapter = postgresql
> > > > > #dbuser = puppet
> > > > > #dbpassword = puppet
> > > > > #dbserver = ls00034p
>
> > > > > [development]
> > > > > manifest = $confdir/manifests/dev_site.pp
>
> > > > > [tqa]
> > > > > manifest = $confdir/manifests/tqa_site.pp
>
> > > > > Any help would be appreciated.
>
> > > > > Thanks
>
> > > > > --
> > > > > 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+unsubscribe@googlegroups.com.
> > > > > For more options, visit this group
athttp://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+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.