diff options
| author | Luke Kanies <luke@madstop.com> | 2008-07-02 00:32:52 -0500 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2008-07-02 00:32:52 -0500 |
| commit | 8e4312ed249d83ece754b80e993fa0d86bd36d46 (patch) | |
| tree | 8b6044079dbb05a1f84a09a2f8e99cf1b87a3e9e /bin/puppetrun | |
| parent | 49016bb29312bfeb6f41ce420159e6ffc477eebe (diff) | |
| parent | d3a81255245eec19ac21902ae3b877e00e620628 (diff) | |
| download | puppet-8e4312ed249d83ece754b80e993fa0d86bd36d46.tar.gz puppet-8e4312ed249d83ece754b80e993fa0d86bd36d46.tar.xz puppet-8e4312ed249d83ece754b80e993fa0d86bd36d46.zip | |
Merge branch '0.24.x'
Conflicts:
CHANGELOG
spec/unit/node/catalog.rb
spec/unit/type/package.rb
spec/unit/type/schedule.rb
spec/unit/type/service.rb
spec/unit/util/settings.rb
Diffstat (limited to 'bin/puppetrun')
| -rwxr-xr-x | bin/puppetrun | 48 |
1 files changed, 5 insertions, 43 deletions
diff --git a/bin/puppetrun b/bin/puppetrun index d0823b9c5..f1e30245b 100755 --- a/bin/puppetrun +++ b/bin/puppetrun @@ -139,51 +139,12 @@ begin rescue LoadError $stderr.puts "Failed to load ruby LDAP library. LDAP functionality will not be available" end + require 'puppet' require 'puppet/network/client' +require 'puppet/util/ldap/connection' require 'getoptlong' - -# Look up all nodes matching a given class in LDAP. -def ldapnodes(klass, fqdn = true) - unless defined? @ldap - setupldap() - end - - hosts = [] - - filter = nil - if klass == :all - filter = "objectclass=puppetclient" - else - filter = "puppetclass=#{klass}" - end - @ldap.search(Puppet[:ldapbase], 2, filter, "cn") do |entry| - # Skip the default host entry - if entry.dn =~ /cn=default,/ - $stderr.puts "Skipping default host entry" - next - end - - if fqdn - hosts << entry.dn.sub("cn=",'').sub(/ou=hosts,/i, '').gsub(",dc=",".") - else - hosts << entry.get_values("cn")[0] - end - end - - return hosts -end - -def setupldap - begin - @ldap = Puppet::Parser::Interpreter.ldap() - rescue => detail - $stderr.puts "Could not connect to LDAP: %s" % detail - exit(34) - end -end - flags = [ [ "--all", "-a", GetoptLong::NO_ARGUMENT ], [ "--tag", "-t", GetoptLong::REQUIRED_ARGUMENT ], @@ -278,11 +239,12 @@ Puppet.parse_config if Puppet[:node_terminus] = "ldap" if options[:all] - hosts = ldapnodes(:all, options[:fqdn]) + hosts = Puppet::Node.search("whatever").collect { |node| node.name } puts "all: %s" % hosts.join(", ") else + hosts = [] classes.each do |klass| - list = ldapnodes(klass, options[:fqdn]) + list = Puppet::Node.search("whatever", :class => klass).collect { |node| node.name } puts "%s: %s" % [klass, list.join(", ")] hosts += list |
