Hi,

Open Compute hardware is getting momentum in Europe, and we are getting more and more request for automatic tools to provision systems. It happens that it is not that an easy task mostly because we do not have a unified API per hardware equipement to run provisioning or even local add on equipment like a small RBpi in the rack to gain control of the systems.

I started to think about this issue, and needs your feedback before starting coding anything. I do not know how to call this project, so if you have some ideas feel free.

Context:
- I am an end user which is receiving a brand new open compute equipment, which can contains, network switch, jbod, storage server, network server (proxy), and plenty of other functions. I do not have physical access to this equipment (it is somewhere else, far away from me). - We are currently assuming that the rack is properly cabled with a remote management network. - We are assuming that the rack is NOT connected to production network as long as it is not configured.

Does this hypthesis are closed to real life ?

The issues:
- I need to remotly identify system configuration (I am not supposed to know it, this is a new rack, and somebody else placed the order for me), and integrate it into an existing DC. - I have no way to upload operating systems on the machine and need to find one.

One of my idea was to work on a RaspberryPI O/S which could be used to provision systems. The system could be wired by a local operator. It might be needing 3 network interfaces (in this case we might have to consider a different board). The setup steps could be:

- Connect the PI on the management switch management port
- Connect the PI on management switch
- Connect the PI on the production network fabric

- PI is providing DHCP service on the management network. DHCP is used to discover local equipment including switches.
- The system allocate management interface IP address.
- Hardware detection is performed and initial firmware upload to the network switches are performed (Cumulus or Pica8). - Then IPMI or remote management systems can perform a DHCP discover and get an IP address from the PI system, which is also configured as a TFTP/BOOTP environement and detect automatically hardware and upload a basic kernel image adapted for the hardware platform aftr having sent an IPMI turned on command. - A system configuration check is performed with a configuration dump (dmidecode/lspci etc ...) and stored into the PI
- An "end-user" baremetal O/S can be automatically uploaded at the next boot
- A JBOD configuration can be performed after baremetal provisioning

I might be missing a lot of things, but the idea is to have a local small board which can do all this provisioning tasks based on a Restfull API. This is roughly what we are trying to do in RuggedPOD, and we are still far from end results.

Some of you will tell me that MaaS is able to do it, but I am not sure that it is that easy to do, and that it has been designed to work from 0.
This could be seen as a multinode management issue etc ...

I am just trying to know who is working on such things and who could be interested. We are trying to formalize a little all of this in RuggedPOD and use the plateform as a v1, but RuggedPOD is simplier than OpenRack. We have some demands on Open Rack systems, this is why I was wondering if some of you could be interested to have a look.

http://ruggedpod.qyshare.com/documentation//software/specifications/ruggedpod_firmware.html

We are thinking at switching to Redfish, but we have pressure to move forward before the global spec got released :(.


vejmarie

        

_______________________________________________
opencompute-networking mailing list
Unsubscribe: http://lists.opencompute.org/mailman/options/opencompute-networking

opencompute-networking@lists.opencompute.org
http://lists.opencompute.org/mailman/listinfo/opencompute-networking

Reply via email to