Bug #263
Updated by Daniel Curtis about 11 years ago
I decided to separate the administrative server to a virtual node. To do this I installed @puppetmaster@ and @puppetmaster-passenger@: <pre> apt-get install puppetmaster puppetmaster-passenger </pre> I then used rsync to synchronize the configuration files and cache from the old server to the new server: <pre> rsync -avh -e ssh root@puppetmaster.orig.net:/etc/puppet /etc/ rsync -avh -e ssh root@puppetmaster.new.net:/var/lib/puppet /var/lib/ </pre> This includes CA and SSL certificates, and configuration reports. This should allow a transparent migration to the new puppet master server by preserving the contents of the old puppet master server. I dumped the puppet SQL database: <pre> mysqldump -u root -p puppet > /path/to/backup/puppet.sql </pre> Then restored it into the new server: <pre> mysql -u root -p CREATE DATABASE puppet; GRANT ALL PRIVILEGES TO 'puppetuser'@'localhost' IDENTIFIED BY 'SuperSecretPassword'; FLUSH PRIVILEGES; exit EXIT mysql -u root -p puppet < /path/to/restore/puppet </pre> I then set the puppet clients to use the new puppet master. However I got an error: > err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not autoload active_record: uninitialized constant ActiveRecord > err: Could not retrieve catalog from remote server: Error 400 on SERVER: cannot load such file -- mysql To solve this I had to install a few ruby gems: the active record gem: <pre> gem install metaclass mocha passenger railties rspec rspec-core rspec-expectations rspec-mocks ruby-mysql sprockets sprockets-rails stomp systemu test-unit thor tilt will_paginate actionmailer activerecord gem install mysql daemon_controller ftools hiera hiera-puppet hike hoe httpclient </pre> I started getting another error on the puppet clients: > err: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::Compiler failed with error ArgumentError: wrong number of arguments (1 for 0) on node web4.altservice.com