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
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.
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.
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.
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'
Co-Authored-By: Thomas Goirand <firstname.lastname@example.org>
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.
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
Get the BIOS Registry from Sushy and store the fields in the Ironic
DB with the corresponding entry in the BIOS setting.
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.
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.
The Redfish hardware type does not currently implement the RAID
This patch implements the Redfish RAID interface, allowing operators
to specify the desired RAID configuration on Ironic Redfish nodes.
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'.
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  to specify when to apply the
requested settings, such as the Dell EMC integrated Dell Remote Acesss
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.
Co-Authored-By: Eric Barrera <email@example.com>
Co-Authored-By: Aija Jauntēva <firstname.lastname@example.org>
Co-Authored-By: Mike Raineri <email@example.com>
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.
SUM based firmware update exists as an inband clean step. This commit
adds it as inband deploy step to `ilo` and `ilo5` hardware types.
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.
Refrain from touching unrelated boot params when setting boot mode
through Redfish BMC.
This should hopefully improve interoperability with Redfish BMCs.
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.
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.
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
Added physical drives conversion from JBOD to RAID
mode before RAID create_configuration cleaning step called
in iDRAC driver.
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
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
Co-Authored-By: Richard G. Pioso <firstname.lastname@example.org>
This commit fixes problem with multiple nic adapter
by passing macs as an parameter while [un]set iSCSI
This commit adds new management interface `ilo5` to support an
out-of-band clean step for sanitize disk erase on ilo5 based
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
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
Adds sensor data collector to ``redfish`` management interface.
Temperature, power, cooling and drive health metrics are collected.
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 --
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.
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 .
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.