Clearly you automate the heck out of everything you work on and I imagine you work a lot with bare metal. What challenges have you faced regarding automating bare metal resources? What tools have you used to help with those challenges? With different hardware vendors having widely varying interfaces for automating their products, how do you manage those interfaces to provide the same end-result across the board? Do you implement automated testing or CI of the physical provisioning process? If so, what does that look like?