[chef] Re: Baremetal Provisioning


Chronological Thread 
  • From: Jay Pipes < >
  • To:
  • Subject: [chef] Re: Baremetal Provisioning
  • Date: Wed, 04 Sep 2013 12:19:22 -0400

On 09/04/2013 11:54 AM, Phillip Roberts wrote:
Does anyone have any good links or pointers to bare metal provisioning?
I have done plenty of cloud based chef stuff, however, we want to now
start managing all of our physical servers with chef as well. I am
trying to replace as much of our build system as possible (ad hoc bash /
perl scripts) for this provisioning. So I am looking for a good way to
do this, I understand chef is not a PXE server, but just how far back in
the tool chain can I go?

My thoughts are serving up a kickstart file (since we are a RHEL / Cent
based shop) that builds just enough of the OS in order to hand off to chef.

Anyway, any pointers, or past presentations / links would be much
appreciated.

Thanks,

Hey there Phillip :)

We use Chef, Cobbler, and a small amount of Python glue code to provision our bare metal nodes and network devices (the ones that support modern OSs at least ;) -- nodes that run infrastructure services, nodes that run OpenStack API and support services, and
OpenStack Compute worker nodes (boxen that provide tenant-facing compute capacity). Works very well.

We use Ubuntu 12.04 as our base netboot OS, with a simple preseed setup that implants our Chef validation keys on a vanilla barebones server OS install, and our Python glue code simply calls out to Cobbler and Chef to populate node attributes (from a set of YAML files we keep about the nodes in our deployment zones), power cycle or netboot nodes, and stuff like that.

All in all, I would say the most pain we've experienced in Chef land has probably been around configuring raw network interfaces for bonded NIC setups (we've found it virtually impossible to configure networking properly without having Chef reboot the server once -- restarting networking just doesn't work reliably) and around out-of-order Chef node attribute get/set issues... something that isn't helped by the myriad different precedence levels associated with attributes for nodes, roles, environments, etc. My advice: stick to the "application cookbook" strategy (sometimes called "wrapper cookbook" strategy) versus putting any logic or much of anything in role definition files.

Best of luck, and Go Bucks! :)
-jay



Archive powered by MHonArc 2.6.16.

§