Software “tap roots”: some software very specific to firmware versions • Upgrading some firmware requires rebooting in the process • Want to be API driven, not another mandatory human touch-point PROBLEMS TO OVERCOME DHCP TFTP HTTP …some software… REST API Want to extend with vendor specific tooling Different tasks or goals mean different logic – embedding “know how”
Asynchronous; many things happening at once • Possible to common remote failure or intermittent failure • Multiple network protocols COMMON DISTRIBUTED SYSTEM PROBLEMS
We didn’t really grok how asynchronous JS was • Inadvertent bloat – Memory – CPU • Finding solid libraries • Building and packaging • “Dynamic ecosystem” and tooling change NOT WITHOUT CHALLENGES
Hardware Management and Orchestration • Open Sourced by EMC Dec 2015 • Screencast Overview – https://www.youtube.com/watch?v=cCiXtROSt8U HTTPS://GITHUB.COM/RACKHD/RACKHD HTTP://RACKHD.READTHEDOCS.ORG/
Stepping beyond existing provisioning systems – Declarative Workflow engine – Working closely with PXE capabilities – Built to be a component in a larger stack up • REST API • Telemetry/Data Feeds • It’s not a scheduler or reactive system • Minimal “knowledge” layers above hardware WHAT IT IS AND ISN’T
iPXE oriented bootloader • SKU identification based on rules • PXE based compute server discovery process • Free-format data catalogs • Integral monitoring/telemetry with Out of band management • Multiple Out-of-band management capabilities (via plugin) • Remote discovery and telemetry support for PDU and switches • Compute server telemetry available via IPMI and SNMP • Live structured data feeds with Websockets or AMQP • Declarative Workflows • Composed of tasks – in serial or parallel – acyclic graphs • Custom images easily included and used in workflows • Leverage templates and profiles (dynamic file & ipxe scripts based on workflow data) CURRENT CAPABILITIES