The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

Bug #4256

Client run fails with "undefined method `parameters='" when using external nodes

Added by Thorsten Biel almost 4 years ago. Updated about 2 years ago.

Status:ClosedStart date:07/16/2010
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:node
Target version:2.6.0
Affected Puppet version:2.6.0rc3 Branch:http://github.com/mmrobins/puppet/tree/ticket/master/4256-assigning_node_parameters
Keywords:external nodes, parameters

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com

This issue is currently not available for export. If you are experiencing the issue described below, please file a new ticket in JIRA. Once a new ticket has been created, please add a link to it that points back to this Redmine ticket.


Description

I have the following setup to test Puppet 2.6.0rc3:

Puppetmaster (wpctb001, alias puppet): Ubuntu 10.4 with – Apache 2.2.14-5ubuntu8 (default system install) – mod_passenger 2.2.11 (installed via Gem) – Rack 1.0.1 (installed via Gem) – Puppet 2.6.0rc3 running under mod_passenger (installed from source) – Foreman 0.1-5 running under mod_passenger – a MySQL database as external node storage

Puppet client (usateppndb01): a SLES 9.4 system running Puppet 0.25.5 (works fine with a 0.25.5 master)

When running “puppetd —test” on the client, I get the following error:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node usateppndb01: undefined method `parameters=' for #
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

On the Puppetmaster, debug output of the master shows:

Jul 16 10:24:12 wpctb001 puppet-apply[13762]: Failed to load library 'selinux' for feature 'selinux'
Jul 16 10:24:12 wpctb001 puppet-apply[13762]: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/state]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certificate_requests]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/yaml]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/rrd]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/ca.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/lib]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/server_data]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/bucket]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/private_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/.puppet]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/log/puppet/masterhttp.log]) Autorequiring File[/var/log/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/public_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/.puppet/manifests]) Autorequiring File[/var/lib/puppet/.puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/facts]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/reports]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/crl.pem]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Finishing transaction -615786278
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/serial]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/requests]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/signed]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_crl.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/inventory.txt]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/private/ca.pass]) Autorequiring File[/var/lib/puppet/ssl/ca/private]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_crt.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/private]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_key.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_pub.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Finishing transaction -616920948
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/.puppet]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/crl.pem]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certificate_requests]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/reports]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/lib]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/public_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/state]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/facts]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/ca.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/private_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Finishing transaction -617129938
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Using cached certificate for ca
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Using cached certificate for ca
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Using cached certificate for puppet
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace Status
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace FileServer
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: No file server configuration file; autocreating modules mount with default permissions
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: No file server configuration file; autocreating plugins mount with default permissions
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace Master
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace Report
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: Finishing transaction -618054098
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace Filebucket
Jul 16 10:24:13 wpctb001 puppet-apply[13762]:   -> register xmlrpc namespace CA
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_pub.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/requests]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/public_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_crt.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/lib]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/inventory.txt]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certificate_requests]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_crl.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/private]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/private_keys/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/private_keys]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/reports]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/public_keys]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/.puppet]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/ca.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/crl.pem]) Autorequiring File[/var/lib/puppet/ssl]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/serial]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/ca_key.pem]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/state]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/facts]) Autorequiring File[/var/lib/puppet]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/certs/puppet.pem]) Autorequiring File[/var/lib/puppet/ssl/certs]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/private/ca.pass]) Autorequiring File[/var/lib/puppet/ssl/ca/private]
Jul 16 10:24:13 wpctb001 puppet-apply[13762]: (/File[/var/lib/puppet/ssl/ca/signed]) Autorequiring File[/var/lib/puppet/ssl/ca]
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Finishing transaction -616620348
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Starting Puppet master version 2.6.0
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Handling request: GET /production/catalog/usateppndb01?facts=---%2B%2521ruby%252Fobject%253APuppet%253A%253ANode%253A%253AFacts%250A%2B%2Bexpiration%253A%2B2010-07-16%2B08%253A54%253A10.539187%2B%252B00%253A00%250A%2B%2Bname%253A%2Busateppndb01%250A%2B%2Bvalues%253A%2B%250A%2B%2B%2B%2Bprocessor2%253A%2BDual-Core%2BAMD%2BOpteron%2528tm%2529%2BProcessor%2B8220%2BSE%250A%2B%2B%2B%2Bserialnumber%253A%2B%2522GB87076RV6%2B%2B%2B%2B%2B%2B%2522%250A%2B%2B%2B%2Bprocessorcount%253A%2B%25228%2522%250A%2B%2B%2B%2Bis_virtual%253A%2B%2522false%2522%250A%2B%2B%2B%2Bkernel%253A%2BLinux%250A%2B%2B%2B%2Bvirtual%253A%2Bphysical%250A%2B%2B%2B%2Buniqueid%253A%2B0x30a0260%250A%2B%2B%2B%2Boperatingsystemrelease%253A%2B%25229.4%2522%250A%2B%2B%2B%2Buptime_seconds%253A%2B%252213983207%2522%250A%2B%2B%2B%2Bprocessor3%253A%2BDual-Core%2BAMD%2BOpteron%2528tm%2529%2BProcessor%2B8220%2BSE%250A%2B%2B%2B%2Bsuse_arch%253A%2Bx86_64%250A%2B%2B%2B%2Bnetwork_eth0%253A%2B10.3.96.0%250A%2B%2B%2B%2Bhardwaremodel%253A%2B%2526id001%2Bx86_64%250A%2B%2B%2B%2Brubysitedir%253A%2B%252Fusr%252Flib64%252Fruby%252Fsite_ruby%252F1.8%250A%2B%2B%2B%2Bclientversion%253A%2B%2526id002%2B0.25.5%250A%2B%2B%2B%2Bmemorysize%253A%2B15.63%2BGB%250A%2B%2B%2B%2Bipaddress%253A%2B10.3.96.2%250A%2B%2B%2B%2Bphysicalprocessorcount%253A%2B%25224%2522%250A%2B%2B%2B%2Bsuse_version%253A%2Bsles9.4%250A%2B%2B%2B%2Bnetmask_eth0%253A%2B255.255.255.0%250A%2B%2B%2B%2Bswapfree%253A%2B2.00%2BGB%250A%2B%2B%2B%2Bprocessor4%253A%2BDual-Core%2BAMD%2BOpteron%2528tm%2529%2BProcessor%2B8220%2BSE%250A%2B%2B%2B%2Bsuse_repo_name%253A%2Bsles9-x86_64%250A%2B%2B%2B%2Bnetmask%253A%2B255.255.255.0%250A%2B%2B%2B%2Bfqdn%253A%2Busateppndb01%250A%2B%2B%2B%2Bps%253A%2Bps%2B-ef%250A%2B%2B%2B%2Btimezone%253A%2BUTC%250A%2B%2B%2B%2Bkernelrelease%253A%2B2.6.5-7.314-smp%250A%2B%2B%2B%2Bprocessor5%253A%2BDual-Core%2BAMD%2BOpteron%2528tm%2529%2BProcessor%2B8220%2BSE%250A%2B%2B%2B%2Btype%253A%2BRack%2BMount
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '~ ^/catalog/([^/]+)$'(auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/file'(non-auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/certificate_revocation_list/ca'(auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/report'(auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/certificate/ca'(non-auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/certificate/'(non-auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/certificate_request'(non-auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/status'(auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Inserting default '/resource'(auth) acl because /var/lib/puppet/.puppet/auth.conf doesn't exist
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Finishing transaction -617154468
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Connecting to mysql database: puppet
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Expiring the node cache of usateppndb01
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Not using expired node for usateppndb01 from cache; expired at Fri Jul 16 10:23:14 +0200 2010
Jul 16 10:24:14 wpctb001 puppet-apply[13762]: Executing '/etc/puppet/foreman_external_node.rb usateppndb01'
Jul 16 10:24:18 wpctb001 puppet-apply[13762]: Failed when searching for node usateppndb01: undefined method `parameters=' for #

I am using the external node script supplied by foreman, which delivers the following output:

/etc/puppet/foreman_external_node.rb usateppndb01
--- 
  parameters: 
    apache2ver: 2.2.15-1
    location: US
    puppetmaster: puppet
    tomcat_portbase_ppnhomexmlwrite: "883"
    tomcat_portbase_ppnxmlread: "880"
    tomcat_portbase_ppnxmlwrite: "881"
    java6ver: 1.6.0_19
    ldapinst: ldap2
    java6_install: 1.6.0_19
    webmon_version: 1.96-1
    DSEEXML: R4.9.043
    projectname: dsee
    tomcat6ver: 6.0.26
    tomcat_portbase_ppnhomexmlread: "882"
    DSEEPWBlacklist: base_usr40-20090323.txt
    tomcat6rpm: apache-tomcat-6.0.26-1.noarch.rpm
    tomcat_portbase_dscc: "911"
    tomcat6home: /opt/tomcat6
  classes: 
    - apache
    - common
    - dseenode
    - test
  environment: production

The Puppetmaster’s configuration is as follows:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
pluginsync=true
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
graph=true
graphdir=$statedir/graphs
certname=puppet
reports=log,store,rrdgraph,puppet_dashboard,foreman
reportdir=$vardir/reports
modulepath=/etc/puppet/modules
masterhttplog=$logdir/masterhttp.log
masterlog=$logdir/puppetmaster.log
storeconfigs=true
dbadapter=mysql
dbuser=puppet
dbpassword=XXXXXX
dbserver=localhost
external_nodes=/etc/puppet/foreman_external_node.rb
node_terminus=exec

History

#1 Updated by Jasper Poppe almost 4 years ago

I can confirm this bug, and experience the same. However without the parameters section external nodes are working fine.

#2 Updated by James Turnbull almost 4 years ago

  • Category set to node
  • Status changed from Unreviewed to Investigating
  • Target version set to 2.6.0

#3 Updated by Markus Roberts almost 4 years ago

This is occurring in line 33 of lib/puppet/indirector/node/exec.rb:

 27   # Turn our outputted objects into a Puppet::Node instance.
 28   def create_node(name, result)
 29     node = Puppet::Node.new(name)
 30     set = false
 31     [:parameters, :classes, :environment].each do |param|
 32       if value = result[param]
 33         node.send(param.to_s + "=", value)
 34         set = true
 35       end
 36     end
 37 
 38     node.fact_merge
 39     node
 40   end

#4 Updated by Markus Roberts almost 4 years ago

  • Status changed from Investigating to Accepted

It broke in:

commit b82b4ef04282ca0006931562f60459a1591b6268
Author: Luke Kanies 
Date:   Wed Jan 6 17:42:42 2010 -0800

    All non-transient parser references are gone

It appears that the concern may have been that assigning @parameters replaces the hash-object when the desired semantics would be replacing the contents, but it isn’t clear that this is valid.

#5 Updated by Matt Robinson almost 4 years ago

  • Status changed from Accepted to In Topic Branch Pending Review
  • Assignee set to Matt Robinson
  • Branch set to http://github.com/mmrobins/puppet/tree/ticket/master/4256-assigning_node_parameters

Just changing parameters back to an accessor looks safe and fixes the problem.

#6 Updated by James Turnbull over 3 years ago

  • Status changed from In Topic Branch Pending Review to Closed

Pushed in commit:9f915402f5cf54c0f78dd34fefdde5f2f840cda7 in branch master.

#7 Updated by Daniel Pittman about 2 years ago

  • Assignee deleted (Matt Robinson)

Also available in: Atom PDF