RackHD
  • Docs
      • 1. RackHD Overview
        • 1.1. Vision
        • 1.2. Goals
        • 1.3. The RackHD Project
        • 1.4. What RackHD Does Well
        • 1.5. What RackHD Doesn’t Do
        • 1.6. Comparison with Other Projects
        • 1.7. Related Projects
      • 2. System Architecture
        • 2.1. Theory of Operations
        • 2.2. Major Components
          • 2.2.1. ISC DHCP
          • 2.2.2. on-dhcp-proxy
          • 2.2.3. on-tftp
          • 2.2.4. on-http
          • 2.2.5. on-syslog
          • 2.2.6. on-taskgraph
      • 3. Features
        • 3.1. Bare Metal Server Automation with PXE
        • 3.2. Discovery and Geneaology
        • 3.3. Telemetry, Events and Alerting
        • 3.4. Additional Workflows
      • 4. Contributing to RackHD
        • 4.1. Communicating with Other Users
        • 4.2. Submitting Contributions
          • 4.2.1. Core Committer Team
        • 4.3. Issues and Bugs
        • 4.4. Security Issues
        • 4.5. Understanding the Repositories
        • 4.6. Submitting Design Proposals
        • 4.7. Coding Guidelines
        • 4.8. Contributing to the Documentation
        • 4.9. Community Guidelines
      • 5. RackHD Development Guide
        • 5.1. Repositories
          • 5.1.1. Applications
          • 5.1.2. Libraries
          • 5.1.3. Supplemental Code
          • 5.1.4. Documentation
          • 5.1.5. Repositories Status
        • 5.2. Contributing Changes to RackHD
          • 5.2.1. Guidelines for merging pull requests
          • 5.2.2. Getting commit privileges
          • 5.2.3. Quality gates for the pull requests
        • 5.3. Naming Conventions
          • 5.3.1. Workflows
          • 5.3.2. Microkernel docker image
        • 5.4. API Versioning Conventions
          • 5.4.1. Referencing API Versions in URIs
          • 5.4.2. Versioning Resources
          • 5.4.3. API Version Guidelines
        • 5.5. AMQP Message Bus Conventions
          • 5.5.1. Configuration
          • 5.5.2. Events
          • 5.5.3. HTTP
          • 5.5.4. DHCP
          • 5.5.5. TFTP
          • 5.5.6. Logging
          • 5.5.7. task-graph-runner
          • 5.5.8. Scheduler
          • 5.5.9. Task
        • 5.6. Messenger design notes
          • 5.6.1. Publish (Exchange, Topic, Data) -> Promise (Success)
          • 5.6.2. Subscribe (Exchange, Topic, Callback) -> Promise (Subscription)
          • 5.6.3. Request (Exchange, Topic, Data) -> Promise (Response)
          • 5.6.4. Object Marshaling
          • 5.6.5. Object Validation
          • 5.6.6. Additional Information
        • 5.7. Logging in RacKHD
          • 5.7.1. Log Levels
          • 5.7.2. Setting up and using Logging
          • 5.7.3. Deprecation
        • 5.8. RackHD Debugging Guide
          • 5.8.1. Discovery with a Default Workflow
          • 5.8.2. Default discovery workflow
          • 5.8.3. Footprint Benchmark Test
            • 5.8.3.1. How It Works
            • 5.8.3.2. Prerequisites
            • 5.8.3.3. How to Run
          • 5.8.4. Logged warnings FAQ
      • 6. RackHD Users Guide
        • 6.1. Deployment Environment
          • 6.1.1. Security Constraints
          • 6.1.2. Hardware Controls
          • 6.1.3. IP Address Management
          • 6.1.4. RackHD Network Access Requirements
          • 6.1.5. Possible Configurations
        • 6.2. Installation
          • 6.2.1. Source Installation on Ubuntu
            • 6.2.1.1. NICs
              • 6.2.1.1.1. Start RackHD
              • 6.2.1.1.2. How to update to the latest code
              • 6.2.1.1.3. How to Reset the Database
          • 6.2.2. Package Installation on Ubuntu
            • 6.2.2.1. Prerequisites
              • 6.2.2.1.1. NICs
              • 6.2.2.1.2. NodeJS 4.x
            • 6.2.2.2. Install & Configure RackHD
              • 6.2.2.2.1. Install/Configure with Ansible Playbook
              • 6.2.2.2.2. Install/Configure with Step by Step Guide
            • 6.2.2.3. How to Erase the Database to Restart Everything
          • 6.2.3. NPM Installation
            • 6.2.3.1. Ubuntu
              • 6.2.3.1.1. Prerequisites
              • 6.2.3.1.2. Install & Configure RackHD
              • 6.2.3.1.3. How to Erase the Database to Restart Everything
            • 6.2.3.2. CentOS 7
              • 6.2.3.2.1. Prerequisites
              • 6.2.3.2.2. Install & Configure RackHD
              • 6.2.3.2.3. How to Erase the Database to Restart Everything
        • 6.3. Configuration
          • 6.3.1. Configuration Parameters
          • 6.3.2. HTTPS/TLS Configuration
          • 6.3.3. BMC Username and Password Configuration
          • 6.3.4. Certificates
            • 6.3.4.1. Generating Self-Signed Certificates
            • 6.3.4.2. Installing Certificates
          • 6.3.5. Setup HTTP/HTTPS endpoint
          • 6.3.6. Setup Taskgraph Endpoint
          • 6.3.7. Raid Configuration
            • 6.3.7.1. Setting up the docker image
            • 6.3.7.2. Posting the Workflow
            • 6.3.7.3. Payload Definition
            • 6.3.7.4. Results
        • 6.4. Security
          • 6.4.1. Authentication
            • 6.4.1.1. Enable Authentication
            • 6.4.1.2. Setup the First User with Localhost Exception
            • 6.4.1.3. Setup the Token
            • 6.4.1.4. Login to Get a Token
            • 6.4.1.5. Accessing API Using the Token
            • 6.4.1.6. Invalidating all Tokens
            • 6.4.1.7. Creating a Redfish Session
            • 6.4.1.8. Deleting a Redfish Session
          • 6.4.2. Authorization
            • 6.4.2.1. Privileges
              • 6.4.2.1.1. Built-in Privileges
            • 6.4.2.2. Roles
              • 6.4.2.2.1. Built-in Roles
              • 6.4.2.2.2. API Commands for Roles
        • 6.5. RackHD API
          • 6.5.1. Starting and Stopping the API Server
          • 6.5.2. Generating API Documentation
          • 6.5.3. RackHD Client Libraries
          • 6.5.4. Examples using the python client library
          • 6.5.5. Using Pagination
        • 6.6. Event Notification
          • 6.6.1. Events Payloads
          • 6.6.2. Events via AMQP
            • 6.6.2.1. AMQP Exchange and Routing Key
            • 6.6.2.2. AMQP Routing Key Filter
          • 6.6.3. Events via Hook
            • 6.6.3.1. Register Web Hooks
            • 6.6.3.2. Event Filter Rules
            • 6.6.3.3. Web Hook APIs
          • 6.6.4. Redfish Alert Notification
            • 6.6.4.1. Description
            • 6.6.4.2. Configuring the Redfish endpoint
            • 6.6.4.3. Alert message
            • 6.6.4.4. AMQP
        • 6.7. Nodes and Catalogs
          • 6.7.1. Defining Nodes
          • 6.7.2. Defining Catalogs
          • 6.7.3. API Commands for Nodes
          • 6.7.4. Out of Band Management Settings
          • 6.7.5. In Band Management Settings
          • 6.7.6. Node Tags
          • 6.7.7. Node Relations
        • 6.8. Workflows
          • 6.8.1. Workflow Graphs
            • 6.8.1.1. Defining Graphs
            • 6.8.1.2. Graph definition attributes
            • 6.8.1.3. API Commands for Graphs
          • 6.8.2. Workflow Examples
            • 6.8.2.1. Creating a Custom Zerotouch Graph for Arista
            • 6.8.2.2. Creating a Linux Commands Graph
          • 6.8.3. Workflow Progress Notification
            • 6.8.3.1. Workflow Progress Events
            • 6.8.3.2. Progress Message Payload
            • 6.8.3.3. Workflow Progress Measurement
              • 6.8.3.3.1. Workflow level progress measurement
              • 6.8.3.3.2. Task level progress measurement
            • 6.8.3.4. Progress Message Retrieve Channels
        • 6.9. Workflow Tasks
          • 6.9.1. Task Definitions
          • 6.9.2. Base Task Definitions
          • 6.9.3. Options Schema
          • 6.9.4. Task Jobs
          • 6.9.5. Task Templates
          • 6.9.6. Task Rendering Features
          • 6.9.7. Task Timeouts
          • 6.9.8. API Commands for Tasks
          • 6.9.9. Task Annotation
        • 6.10. Pollers
          • 6.10.1. IPMI
          • 6.10.2. SNMP
          • 6.10.3. Metric Pollers
          • 6.10.4. API commands
          • 6.10.5. IPMI Poller Alerts
          • 6.10.6. Chassis Power State Alert
          • 6.10.7. Poller JSON Format
          • 6.10.8. ARP Cache Poller
        • 6.11. SKUs
          • 6.11.1. Package Support (skupack)
          • 6.11.2. API commands
          • 6.11.3. SKU JSON format
          • 6.11.4. SKU Pack tar.gz format
          • 6.11.5. SKU Pack config.json format
        • 6.12. Tags
          • 6.12.1. API commands
          • 6.12.2. Tag JSON format
        • 6.13. Built-in Workflows
          • 6.13.1. Discovery
            • 6.13.1.1. Passive Hardware Discovery
              • 6.13.1.1.1. Automatic Discovery
              • 6.13.1.1.2. Discover an existing device node
            • 6.13.1.2. Discovering/Configuring Network Switches
              • 6.13.1.2.1. Active Discovery
              • 6.13.1.2.2. Extending the Active Discovery Workflow
            • 6.13.1.3. Refresh Node Discovery
              • 6.13.1.3.1. Immediate Refresh Node Discovery
              • 6.13.1.3.2. Delayed Refresh Node Discovery
          • 6.13.2. OS Installation
            • 6.13.2.1. Setting up RackHD OS repository with image service
            • 6.13.2.2. Configuring RackHD OS Mirrors
            • 6.13.2.3. Making the Mirrors
            • 6.13.2.4. Supported OS Installation Workflows
            • 6.13.2.5. OS Installation Workflow APIs
            • 6.13.2.6. Non-Windows OS Installation Workflow Payload
            • 6.13.2.7. Windows OS Installation Workflow Payload
          • 6.13.3. RAID Configuration
            • 6.13.3.1. Create docker image with Storcli/Perccli
            • 6.13.3.2. Create RAID
            • 6.13.3.3. Delete RAID
          • 6.13.4. Disk Secure Erase
            • 6.13.4.1. Disk Secure Erase Workflow API
            • 6.13.4.2. Disk Secure Erase Workflow Payload
            • 6.13.4.3. Supported Disk Secure Erase Tools
            • 6.13.4.4. Supported Disk Secure Erase Arguments
            • 6.13.4.5. Disk Secure Erase Workflow Notes
          • 6.13.5. Firmware Update
            • 6.13.5.1. Firmware update Example using SKU Pack
        • 6.14. Southbound Notification API
          • 6.14.1. How does it work
          • 6.14.2. API commands
          • 6.14.3. Use notification API in OS installation
        • 6.15. MicroKernel image
          • 6.15.1. Requirements
          • 6.15.2. Bootstrap Process
          • 6.15.3. Building Images
          • 6.15.4. How To Login Microkernel
        • 6.16. Service Setup
          • 6.16.1. TFTP and DHCP Service Setup
            • 6.16.1.1. TFTP and DHCP from the RackHD Server
              • 6.16.1.1.1. TFTP Service Configuration in the RackHD Server
              • 6.16.1.1.2. DHCP Service Configuration in the RackHD Server
            • 6.16.1.2. TFTP and DHCP from a Separate Server
              • 6.16.1.2.1. RackHD Main Services Configuration in the RackHD Server
              • 6.16.1.2.2. TFTP Service Configuration in the Separate Server
              • 6.16.1.2.3. DHCP Service Configuration in the Separate Server
          • 6.16.2. Static File Service Setup
            • 6.16.2.1. Files That can be Moved into a Separate Server
            • 6.16.2.2. Diagrams for Different Working Modes
            • 6.16.2.3. Setup a Static File Server
            • 6.16.2.4. Notes
        • 6.17. RackHD Web UI
          • 6.17.1. How to Configure API Endpoint Settings
        • 6.18. Customize Default iPXE Boot Setting
          • 6.18.1. Default iPXE Boot Customized OS Into RAM
          • 6.18.2. Customize iPXE Boot Profile
        • 6.19. SSDP/UPnP
          • 6.19.1. Northbound M-SEARCH Queries
          • 6.19.2. Southbound M-SEARCH Queries
          • 6.19.3. Southbound Advertisement Handler
          • 6.19.4. Configuration Options
        • 6.20. UCS-Service
          • 6.20.1. UCS-Service Setup
          • 6.20.2. UCS-Service API
          • 6.20.3. UCS-Service Workflows
            • 6.20.3.1. Discover Nodes
            • 6.20.3.2. Catalog Nodes
      • 7. Tutorials
        • 7.1. Overview
        • 7.2. RackHD: Local Docker Based Environment Set-up
          • 7.2.1. Prerequisites
          • 7.2.2. What We’re Setting up
          • 7.2.3. Set up RackHD in Docker using Docker Compose
        • 7.3. Automatic Discovery and Catalog Server Nodes
          • 7.3.1. Discovery
          • 7.3.2. NodeId
          • 7.3.3. Retrieve Catalogs
          • 7.3.4. Retrieve Pollers
            • 7.3.4.1. What’s Poller
            • 7.3.4.2. Examples of Telemetry
            • 7.3.4.3. Retrieve Pollers
        • 7.4. Interfacing with The RESTful API
          • 7.4.1. Overview
          • 7.4.2. Restful API ( v2.0 )
          • 7.4.3. Swagger UI
        • 7.5. Workflow Editor
          • 7.5.1. Step 1: Configure on-web-ui
          • 7.5.2. Step 2: Try on-web-ui
          • 7.5.3. Step 3: Create A New Workflow
            • 7.5.3.1. Add A New Workflow
            • 7.5.3.2. Customize A Shell Command Task
            • 7.5.3.3. Set The Task Relationship
            • 7.5.3.4. Save The Workflow
          • 7.5.4. Step 4: Run The New Workflow
        • 7.6. Perform an Unattended OS Install
          • 7.6.1. Overview
            • 7.6.1.1. Prerequisite
            • 7.6.1.2. Set Up OS Mirror
            • 7.6.1.3. Install OS with RackHD API
            • 7.6.1.4. Installation Progress
        • 7.7. Conclusion
        • 7.8. RackHD Workflow Engine
          • 7.8.1. Prerequisites
          • 7.8.2. Set up Workflow Engine Service
          • 7.8.3. Posting a OS Install Workflow
  • Previous
  • Next
  • GitHub

6.2. Installation¶

  • 6.2.1. Source Installation on Ubuntu
    • 6.2.1.1. NICs
      • 6.2.1.1.1. Start RackHD
      • 6.2.1.1.2. How to update to the latest code
      • 6.2.1.1.3. How to Reset the Database
  • 6.2.2. Package Installation on Ubuntu
    • 6.2.2.1. Prerequisites
      • 6.2.2.1.1. NICs
      • 6.2.2.1.2. NodeJS 4.x
    • 6.2.2.2. Install & Configure RackHD
      • 6.2.2.2.1. Install/Configure with Ansible Playbook
      • 6.2.2.2.2. Install/Configure with Step by Step Guide
    • 6.2.2.3. How to Erase the Database to Restart Everything
  • 6.2.3. NPM Installation
    • 6.2.3.1. Ubuntu
      • 6.2.3.1.1. Prerequisites
      • 6.2.3.1.2. Install & Configure RackHD
      • 6.2.3.1.3. How to Erase the Database to Restart Everything
    • 6.2.3.2. CentOS 7
      • 6.2.3.2.1. Prerequisites
      • 6.2.3.2.2. Install & Configure RackHD
      • 6.2.3.2.3. How to Erase the Database to Restart Everything

Back to top

Show Source Show on GitHub Edit on GitHub

© Copyright 2015-2017, Dell EMC.
Created using Sphinx 1.3.1.