Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Seattle NodeJS Intro to RackHD

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Joseph Heck Joseph Heck
February 04, 2016

Seattle NodeJS Intro to RackHD

Introducing RackHD - a hardware management and orchestration service layer written in NodeJS

Avatar for Joseph Heck

Joseph Heck

February 04, 2016
Tweet

More Decks by Joseph Heck

Other Decks in Technology

Transcript

  1. 2 © Copyright 2016 EMC Corporation. All rights reserved. Limited

    mechanisms to automate interactions with hardware •  PXE •  IPMI Existing software focused solely on provisioning HARDWARE MANAGEMENT Razor/Hanlon xCat DHCP TFTP HTTP …some software…
  2. 3 © Copyright 2016 EMC Corporation. All rights reserved. • 

    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”
  3. 4 © Copyright 2016 EMC Corporation. All rights reserved. • 

    Asynchronous; many things happening at once •  Possible to common remote failure or intermittent failure •  Multiple network protocols COMMON DISTRIBUTED SYSTEM PROBLEMS
  4. 5 © Copyright 2016 EMC Corporation. All rights reserved. • 

    Some background with javascript, none with Go •  Proved to ourselves we could get stuff done fast •  Prototypes worked fast and well But… WHY
  5. 6 © Copyright 2016 EMC Corporation. All rights reserved. • 

    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
  6. 7 © Copyright 2016 EMC Corporation. All rights reserved. • 

    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/
  7. 8 © Copyright 2016 EMC Corporation. All rights reserved. • 

    Vendor Agnostic •  Discovery, Cataloging, Telemetry •  Component in Larger Stack •  Hardware Configuration capabilities •  Automation of the lowest layer most stacks –  Provisioning –  Configuration –  Metrics and Events VISION
  8. 9 © Copyright 2016 EMC Corporation. All rights reserved. • 

    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
  9. 10 © Copyright 2016 EMC Corporation. All rights reserved. • 

    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
  10. 11 © Copyright 2016 EMC Corporation. All rights reserved. • 

    SKU packs –  Load templates, profiles, microkernels, and sku definitions for specific hardware or OS personalities •  V2 API –  More solid schema definition, swagger based •  Fault tolerant workflow processing •  Hardware connection topology •  Additional south-bound discovery protocols –  Adding Redfish 1.0 support to IPMI and SNMP •  Additional workflow capabilities –  Secure Erase –  In-band management tasks –  Enhanced workflow programmability UPCOMING CAPABILITIES
  11. 12 © Copyright 2016 EMC Corporation. All rights reserved. Roadmaps/Specs

    •  https://github.com/RackHD/specs Cross Team Dashboard •  http://heckj.github.io/ptclientside/ Public Forums/Mailing List •  https://groups.google.com/d/forum/rackhd •  [email protected] Dedicated Dev Teams •  Gripen –  https://www.pivotaltracker.com/n/ projects/1492890 •  Maglev –  https://www.pivotaltracker.com/n/ projects/1492892 •  Monorail –  https://www.pivotaltracker.com/n/ projects/1492888 •  Stryker –  https://www.pivotaltracker.com/n/ projects/1496834 PUBLIC DEVELOPMENT
  12. 13 © Copyright 2016 EMC Corporation. All rights reserved. Instructions

    •  https://github.com/RackHD/RackHD/ tree/master/example Pre-requisites •  Install vagrant & virtualbox git clone https://github.com/RackHD/RackHD cd RackHD/example cp config/monorail_rack.cfg.example config/ monorail_rack.cfg bin/monorail_rack … open http://localhost:9090/docs SANDBOX DEMO / HANDS ON