diff options
author | Lucas Alvares Gomes <lucasagomes@gmail.com> | 2017-02-27 17:03:28 +0000 |
---|---|---|
committer | Lucas Alvares Gomes <lucasagomes@gmail.com> | 2017-04-21 11:06:24 +0100 |
commit | c21149454a02514bd3889a793eadff712e4e6c33 (patch) | |
tree | 97eeabfb572ea54c2631545b902583268965eb11 /ironic/drivers/redfish.py | |
parent | 1fcb6c52a22c9c025dbf27931720ce2eda08704f (diff) | |
download | ironic-c21149454a02514bd3889a793eadff712e4e6c33.tar.gz |
Add redfish driver
This patch is adding a redfish driver based on the sushy library. This
is just a basic driver that currently supports:
* Power: Hard power on/off/reboot, soft power off/reboot
* Management: Setting the boot device (PXE, disk, cd-rom and bios)
and its frequency (persistent or not)
* Management: NMI Injection
* SSL authentication
Unittest coverage for the redfish modules is now in 100%, let's try to
keep it this way (-:
Documentation and DevStack updates will be done on subsequent patches.
Partial-Bug: #1526477
Change-Id: I14470edff65cd14bb73263ec7310559a8eaa6c84
Diffstat (limited to 'ironic/drivers/redfish.py')
-rw-r--r-- | ironic/drivers/redfish.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ironic/drivers/redfish.py b/ironic/drivers/redfish.py new file mode 100644 index 000000000..ecf7c789a --- /dev/null +++ b/ironic/drivers/redfish.py @@ -0,0 +1,32 @@ +# Copyright 2017 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ironic.drivers import generic +from ironic.drivers.modules.redfish import management as redfish_mgmt +from ironic.drivers.modules.redfish import power as redfish_power + + +class RedfishHardware(generic.GenericHardware): + """Redfish hardware type.""" + + @property + def supported_management_interfaces(self): + """List of supported management interfaces.""" + return [redfish_mgmt.RedfishManagement] + + @property + def supported_power_interfaces(self): + """List of supported power interfaces.""" + return [redfish_power.RedfishPower] |