This patch adds two new vendor_passthru methods for Redfish:
- create_subscription (create a sbuscription)
- delete_subscription (delete a subscription)
- get_all_subscriptions (get all subscriptions on the node)
- get_subscription (get a single subscription)
Unit Tests in test_utils split into multiple classes to avoid random
failures due to cache.
Tested in bifrost env using two different HW:
- HPE EL8000 e910
- Dell R640
Story: #2009061
Task: #42854
Change-Id: I5b7fa99b0ee64ccdc0f62d9686df655082db3665
Get the BIOS Registry from Sushy and store the fields in the Ironic
DB with the corresponding entry in the BIOS setting.
Story: #2008571
Task: #42484
Change-Id: I606c5de9077931707ebd15c3adf506badd95ea29
Update python-dracclient version to indicate Wallaby compatibility with
6.*.* releases.
Version 6.0.0 is available from PyPI [1].
[1] https://pypi.org/project/python-dracclient/6.0.0/
Change-Id: Ia7093a3ed48e19197f74da9e1c49416a974a76be
This change adds support for managing an iDRAC -- reset, clear job
queue, and reset to known good state -- via the Redfish out-of-band
(OOB) management protocol to the idrac hardware type. This is offered by
new idrac-redfish management hardware interface implementation cleaning
steps: reset_idrac, clear_job_queue, and known_good_state.
known_good_state both resets an iDRAC and clears its job queue.
Story: 2007617
Task: 39628
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/782254
Change-Id: Iad69c8d7cf3a373f5cfcc619a479a106efa2e4d4
Adds MVP support for idrac-redfish to RAID interface. Based on
generic redfish implementation, but requires OEM extension
to check when `Immediate` time becomes available shortly
after IPA starts executing steps.
Does not support foreign disks, convert from non-RAID mode.
Story: 2008602
Task: 41778
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/776224
Change-Id: Iefb7f882c97e33a176962e4e907163d9e4809445
The Redfish hardware type does not currently implement the RAID
hardware interface.
This patch implements the Redfish RAID interface, allowing operators
to specify the desired RAID configuration on Ironic Redfish nodes.
Story: 2003514
Task: 24789
Depends-On: https://review.opendev.org/c/openstack/sushy/+/774532
Change-Id: Icf5ca865e0c1e168b96659229df622698bea1503
This patch implements reporting number of NVIDIA Tesla T4
devices connected to a system by discovering such devices
and reporting them through capability 'pci_gpu_devices'.
Change-Id: If713895f05f08a9827c4c085108abb3e388b2a2e
Story: 2008118
Task: 40839
Depends-On: https://review.opendev.org/#/c/750364/
This change fixes the 'redfish' BIOS interface 'apply_configuration'
cleaning/deploy step to work with Redfish Services that must be supplied
the Distributed Management Task Force (DMTF) Redfish standard
@Redfish.SettingsApplyTime annotation [1] to specify when to apply the
requested settings, such as the Dell EMC integrated Dell Remote Acesss
Controller (iDRAC).
Such services, typically offered by baseboard management controllers
(BMC), require POST of the annotation, along with the future intended
state of the settings. Otherwise, they may never be applied.
When the annotation is not supported, it is not provided with the future
intended state of the settings.
[1] http://redfish.dmtf.org/schemas/DSP0266_1.11.0.html#settings-resource
Co-Authored-By: Eric Barrera <eric_barrera@dell.com>
Co-Authored-By: Aija Jauntēva <aija.jaunteva@dell.com>
Co-Authored-By: Mike Raineri <mraineri@gmail.com>
Story: 2008163
Task: 40913
Depends-On: https://review.opendev.org/#/c/750020/
Change-Id: I28a948f306b40c36b12e6f786e1e43a61e84a0f2
This commit adds functionality to perform out-of-band one button
secure erase for iLO5 based HPE Proliant servers. Using this a
user can securely erase the whole system. It includes deleting
any deployment settings profiles, all licenses, Active Health
System (AHS) and warranty data stored there, reseting BIOS and
erasing supported non-volatile storage data.
Change-Id: I2f46a67580e8a607a91a3f6660feb85ed1827dc8
Story: #2007964
Task: #40458
SUM based firmware update exists as an inband clean step. This commit
adds it as inband deploy step to `ilo` and `ilo5` hardware types.
Change-Id: I2ac03dc2148a56aa23e86c6adb29a16bac443de3
Story: #2007923
Task: #40337
Python-ibmcclient 0.2.0 uses six, which is not installed by default
as it is not necessary for python3 only usage.
This patch pins the upper bounds until the library can be fixed and
a new version released.
Change-Id: I06136f3f445b6ee4858697e22e8d63ca3d81c137
Refrain from touching unrelated boot params when setting boot mode
through Redfish BMC.
This should hopefully improve interoperability with Redfish BMCs.
Change-Id: I461e54012045463b5e97daf26a93eb9dce6f6964
Story: 2007355
Task: 38910
The `redfish_system_id` property of redfish hardware type has been
made optional. If not specified in `driver_info`, and the target BMC
manages a single ComputerSystem, ironic will assume that system.
Otherwise, ironic will fail requiring explicit `redfish_system_id`
specification in `driver_info`.
Also bumpted sushy dependency to >= 3.1.0.
Change-Id: I425baa7c7294c6c8a707e89df63a17da8e49b666
Story: 2007258
Task: 38619
The loop keyword is the current recommended way to handle loops,
and supports filters.
It's available since Ansible version 2.5 so changing ansible
requirement in driver-requirements.
Change-Id: Ibff1f07ca00b8f5a5274d73f9e53196f49c33a66
This patch updates the sushy library version to a version that
contains a fix for a critical message registry bug. This bug causes
the Redfish hardware type to not work against at least some Dell EMC
hardware.
See: https://review.opendev.org/#/c/666253/
Change-Id: I03b415ce4f07f9c306bafc05c52527f51061d864
Story: #2006702
Task: #37011
Added physical drives conversion from JBOD to RAID
mode before RAID create_configuration cleaning step called
in iDRAC driver.
Change-Id: Ie6d1a9314d1543b73889f6d419541e75b7e06c89
Story: #2006479
Task: #36422
This change adds idrac hardware type support of a virtual media boot
interface implementation that utilizes the Redfish out-of-band (OOB)
management protocol and is compatible with the integrated Dell Remote
Access Controller (iDRAC) baseboard management controller (BMC). It is
named 'idrac-redfish-virtual-media'.
The iDRAC Redfish Service almost entirely interoperates with the virtual
media boot workflow suggested by the Redfish standard. The only
difference is configuring the system to boot from the inserted virtual
media. The standard workflow expects it to be referred to as a CD-ROM or
floppy disk drive boot source, no different from their physical
counterparts. However, the iDRAC refers to them as virtual boot sources,
distinct from their physical counterparts. Presently, the standard does
not define virtual CD-ROM nor virtual floppy disk drive boot sources.
However, the iDRAC provides a Redfish OEM extension for setting the
system to boot from one of those virtual boot sources.
To circumvent the above issue, the Python class which implements
'idrac-redfish-virtual-media' is derived from the class which implements
the generic, vendor-independent 'redfish-virtual-media' interface. It
overrides the method which sets the boot device to facilitate use of the
aforementioned iDRAC Redfish Service OEM extension.
The idrac hardware type declares support for that new interface
implementation, in addition to all boot interface implementations it has
been supporting. The priority order is retained by assigning the new
'idrac-redfish-virtual-media' the lowest priority.
A new idrac hardware type Python package dependency is introduced. It is
on 'sushy-oem-idrac'.
[1] https://pypi.org/project/sushy-oem-idrac/
Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
Story: 2006570
Task: 36675
Change-Id: I416019fc1ed3ab2a3a3dbc4443571123ef90e327
This commit fixes problem with multiple nic adapter
by passing macs as an parameter while [un]set iSCSI
target.
Change-Id: Id533a476ac376dea68955b2a0de070212285b9e8
Depends-on: Iea420d7a047c8ac849fa2eeab5c6892be2d7a6e1
Story: #2006349
Task: #36114
This commit adds new management interface `ilo5` to support an
out-of-band clean step for sanitize disk erase on ilo5 based
Proliant Servers.
Change-Id: I7b9fc6add6f6a616bdee4d94cb577e7a27a794e5
Story: #2006394
Task: #36269
Cisco's Third-Party CI was taken down as a result of the
CTO's office being restructured. Numerous attempts to
re-engage with Cisco directly and address the various
known issues in their drivers have not proven to be
fruitful.
Additionally, the drivers are not Python3 compatible,
and some reports have indicated that the CIMC driver is
no longer compatible with newer versions.
As such, the ironic community has little choice but to
to remove the Cisco UCS/CIMC hardware types and driver
interface code.
Story: 2005033
Task: 29522
Change-Id: Ie12eaf7572ce4d66f6a68025b7fe2d294185ce28
Adds sensor data collector to ``redfish`` management interface.
Temperature, power, cooling and drive health metrics are collected.
Change-Id: I8accdcc73c7e0261579d753633f9dfc02a868115
Story: 2005878
Task: 33692
It adds capability to the idrac driver for creating and deleting
RAID sets without rebooting the bare metal node.
Change-Id: I3f4282afff860d9771a3d37f4d5e1172d88e87a3
Story: 2004861
The idrac hardware type requires python-dracclient versions greater than
or equal to 1.5.0 and less than 3.0.0.
This defines the upper bound to be less than 3.0.0 to make it easier to
backport to stable/stein. It was originally proposed against
stable/stein -- https://review.openstack.org/#/c/645956/ . Reviewers
asked that it be submitted against master first --
https://review.openstack.org/#/c/645956/1/driver-requirements.txt@12 --
and then backported to stable/stein.
The ironic master and stable/stein branches are compatible with
python-dracclient releases less than 3.0.0. Note that
python-dracclient's stable/stein branch was created off of tag 2.0.0.
The ironic stable/stein branch follows tag 12.1.0, which was created on
March 21. The python-dracclient tag 3.0.0 was created after that, on
April 4. The upper bound on master will be updated to less than 4.0.0 by
a follow-on change.
A related change has been proposed for stable/rocky --
https://review.openstack.org/#/c/651657/ . It will be backported to
stable/queens and prior after it merges.
Change-Id: I5f6d6be53aec9d72e8ba5cfa436f12e01966f871
python-dracclient versions 1.5.0 and later are required for a bug fix to
the idrac hardware type which assigns ports' pxe_enabled flags during
out-of-band inspection [1].
[1] https://review.openstack.org/#/c/617951
Change-Id: Iead9f0272d5cdd57c8837826ad340e11f5bcae15
This patch proposes to adding iBMC driver for deploying the
Huawei 2288H V5, CH121 V5 series servers.
The driver aims to add management and power interfaces using
Huawei iBMC RESTful APIs for those series servers.
Change-Id: Ic5e920e4e58811c6a6dfe927732595950aea64e7
Story: 2004635
Task: 28566
This commit adds functionality to perform out-of-band RAID operations
for ilo5 based HPE Proliant servers. Using this a user can perform
create and delete the RAID configuration from the server.
Co-Authored-By: Paresh Sao <paresh.sao@hpe.com>
Change-Id: Iad0c609e59dca56729967133c6bbcff73b50a51e
Story: 2003349
Task: 24391
The Redfish hardware type does not currently implement the new BIOS
hardware interface.
This patch implements the Redfish BIOS interface, allowing operators to
perform BIOS configuration actions on Ironic Redfish nodes.
Change-Id: I44a2a465b08bc15465b7096b1e4838aebb460c1b
Story: 2001791
Task: 12507
In accordance with the deprecation of oneview,
It is time to remove the oneview drivers.
This patch oneview interfaces and documentation.
Change-Id: Ided79fa788411f839614813ff033c42a13b88c75
Story: #2001924
Task: #24943
In Python 3.7, async becomes a keyword, and therefore we need
to change variable async.
The passthru() previously had async and async_call, we just remove
the old parameter.
scciclient moved from async to do_async as parameter, so we use that.
Change-Id: I35cb34d9ba78186de88ff7b56ab89ee6e24db6e6
Adds support for manual cleaning steps "apply_configuration" and
"factory_reset" which manage BIOS settings on the iLO. This requires to
implement 'ilo' BIOS interface for 'ilo' hardware type.
Story: #2002899
Task: #22863
Change-Id: Ia014ea3d55504e8e0c815fb4f19bb87b1fc0d6ef
Minor formatting and fix-ups for the iRMC bios interface
addition patch.
Update new scciclient version which will support this feature
for newer iRMC server versions.
Co-Authored-By: Nguyen Van Trung <trungnv@vn.fujitsu.com>
Change-Id: I6cfe8175e687d6a900a17b31e75459d8b01a8edb
Since pysnmp 4.3 (which dates back to 2015), library's high-level
SNMP API has been reworked towards better consistency and performance.
Ironic snmp driver still uses the older pysnmp API. This story
suggests migrating ironic snmp driver to the latest (e.g.
post 4.3) pysnmp API.
This bumps up ironic lower constraint on pysnmp.
Change-Id: Id3a03210e8a52dda5e6403e2f9cb040c59ca9573
Story: 2002756
Task: 22612
This patch supports BIOS configuration for iRMC drivers using
out-of-band method.
Tested successfully on TX2540 M1 along with eLCM license.
Story: #1743674
Task: #10651
Co-Authored-By: Nguyen Van Trung <trungnv@vn.fujitsu.com>
Change-Id: I61f15e7c65c4ef5cc5f959d2b016b053e70ba19b
This is OOB solution which using create/delete raid config via
Fujitsu iRMC driver. In addition, This commit will enable raid
interface via iRMC driver.
Tested successfully on TX2540 M1 along with eLCM license, SDcard and
SP(Service Platform) available.
Change-Id: Iacaf213f76abf130d5570fc13704b1d1bfcf49d7
Story: #1699695
Task: #10597
Ansible 2.5 changed an internal callback method around that is
expected in plugins for options. In order for this to work, we needed
to make some minor changes.
Change-Id: I3801f339511155a4b8ecab91bb06b286b11c0a06
Related-Bug: #1758462
Ansible 2.5 appears to be incompaible with the current
ansible driver interface. Until we've sorted it out,
we should block >=2.5.0 from being installed.
Related-Bug: #1758462
Change-Id: I9c3b2528f8da28554e3eb4e03528517a6c6c326f