tree 3d80c40adf18e5a6093dec49405655c4f68e4e18
parent 4f9a213046d031b50d162f2ffb41464ab432b144
author James Feist <james.feist@linux.intel.com> 1553552975 -0700
committer Ed Tanous <ed.tanous@intel.com> 1558646277 +0000

PID: Add fan profile support

This adds fan profiles to redfish. This uses the
Thermal Mode interface to allow switching between
different fan profiles. Only the selected fan profile
will be seen. When adding a new controller, they will
also be added to the configuration item for that profile.
Patching of the profile to switch between supported
profiles is also supported.

Tested: Could change profiles in redfish.

Python test script:

def testProfile():
    a = {
        "Oem": {
            "OpenBmc": {
                "Fan": {
                    "Profile" : "Acoustic"
                }
            }
        }
    }
    return a

def dopatch():
    resp = requests.patch(address, json=testProfile(), verify=False,
                          auth=("root", "0penBmc"))
    resp.raise_for_status()

Change-Id: Ie2d8582616ed5bde58e3328b21ba8c59437e88ce
Signed-off-by: James Feist <james.feist@linux.intel.com>
