Issue #1389 has been updated by Magnus Leuthner.
Affected version changed from 0.24.8 to 0.25.4
Luke Kanies wrote:
> Can you give some more information on this?
>
> I do this in testing pretty frequently and I've never had problems.
I can confirm that this issue still persists as described originally by Mathieu
in version 0.25.4. We are currently investigating a switch from file-based to
LDAP based node configuration and are seeing the same error ("Could not find
default node...") unless no nodes are loaded through site.pp. Custom debug
messages indicate that puppetmasterd does indeed find the LDAP nodes (and it's
bases).
As I understand the code, Puppet::Parser::Compiler.evaluate_ast_node only skips
the check if there are no ast_nodes found (using self.ast_nodes? which returns
parser.nodes?). I guess replacing the line
return unless ast_nodes?
with
return if not ast_nodes? or Puppet[:node_terminus] == "ldap"
in evaluate_ast_node (parser/compiler.rb) would be a workaround.
----------------------------------------
Bug #1389: puppetmaster completely ignores any found external nodes if any
nodes are found in manifests first.
http://projects.puppetlabs.com/issues/1389
Author: Mathieu Sauve-Frankel
Status: Rejected
Priority: Normal
Assigned to:
Category: node
Target version: 0.24.5
Patch: None
Affected version: 0.25.4
Keywords: external LDAP node nodes
Branch:
I discovered this while trying to set up ldap nodes and external node support.
I had enabled ldap node support, but had failed to remove all of the node
declarations from my on-disk manifests.
When I tried to run a node against the pupeptmaster I was receiving messages
such as:
<pre>
"Could not find default node or by name with '%s'"
</pre>
This message is found in Puppet::Parser::Compiler::evaluate_ast_node.
After adding some Puppet.debug statements in indirector/node/ldap.rb and
indirector/node/exec.rb (I tested both),
I verified that indirector was indeed finding my external nodes, but the
compiler was ignoring them for some reason.
Adding Puppet.debugs in evaluate_ast_node allowed me to see the contents of
@parser.nodes, this is when
I realized that there was still 1 node being loaded from a local manifest.
After removing this errant node statement both ldap nodes and external nodes
started behaving as expected.
I think that either more information should be added to the error message, or
that the parser should be fixed to
either completely ignore node statements from manifests when node_terminus is
set to something other than default,
or that it should be fixed to respect pre 0.23 behaviour that allows nodes to
be set both locally and externally at the same time.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.