There are a number of PXE booting options that work well with Chef. Here are a pair of examples:
Senior Technical Evangelist | Opscode Inc.
email@example.com | (512) 731-2218
Twitter, IRC, GitHub: mattray
From: firstname.lastname@example.org [email@example.com] on behalf of Kevin Keane Subscription [firstname.lastname@example.org]
Sent: Monday, February 11, 2013 4:12 AM
Subject: [chef] RE: Can Chef be used for remote OS installation?
What you describe is indeed a chicken-and-egg problem chef faces.
Chef gets around that in two ways.
First, chef’s knife tool has the concept of bootstrapping. Basically, knife will ssh into the remote server, and then execute a small script that installs chef client and configures it properly, and it will then run chef-client for the first time.
The other way is even more elaborate; there are knife plugins that can talk to most of the major virtualization providers, and use chef to automatically create new instances with the correct OS, retrieve the information (IP address. root password etc.), and then launch bootstrap.
Of course if you are managing physical servers with chef, you’d be hard-pressed to get chef to install the OS… I don’t think there is any integration with PXE booting.
Sent: Mon 02-11-2013 01:18 am
Subject: [chef] Can Chef be used for remote OS installation?
Can I remotely install Operating System (Linux) on physical/virtual system
I am new to Chef world ( & also to the configuration management). I have gone
through Chef documentation (Client-Server / Solo) from opscode.com. What I
understood is that either Chef-Client or Chef-Solo has to be present on the
system (Node) where someone wants to install package or configure something.
One way I can think of is using SCRIPT resource where all logic will be inside
script (e.g. bash) & will be called through some recipe. But then I think its
not the Chef way !