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

Seattle NodeJS Intro to RackHD

Joseph Heck
February 04, 2016

Seattle NodeJS Intro to RackHD

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

Joseph Heck

February 04, 2016
Tweet

More Decks by Joseph Heck

Other Decks in Technology

Transcript

  1. 1
    © Copyright 2016 EMC Corporation. All rights reserved.
    RACKHD
    INTRODUCTION – JAN 2016

    View Slide

  2. 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…

    View Slide

  3. 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”

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

  6. 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

    View Slide

  7. 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/

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. View Slide