[dc-ops] Inventory management packages

Charles N Wyble charles at knownelement.com
Fri Sep 9 17:44:42 EDT 2011

On 09/09/2011 10:59 AM, Drew Weaver wrote:
> Here is the dc management/inventory system I've designed in my head but haven't had the time to build yet, most of the pieces are done but I haven't "glued it" yet.
> All un-provisioned ports on the network are part of a global VLAN 999 for example.


> VLAN 999 has DHCP assigned to it, tftp/pxeboot and CDP enabled.

Global DHCP should be enabled. I never statically configure anything
except core switch/routers that drive everything else.

> When you get a shipment of (insert servers here) you connect the servers to (insert unprovisioned port here)
> Server boots up because we don't know about this server it is booted into a default PXE image (linux most likely)
> using tools such as facter/ohai/foreman a complete inventory of this server is taken and dumped into a MySQL database
> using CDPR the server figures out which switch and location it is connected to and marks the aforementioned MySQL database as such.
> Because we now know the MAC address of the connected NIC, all of the hardware specifications, and the physical server's location (which is tied to a PDU port) the server turns off.

Yep. And hopefully you updated all the out of band bits (IPMI/PDU). You
do have a full OOB network right? :)

> You could then go into the back end administration and create a task for this server for example "Install Windows 2008"
> A task profile and "kickstart script" is created for the MAC address that tells it to launch the Windows Pre-Installation Environment appropriate for the architecture x86/x64
> Windows PE boots
> Windows PE runs it's wpeinit process
> Using 'wget' or whatever it downloads a dynamically generated XML file which includes the particulars, IP addresses, etc.
> disk is partitioned/formatted using diskpart/format.exe
> setup.exe runs with the XML file and of course the unattended flag specified.
> Windows installs
> There is a 'first run process' that (using wget or whatever) tells the back end admin process that the install is done.
> The back end process then puts the host into it's appropriate VLAN.
> Host reboots.

I used https://fedorahosted.org/cobbler/ which was for Centos boxes.
Haven't done large scale bare metal windows provisioning for a few years
now. When I did we used
Microsofts tools for it. Windows Installation Toolkit I think it's called?

> You drink a mai-tai.
> Then later if you want to update the hardware profile you just tell the back-end admin system to boot the server to VLAN 999 
> The default image loads
> Hardware info is updated
> Call out is made to put the switch port back into it's regular scheduled VLAN
> system reboots.
> Drink another mai-tai.
> Realize you just automated a large portion of your day to day and it's time to get a hobby =)


> Like I said I have most of these pieces in place I just haven't glued them together yet... soon (tm).

Let us know how it goes. I built a system like this for a 2k+ server
data center at my previous full time engagement. Worked wonders. Cobbler
is awesome. It's even more
awesome when you use koan --replace-self and it updates grub, reboots
the server, reprovisons and done.

I'm definitely a data center guy. Now learning the WAN side of things.
That's a whole new world for me. Lots and lots to learn. Need to team up
with people who are WAN gurus
and want to become DC gurus.

Charles N Wyble charles at knownelement.com @charlesnw on twitter


Building alternative,global scale,secure, cost effective bit moving platform
for tomorrows alternate default free zone.

More information about the dc-ops mailing list