Issue #1886 has been updated by Matthaus Litteken. Status changed from Tests Insufficient to In Topic Branch Pending Merge Target version changed from 2.7.4 to 2.7.5
This patch requires review from our dev team. Targeting at 2.7.5 which should release in early October. ---------------------------------------- Feature #1886: Add node cleanup capability https://projects.puppetlabs.com/issues/1886 Author: micah - Status: In Topic Branch Pending Merge Priority: Normal Assignee: Daniel Pittman Category: newfeature Target version: 2.7.5 Affected Puppet version: 0.25.0 Keywords: communitypatch Branch: 2.7.x There really isn't a good mechanism to clean up when a node no longer exits. You can remove it from your node definition, but there is a lot of junk hanging around that should be cleaned up too. It would be really cool if the ability to wipe a node was built into puppetmaster so you could just simply do something like: <pre> puppetmaster --clean node puppetmaster --clean node.domain.name </pre> and this would clean up everything that puppet can find on that node. The things that I can think of that need to get cleaned up are: 1. Signed certificates ($vardir/ssl/ca/signed/node.domain.pem) 2. Cached facts ($vardir/yaml/facts/node.domain.yaml) 3. Cached node stuff ($vardir/yaml/node/node.domain.yaml) 4. Reports ($vardir/reports/node.domain) 5. Stored configs. I found a script on the wiki that takes care of this: <pre> #!/usr/bin/env ruby ## Usage: sudo ./kill_node_in_storeconfigs_db.rb <hostname as stored in hosts table> require 'puppet/rails' Puppet[:config] = "/etc/puppet/puppet.conf" Puppet.parse_config pm_conf = Puppet.settings.instance_variable_get(:@values)[:puppetmasterd] adapter = pm_conf[:dbadapter] args = {:adapter => adapter, :log_level => pm_conf[:rails_loglevel]} case adapter when "sqlite3": args[:dbfile] = pm_conf[:dblocation] when "mysql", "postgresql": args[:host] = pm_conf[:dbserver] unless pm_conf[:dbserver].empty? args[:username] = pm_conf[:dbuser] unless pm_conf[:dbuser].empty? args[:password] = pm_conf[:dbpassword] unless pm_conf[:dbpassword].empty? args[:database] = pm_conf[:dbname] else raise ArgumentError, "Invalid db adapter %s" % adapter end ActiveRecord::Base.establish_connection(args) if @host = Puppet::Rails::Host.find_by_name(ARGV[0].strip) print "Killing #{ARGV[0]}..." $stdout.flush @host.destroy puts "done." else puts "Can't find host #{ARGV[0]}." end </end> Sure, I can do all this manually, but this is a feature request because its a little annoying and you forget all the pieces. -- 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.
