Satori/OhaiSolo

ohai-solo as a sysinfo provider

 * This wiki page defines the full specification for the ohai-solo blueprint.


 * Satori should contain a module that will allow it to perform cross-platform data plane discovery through built-in support for ohai-solo, adhering to the System Info Proposal implementation. ohai-solo is a package used to examine individual host machines and return JSON output of its results.

Requirements
In order to be ohai-solo capable, the ohai-solo module must to automate the following, for any discovered system:


 * 1) Request and understand package information from ohai-solo's upstream package archive
 * 2) Determine enough remote platform info to be able to select the correct ohai-solo package
 * 3) Download the package (probably using wget)
 * 4) Perform an install of the package
 * 5) Check the version of an existing ohai-solo package
 * 6) Update ohai-solo if needed
 * 7) Uninstall ohai-solo
 * 8) Gracefully handle any common errors when running ohai-solo
 * 9) Return the JSON output from ohai-solo as a python dictionary

For information about satori's current sysinfo concepts

 * System Info Specification
 * System Info Blueprint

For more information about the ohai-solo project

 * ohai-solo on github
 * ohai-solo-omnibus-project

For more information about satori's ssh module
(Implementations for the requirements in this spec will leverage satori's ssh module.)
 * SSH Module Specification
 * SSH Module Blueprint