Giter Club home page Giter Club logo

redfish-finder's Introduction

redfish-finder

What is redfish?

Redfish is a standard developed by the DMTF to provide a RESTful interface to System Board Management Computers (BMC's): https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.4.1.pdf

Redfish allows for both remote management of large hardware installations via a centralized location over a network, as well as for local OS hardware monitoring and management using the same REST api via a host accessible interface

What is the redfish host interface specification?

To enable localized OS access to the local system BMC, the BMC exports a system management controller infomation block via SMBIOS: https://www.dmtf.org/sites/default/files/DSP0270_1.0.1.pdf

This block publishes information to the host OS, which it can use to locally access the BMC. This information includes, among other items:

  • The OS network interface over which the BMC is reachable
  • The HOST OS Network interface settings/addresses which it should configure
  • The Redfish Service Network Address

What does redfish-finder do?

One of the difficulties of using the Redfish host api is the translation of the SMBIOS data above into meaningful application configuration data. That is to say, any application wishing to use the Redfish API must first:

  • parse the smbios data
  • determine if the network interface has been configured properly
  • translate the service information into a url to access the Redfish API

redfish-finder centralizes that functionality, so that applications can simply point to a canonical name to access the API without additional configuration. Specifically, redfish-finder:

  • parses the smbios data for Redfish access
  • Translates the device specification to an OS interface name
  • Uses NetworkManager to configure the network interface with the appropriate settings
  • Adds an entry to /etc/hosts mapping the name redfish-localhost to the Discovered Redfish service address.

Applications wishing to use the local redfish service can then point to the canonical url: https://redfish-localhost/redfish/v1 to use the service without additional configuration

What are the requirements for redfish-finder

Currently, to use redfish you need:

  • python version 2 or later
  • the dmidecode utility, at a version capable of parsing type 42 data
  • the nmcli utility to build networkmanager configurations

Future work

  • Support for DHCP/IPV6 Host address detection
  • Cleanup mode to deconfigure an interface and host info
  • Migrate from use of dmidecode to a python module for smbios parsing
  • Migrate from use of nmcli to a python module for network manager control

redfish-finder's People

Contributors

nhorman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.