Issue #16753 has been updated by Andrew Parker.

The new implementation can be turned off by doing the following in puppet.conf.
<pre>
[master]
node_cache_terminus = 
</pre>

The code given in the original report should work, but you can also use the 
`puppet node` subcommand by creating a routes file

routes.yaml
<pre>
---
node:
  node:
    terminus: yaml
    cache: yaml
</pre>

and then execute 
<pre>
puppet node search '*' --route_file routes.yaml --clientyamldir `puppet master 
--configprint yamldir`
</pre>

Using this approach is more likely to continue working than setting the 
terminus directly since the test that was written for this validates using the 
`puppet node search` command.

I don't think that the structure of that data is actually documented anywhere, 
and so relying on anything beyond the `name` element in the top of each hash is 
probably as far as can be guaranteed at the moment.
----------------------------------------
Bug #16753: Need the ability to list all nodes
https://projects.puppetlabs.com/issues/16753#change-78402

Author: James Turnbull
Status: In Topic Branch Pending Review
Priority: High
Assignee: Henrik Lindberg
Category: indirector
Target version: 3.1.0
Affected Puppet version: 3.0.0
Keywords: backlog
Branch: https://github.com/puppetlabs/puppet/pull/1317


In Puppet 3.0 we've disabled the default YAML node cache (see 
https://github.com/puppetlabs/puppet/commit/5a79d9abd96e73ff166527cdee69a30da8ab0f87).

I use this code (and a number of others in the community use similar) to return 
a list of nodes:

<pre>
    Puppet[:clientyamldir] = Puppet[:yamldir]
      if Puppet::Node.respond_to? :terminus_class
        Puppet::Node.terminus_class = :yaml
        nodes = Puppet::Node.search("*")
      else
        Puppet::Node.indirection.terminus_class = :yaml
        nodes = Puppet::Node.indirection.search("*")
      end 
</pre>

This now doesn't work.

We need a method of returning the current list of nodes the master knows about.

Currently available is:

<pre>
puppet node find 'hostname'
</pre>

If we had:

<pre>
puppet node search '*'
</pre>

That would meet my needs.


-- 
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.

Reply via email to