Bug #229
closedExternal nodes don't work without "default" node
Description
Without default node, when using Foreman external nodes, Puppet will return:
Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find default node or by name with...
Adding the default node like this solves the issue:
node default { }
Updated by Bash Shell almost 15 years ago
We would like to see this feature as well.
Updated by Ohad Levy almost 15 years ago
- Status changed from New to Need more information
- Assignee changed from Ohad Levy to SyRenity Now
I cant reproduce this, I wonder, what happen if you remove all nodes statements ? does it work then?
I have a feeling that this breaks only when using both external nodes and regular nodes definitions.
Updated by SyRenity Now almost 15 years ago
I don't have anything defined, other then the default node.
If I remove it, I'm getting the error every time.
Updated by Ohad Levy almost 15 years ago
SyRenity Now wrote:
I don't have anything defined, other then the default node.
If I remove it, I'm getting the error every time.
I don't have this problem in my setup, can you paste your master puppet.conf?
Updated by SyRenity Now almost 15 years ago
Hi.
Here it is:
[main] # Where Puppet stores dynamic and growing data. # The default value is '/var/puppet'. vardir = /var/lib/puppet # 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 # Custom report to Foreman reports = log, foreman # Foreman external nodes classifier external_nodes = /etc/puppet/node.rb node_terminus = exec [puppetd] # 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 report = true [puppetmasterd] storeconfigs = true dbadapter = mysql dbuser = ***** dbpassword = ***** dbserver = localhost dbsocket = /var/lib/mysql/mysql.sock
Regards.
Updated by Ohad Levy over 14 years ago
- Status changed from Need more information to Closed
If you want to define a default node you have two options:
- set one up within puppet
- change the external nodes script to return default values once its get a 404 from Foreman.
I don't see it as a bug simply because Foreman does not know what to do with a node which is not configured.