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.