101 Commits

Author SHA1 Message Date
Riccardo Pittau
823a01688f Bump minimum supported ansible version to 2.7
This is mainly based on the fact that all version up to 2.6
are not being updated anymore [0].
The 2.7 version is maintained at least with security fixes.

[0] https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html

Change-Id: Iea786985b93645da135a697140b9b14cdecf70bb
2020-03-04 10:42:24 +01:00
Ilya Etingof
c99347faef Make redfish_system_id property optional
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
2020-02-13 08:31:44 +01:00
Riccardo Pittau
89c30cb923 Using loop instead of with_X
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
2019-10-24 10:02:20 +02:00
Zuul
8e850532ab Merge "Update sushy library version" 2019-10-18 21:12:57 +00:00
Christopher Dearborn
0ab2c08e47 Update sushy library version
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
2019-10-18 18:32:36 +00:00
Rachit7194
8e3f682e29 DRAC: Drives conversion from JBOD to RAID
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
2019-10-16 12:29:56 -04:00
Ilya Etingof
0ad6f87587 Add Redfish vmedia boot interface to idrac HW type
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
2019-10-11 20:01:09 -04:00
paresh-sao
a1340c7e95
Fixed problem with UEFI iSCSI boot for nic adapters
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
2019-08-30 08:45:19 +00:00
paresh-sao
c0799c95ed Out-of-band erase_devices clean step for Proliant Servers
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
2019-08-23 08:09:20 +00:00
Dmitry Tantsur
d6774c294d Use openstacksdk for accessing ironic-inspector
Change-Id: Ibe4f6bf0b38364b5dd214e6c7e58d45a4d71ffdf
2019-07-31 15:23:39 +02:00
Zuul
0d99dfd9d8 Merge "Collect sensor data in `redfish` hardware type" 2019-07-01 10:03:43 +00:00
Julia Kreger
5f18e52b64 Remove CIMC/UCS drivers
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
2019-06-25 23:44:19 -07:00
Ilya Etingof
82abc0beac Collect sensor data in `redfish` hardware type
Adds sensor data collector to ``redfish`` management interface.
Temperature, power, cooling and drive health metrics are collected.

Change-Id: I8accdcc73c7e0261579d753633f9dfc02a868115
Story: 2005878
Task: 33692
2019-06-24 11:53:04 +02:00
digambar
3a54fe3e85 Add iDRAC driver realtime RAID creation and deletion
It adds capability to the idrac driver for creating and deleting
RAID sets without rebooting the bare metal node.


Change-Id: I3f4282afff860d9771a3d37f4d5e1172d88e87a3
Story: 2004861
2019-04-25 23:52:41 +00:00
Richard Pioso
708319742d Place upper bound on python-dracclient version
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
2019-04-15 18:29:45 -04:00
Richard Pioso
ed04e8e4a0 Advance python-dracclient version requirement
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
2019-03-18 21:10:20 -04:00
Zuul
f944f60041 Merge "Add Huawei iBMC driver support" 2019-03-15 16:59:23 +00:00
Qianbiao NG
f1f4f892fe Add Huawei iBMC driver support
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
2019-03-14 11:04:29 +08:00
Marcin Juszkiewicz
442376a7c2 driver-requirements: mark UcsSdk as Python 2 only
Change-Id: Ia89f11861f100e08430f0e8a46276d1fc03ba53d
2019-03-08 10:44:30 +01:00
Anshul Jain
58a395bf83 OOB RAID implementation for ilo5 based HPE Proliant servers.
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
2019-01-03 09:03:36 +00:00
Bill Dodd
9880262def Add BIOS interface to Redfish hardware type
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
2018-11-29 12:05:48 -06:00
Julia Kreger
abb0865771 Remove oneview drivers
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
2018-10-15 16:32:15 -07:00
Michal Arbet
3749cd618b Fix async keyword for Python 3.7
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
2018-09-05 16:18:35 +02:00
Zuul
0d358d768f Merge "iLO BIOS interface implementation" 2018-07-23 11:06:58 +00:00
vmud213
66e1ccb7c5 iLO BIOS interface implementation
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
2018-07-20 17:52:46 +05:30
Zuul
072cf9b560 Merge "Follow-up changes to iRMC bios interface." 2018-07-18 13:50:30 +00:00
Julia Kreger
72f7a70184 Follow-up changes to iRMC bios interface.
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
2018-07-18 08:12:45 +00:00
Ilya Etingof
0d03136bcc Migrate ironic snmp driver to the latest pysnmp API
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
2018-07-16 12:43:03 +02:00
Luong Anh Tuan
fa59565be0 Implement iRMC BIOS configuration
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
2018-07-11 08:04:15 +07:00
Nguyen Van Trung
84ae0c323c Support RAID configuration for BM via iRMC driver
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
2018-07-04 15:45:34 +07:00
Julia Kreger
83c4ec9393 Fix callback plugin for Ansible 2.5 compatability
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
2018-04-06 15:28:07 +00:00
Julia Kreger
b8725e5d2b Exclude Ansible 2.5 from driver-reqs
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
2018-03-23 18:42:19 -07:00
kesper
8763637255 Implementation for UEFI iSCSI boot for ILO
This change adds new methods in management interface and enhance
boot interface of 'ilo' hardware type to support boot from iSCSI
volume in UEFI boot mode.

Change-Id: I585e0ef90f4397af1f09920c3a1bc47ddbcb1a97
Related-Bug: #1526861
2018-01-25 06:33:21 +00:00
Zuul
83e3afbdee Merge "Add XClarity Driver" 2018-01-22 23:30:28 +00:00
Rushil Chugh
346a9a3bfc Add XClarity Driver
This patch proposes to add new interfaces for management and power
for the Lenovo XClarity Driver.

Change-Id: Ic2743f9a4959a6165a7ec40f4772afb231205f36
Closes-Bug: #1702508
2018-01-22 08:39:09 -05:00
Hugo Nicodemos
97a8ae1c77 Introduce hpOneView and ilorest to OneView
It introduces the ``hpOneView`` and ``ilorest`` library to the
OneView Driver. This patch will be used as the standard patch to
other patches related to the removal of the ``python-oneviewclient``
library dependency.

Change-Id: Ib9d72ff5713d58631bcdccc817707b5d512e156e
Partial-Bug: #1693788
Co-Authored-By: Fellype Cavalcante <fellypefca@lsd.ufcg.edu.br>
Co-Authored-By: Ricardo Araujo <ricardo@lsd.ufcg.edu.br>
2017-12-13 14:57:10 -03:00
Zuul
65a969118a Merge "Add additional capabilities discovery for iRMC driver" 2017-11-30 20:00:30 +00:00
Zuul
52f20d1565 Merge "Add ansible deploy interface" 2017-11-27 18:14:15 +00:00
Nguyen Hung Phuong
7adbf11bb8 Add additional capabilities discovery for iRMC driver
This update enhances iRMC out-of-band hardware inspection for
FUJITSU PRIMERGY bare metal nodes having iRMC S4 and beyond.

The capabilities are server_model, rom_firmware_version,
pci_gpu_devices, trusted_boot and irmc_firmware_version.

Co-authored-By: Nguyen Van Trung <trungnv@vn.fujitsu.com>

Change-Id: I1958e18a5b9d933e2aa405b200bac7717f146611
Closes-Bug: #1637422
2017-11-21 17:49:42 +07:00
Stenio Araujo
daa4e7ad63 Revert "Introduce hpOneView and ilorest to OneView"
Reverting these changes because python-hpOneView does not provide HTTPS
secure connection with custom CAcert and could cause a possible security issue.

This reverts commit 3a5288a9adcb184ac4cc371816dc2ffa18695bbb.

Change-Id: I04d8435627873380bced7dc31f7469cdeb4bed12
2017-11-09 16:14:16 -03:00
Hugo Nicodemos
9b523967e1 Revert "Remove python-oneviewclient from Ironic OneView drivers"
Reverting these changes because python-hpOneView does not provide HTTPS
secure connection with custom CAcert and could cause a possible security issue.

This reverts commit 037360f64d5db7401df1d656fa8f1932011b5587.

Change-Id: I2a95f3cd23f20c363fe97fc347c9d2619d2ab5e9
2017-11-09 16:12:03 -03:00
Hugo Nicodemos
285a760713 Revert "Update python-ilorest-library to hardware type OneView"
Reverting these changes because python-hpOneView does not provide HTTPS
secure connection with custom CAcert and could cause a possible security issue.

This reverts commit 57bf86b06ae7d247ac2cf93c0d29922ef664698f.

Change-Id: Ic543f3f2ebc8fc761ff523846e43093f68b6873d
2017-11-09 16:10:51 -03:00
Pavlo Shchelokovskyy
9b1a7ceb4b Add ansible deploy interface
this patch pulls the ansible deploy interface code
and related ansible playbooks and auxiliary files
from ironic-staging-drivers project into main ironic tree.

As discussed in the spec, the use of ramdisk callbacks
(lookup and hearbeats) is now mandatory with this deploy interface.
Playbooks and modules were updated to require Ansible>=2.4,
and custom Ansible module for executing 'parted' was replaced
with usage of built-in Ansible module.

The custom Ansible callback plugin now uses journald logger
by default to adapt to the default DevStack setup.

Documentation and devstack plugin changes enabling automated
testing of this interface will be proposed in followup patches.

Change-Id: I43f54688287953ccb1c2836437aea76236e6560b
Related-Bug: #1526308
2017-11-09 10:30:56 +00:00
Hugo Nicodemos
57bf86b06a Update python-ilorest-library to hardware type OneView
Previously the python-ilorest-library didn't support python3,
this patch updates the library requirement to a minimum version
that supports python3.

Change-Id: I5907267a8b2f24b915f03fc0b149a885a458fe2a
2017-11-06 11:01:55 -03:00
Hugo Nicodemos
037360f64d Remove python-oneviewclient from Ironic OneView drivers
This patch removes the python-oneviewclient library from
OneView drivers since it was migrated to python-hponeview
and python-ilorest-library.

Change-Id: I061381a941e7d7f82863b326bb7555d41395e661
Closes-Bug: #1693788
2017-11-01 13:42:22 -03:00
Aparna
c725f541de Support SUM based firmware update as clean step for iLO drivers
This commit adds support to perform Smart Update Manager (SUM)
based firmware update as an inband manual clean step
`update_firmware_sum` for iLO drivers.

Closes-Bug: #1648448
Change-Id: I581d5bc535420d4493394d16cf6cc2bb0ddeb8f7
2017-10-10 07:36:51 +00:00
Hugo Nicodemos
3a5288a9ad Introduce hpOneView and ilorest to OneView
It introduces the hpOneView and ilorest library to the OneView
Driver. This patch will be used as the standard patch to other
patches related to the removal of the python-oneviewclient
library dependency.

Partial-Bug: #1693788
Change-Id: I77a220e8dc7099850aa5edb7a51e19ae486675a9
2017-09-05 16:01:49 -03:00
Debayan Ray
9d8ca37a37 Update proliantutils version for Pike release
This commit updates the proliantutils version required in
Ironic to 2.4.0 for Pike release. This version of
proliantutils includes the following:

  1. Support for Gen10 servers using Redfish protocol.
  2. ``local_gb`` defaults to 0 (zero) when no disk could be
     discovered during inspection.
  3. Provides one-pass disk erase support using HPE SSA CLI when
     sanitize disk erase not supported for Proliant hardware
     manager in IPA.

Change-Id: Id8eb962854d994f8a23921d4195c7af1ffb00760
2017-08-15 15:05:17 -04:00
Luong Anh Tuan
802c86ef04 Secure boot support for irmc-pxe driver
This patch adds secure boot support for irmc-pxe boot interface as
follows:
- Implement secure boot support for irmc-pxe boot interface
- Update version of python-scciclient supporting secure boot
- Update irmc-pxe driver documentation

Change-Id: Ie82ff07421d23b5c0d26e2d2fbde33fc9f8e3c42
Partial-Bug: #1694649
2017-08-08 11:32:55 +07:00
Richard Pioso
e3753b3597 Revert "Wait until iDRAC is ready before out-of-band cleaning"
The openstack/ironic project portion [0] of the fix to bug #1691808
"Manual cleaning fails when using iDRAC driver" [1] is no longer needed.
That is because the openstack/python-dracclient project has adopted
library-wide the best practice that fix contains [2]. Therefore, this
can be removed.

[0] https://review.openstack.org/#/c/466086/
[1] https://bugs.launchpad.net/ironic/+bug/1691808
[2] https://bugs.launchpad.net/python-dracclient/+bug/1697558

This reverts commit 35f222c55deaa13c599de80eb9eaf0e4cbf8165e.

Change-Id: I1d313b750f931125567d1ca1c4ef1bbeb998746c
Closes-Bug: #1702195
Depends-On: Ied659a4ee45b1dd55cd3a420301d866d52c838fb
Related-Bug: #1691808
Related-Bug: #1697558
2017-07-07 14:18:24 -04:00