micah <mi...@riseup.net> writes: > I agree that it doesn't look hard to add the terminus package, but I was > hoping we could provide some kind of upgrade path for people to keep > their storedconfig database, but I can't seem to figure out what is > going on here.
Ok, I got it working: 1. wget http://downloads.puppetlabs.com/puppetdb/puppetdb-2.3.8.tar.gz 2. verify and uncompress it 3. cp -avp puppetdb-2.3.8/ext/master/lib/puppet/* /usr/lib/ruby/vendor_ruby/puppet/ 4. copy active record dbadapter details to [main] section of puppet.conf 5. apply the attached patch[0] to /usr/lib/ruby/vendor_ruby/puppet/face/storeconfigs.rb
--- storeconfigs.orig.rb 2016-08-24 09:04:48.428728886 +0000 +++ storeconfigs.rb 2016-08-24 09:51:34.658495419 +0000 @@ -35,16 +35,15 @@ begin Puppet::Rails.connect - # Fetch all nodes, including exported resources and their params - nodes = Puppet::Rails::Host.all(:include => {:resources => [:param_values, :puppet_tags]}, - :conditions => {:resources => {:exported => true}}) - - catalogs = nodes.map { |node| node_to_catalog_hash(node) } - catalog_dir = File.join(workdir, 'catalogs') FileUtils.mkdir(catalog_dir) - - catalogs.each do |catalog| + + nodes = [] + # Fetch all nodes, including exported resources and their params + Puppet::Rails::Host.find_each(:include => {:resources => [:param_values, :puppet_tags]}, + :conditions => {:resources => {:exported => true}}, batch_size: 1) do |node| + catalog = node_to_catalog_hash(node) + nodes << node[:name] filename = File.join(catalog_dir, "#{catalog[:data][:name]}.json") File.open(filename, 'w') do |file| @@ -52,7 +51,7 @@ end end - node_names = nodes.map(&:name).sort + node_names = nodes.sort timestamp = Time.now
6. puppet storeconfigs export 7. copy the exported file to the server running puppetdb software and import the data with: puppetdb import --infile ./storeconfigs-2017XXXXXX.tar.gz This wouldn't be too hard to make work in a debian package, so people can actually upgrade, but we need the termini package first. micah 0. https://tickets.puppetlabs.com/browse/PDB-165