There has been no testing of this hardware type in quite some time,
and the last we heard the vendor was moving towards redfish.
Change-Id: Ib32db463981ec54430884ac760956b7c7b40b17f
For compatibility with pysnmp-lextudio and pyasn1 we increase the
minimum required version of python-scciclient to latest available.
Also capping proliantutils to avoid breaking changes.
Change-Id: I64587d24383dc05927135d7e7e3a2a6975a58558
The latest pyasn1-lextudio patch has been yanked [1] and
all the working versions have been removed from pypi, it
looks like lextudio won't maintain pyasn1 anymore.
We should move back again to plain pyasn1 [2].
Also bump proliantutils min required version as it
has already switched back to working pyasn1 and pysnmp.
[1] https://pypi.org/project/pyasn1-lextudio/
[2] https://pypi.org/project/pyasn1/
Change-Id: Id2e7f75690c42fe0785b4ab0fb0a885261a44aef
Update version requirement of python-scciclient
to greater than or equal to 0.15.0.
Since this version 0.15.0, python-scciclient uses
pysnmp lextudio.
Change-Id: I736707027002578ab87577c94b5e6c45ba1c5f72
The pysnmp library is not maintained since 4 years now and it's
incompatible with recent libraries like pyasn1.
Its fork pysnmp-lextudio is regularly maintained, we should move
to that.
Change-Id: I3b7b5c0cf2f7d669b265669d27e0eaca0dd1fc2a
PERC 9 and PERC 10 might not be in RAID mode with no or limited RAID
support. This fixes to convert any eligible controllers to RAID mode
during delete_configuration clean step or deploy step.
Story: 2010272
Task: 46199
Change-Id: I5e85df95a66aed9772ae0660b2c85ca3a39b96c7
This commit adds new clean steps create_csr and add_https_certificate
to allow users to create certificate signing request and adds
https certificate to the iLO.
Story: 2009118
Task: 43016
Change-Id: I1e2da0e0da5e397b6e519e817e0bf60a02bbf007
Currently when using SNMPv3, iRMC driver does not use SNMPv3
authentication parameters so the SNMPv3 authentication will
always fail. And iRMC cannot recognize FIPS mode, so when FIPS mode
is enabled, iRMC driver could still use non-FIPS-compliant algorithms.
This commit changes iRMC driver to require and use SNMPv3
authentication parameters when 'irmc_snmp_version' is set to v3 and
also makes iRMC driver to force 'irmc_snmp_version' to v3,
'irmc_snmp_auth_proto' to SHA and 'irmc_snmp_priv_proto' to AES
when FIPS mode is enabled, because currently among the algorithms
supported by iRMC, only SHA and AES are FIPS compliant.
Change-Id: Id6f8996e4d103f849325f54fe0619b4acb43453a
Story: 2010085
Task: 45590
The proliantutils version needed is updated to 2.13.0
When running tests with older versions we get the error:
AttributeError: None does not have the attribute 'IloClient'
Change-Id: I6ab0672679c9d929c1e7c43a5966e6ad1e5353c0
Co-Authored-By: Thomas Goirand <thomas@goirand.fr>
Update python-dracclient version to indicate Yoga compatibility with
8.*.* releases.
Version 8.0.0 is available from PyPI [1].
[1] https://pypi.org/project/python-dracclient/8.0.0/
Change-Id: I07aa527cf13a8af63e12133508fdfd94d6aaf197
Add to ignore destructive settings during export. User can still put
those back during import manually.
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/816815
Change-Id: I7d4c08082cadec399227ee4546e7353ff6bd2ae8
Redfish has become an established technology with growing popularity.
By enabling it by default we make it easier for operators to use Ironic,
especially its advanced features, out of box.
Bump stevedore to match sushy.
Change-Id: I94dd4066ac598a7e5c2e0812e1ff286de5d164a2
Update python-dracclient version to indicate Xena compatibility with
7.*.* releases.
Version 7.0.0 is available from PyPI [1].
[1] https://pypi.org/project/python-dracclient/7.0.0/
Change-Id: I399f1525a473afc0783a52dabf5f85f820794e24
After volumes are deleted in Redfish RAID also
clear foreign config if there is any.
Story: 2009160
Task: 43145
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/806888
Change-Id: Ifde4656b4edd387ce2db2dbfc4c5ede261fafc70
Methods don't need to pass manager to execute OEM
manager method because it already has that context.
This was added for backportability.
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/792087
Change-Id: I67e89f72b1d847df233d2ffec51ca5e8963f51e9
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