Closed Bug 962102 Opened 10 years ago Closed 10 years ago

Look at API options for bare-metal provisioning

Categories

(Infrastructure & Operations :: RelOps: General, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Assigned: dustin)

References

Details

We'd like to present a simple, consistent API for bare-metal provisioning that can cover Windows, OS X, and Linux on hardware as well as VMware and Amazon (and maybe Azure).

Swift seems to have been the one discussed.
s/Swift/OpenStack/ (of which Swift is the storage component)
I think we should look at Cloudstack, openstack (in that order). Apparently cloudstack has fairly mature bare-metal provisioning
https://wiki.openstack.org/wiki/Baremetal

OpenStack's BMP isn't very mature, based on that wiki page.  So I'll look at Cloudstack.
The way I'm looking at this right now, we need a "frontend" and some "backends".

The backends will talk to other tools that know how to handle particular kinds of hardware, networks, OS's, and so on.  For example, Razor's good for server hardware, JAMF is good for Macs, Mozpool (lifeguard in particular) is a good tool for development boards, libvirt is good for virtualization systems, and Amazon and Azure have their own APIs.  We'll need to talk to the Mozilla inventory tool to adjust DNS, DHCP, and VLANs.

The "frontend" is the consistent API so that consumers can speak a single language for provisioning across all of these backents.

Shoehorning all of this into any of the *Stack offerings won't be easy, particularly since both seem to have fairly immature bare-metal support, meaning their compute systems expect to provision VMs in a hypervisor they can talk to.  But will it be easier than rolling our own API?  Aside from 'POST /instance/create' and some tools to query available resources, what do we need from the API that *Stack provide?

At any rate, the great deal of code involves makes me lean toward OpenStack, since it's Python and we have a lot more Python expertise in house than Java.
Depends on: 963161
Depends on: 963165
Done.  OpenStack is the choice.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.