I recently migrated our Chef server to another box and could not find a
way to move the complete node information without requiring the clients to
re-register (although I’m sure someone else has done it). Using the
chef_server_backup script will preserve the core node info such as
run_lists and Environment assignments but not the client’s private key.
You may be able to move that info via CouchDB dump/import but I wasn’t
able to make that work.
It was fairly trivial though to prepare the client machines for a new Chef
server and their inevitable re-registering. I created a cookbook/recipe to
move the client.pem out of the /etc/chef directory (to /tmp
just in case) and add the new servers validation.pem into the /etc/chef
directory. BEWARE moving the client.pem key out of the /etc/chef directory
will break your setup so don’t apply this cookbook until you are ready to
make the switch. After the new server is set up and all the nodes, roles
and databags have been imported and the cookbooks have been uploaded you
can cut your DNS over. Soon the old nodes will hit the new server and
re-register. They should automatically be associated with the imported
node info and pick up right were they left off.
Let me know if you need more detail or have any questions.
( 818.549.5304 | Tieline 8250.5304 | G-Voice 323.207.6292
Skype: wdproKevin | AIM: wdproKevin | Y! wdproKevin
On 2/23/12 10:10 AM, “Van Fossan,Randy” email@example.com wrote:
Has anyone ever moved there Chef Server from one server to another on a
different OS version? I need to move from a CentOS 5.5 Chef-Server
0.10.8 running in a Virtual Machine to a Physical Server that will be
running CentOS 6.2 and Chef-Server 0.10.8 and upgrading couchdb along the
My plan is to build a server with the same name as our current
chef-server and then install chef-server normally. I then want to backup
/ export the data from the old server and migrate it to the new server.
I do not want to have to reregister any of my nodes.
I have ran “knife exec chef_server_backup.rb”. Will this get everything
I need to bring across? other than the contents of /etc/chef ???