168 Commits

Author SHA1 Message Date
Zuul
484dcd5b60 Merge "Add Redfish BIOS interface to idrac HW type" 2020-09-25 02:32:22 +00:00
Aija Jauntēva
796e2302c3 Add Redfish BIOS interface to idrac HW type
This change adds idrac hardware type support of a BIOS 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'.

The idrac hardware type declares support for that new interface
implementation, in addition to all BIOS interface implementations it has
been supporting. The highest priority BIOS interface remains the same,
the one which relies on the Web Services Management (WS-Man) OOB
management protocol. The new 'idrac-redfish' immediately follows it.

Co-Authored-By: Eric Barrera <eric_barrera@dell.com>
Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
Co-Authored-By: Mike Raineri <mraineri@gmail.com>
Story: 2008100
Task: 40803
Depends-On: https://review.opendev.org/#/c/750020/
Change-Id: Ic5a1da418dccb0f3ec92914909aacd7c339d8837
2020-09-23 13:34:50 +00:00
vmud213
6d36b0b785 Adds ilo-uefi-https boot interface to ilo5
Change-Id: I224eca4d8b331711369b17903098daa9fec27d7d
Story: #2008073
Task: #40761
2020-09-17 13:20:53 +00:00
Dmitry Tantsur
46f8c85752 Add agent power interface
This change adds a new 'agent' power interface that can be used together
with fast-track to deploy nodes without knowing their power credentials.
It relies on the agent staying powered on during the whole pre-deployment
and deployment process.

Story: #2007771
Task: #39995
Change-Id: I3d7157c1c4464b650adebbd7f894ee33d0f8f25b
2020-07-20 09:42:05 +02:00
Zuul
50e06f4582 Merge "Feature: Add raid configuration support for ibmc driver" 2020-06-11 16:35:03 +00:00
Sean McGinnis
e8daa0f270
Add virtualbmc as an extra dependency
The virtualbmc package is only needed in CI runs, so it doesn't quite
fit as a declared "normal" dependency of the project. But requirements
tooling only looks in [test-]requirements.txt and setup.cfg when
checking if a package is being used, so since it has not been declared
in any of these so far, it gets flagged as an unused dependency.

This is a workaround to fix this issue. It likely will never be
installed through this extra requirement path, but it will ensure the
package gets recognized as something being used by our projects.

Change-Id: Id7eb44954308b10d6097ee9894d58867fde6804b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-06-10 08:24:07 -05:00
Qianbiao.NG
cd6e5ec497 Feature: Add raid configuration support for ibmc driver
This patch proposes to adding raid configuration support for HUAWEI iBMC driver.

Story: 2007554
Task: 39406
Signed-off-by: Qianbiao.NG <iampurse@vip.qq.com>
Change-Id: Iace17b2d233323f4648d2857ec1b9fb83d42c045
2020-06-10 16:17:50 +08:00
maaoyu
c1834cc4bf Add py38 package metadata
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.

Change-Id: I8ceecac4f5ad6fb48b41d5106e2f6b67bf354763
2020-05-25 10:32:40 +08:00
melissaml
c38465eaa8 Remove translation sections from setup.cfg
These translation sections are not needed anymore, Babel can
generate translation files without them.

Change-Id: I50f4af86556f9873df395f6469febdc1908311ae
2020-05-14 17:17:39 +08:00
Zuul
9632d392f0 Merge "Implement the bios-interface for idrac-wsman driver" 2020-04-24 10:25:37 +00:00
noor_muhammad_dell
cb86bd3088 Implement the bios-interface for idrac-wsman driver
The BIOSInterface implementation for idrac-wsman Hardware Type was
missing and VendorInterface methods were used to configure BIOS instead.
This was not desired since it exposes a lot of vendor intricacies to the
operator and makes the existing mechanism unstable across Ironic releases.

This change introduces the implementation of BIOSInterface with the following
code changes:

1. update IDRACHardware class with supported_bios_interfaces() method
2. update setup.cfg with an entry for idrac-wsman in bios interfaces
3. Implement the DracWSManBIOS class with appropriate methods
4. Unit tests for the work

Change-Id: Ie85e30e2dfdfb1f199ac4d25f165e0cca033a4df
Co-authored-by: Richard Pioso <richard.pioso@dell.com>
Story: 2007400
Task: 38998
2020-04-17 15:41:24 +05:00
Zuul
305822c37c Merge "Cleanup Python 2.7 support" 2020-04-06 17:01:18 +00:00
Andreas Jaeger
163c8346a3 Cleanup Python 2.7 support
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove section from setup.cfg: Wheel is not needed for python
  3 only repo
- Update requirements, no need for python_version anymore

Change-Id: Ib2221fc13cd53c93150e838418e7e110e087d1b3
2020-04-03 17:49:23 +02:00
Dmitry Tantsur
1d9c8283b8 Make oslo.i18n an optional dependency
In an ideal world we would have all messages translated to at least major
languages. In reality, ironic has never boasted a great set of translation,
and according to Zanata only 2.94% of messages are translated for ironic
in Train (1.33% for ironic-inspector). Given that ironic-python-agent is
not translated at all, using i18n by default seems an overkill.

Change-Id: I12287c6b7208af487cc9eee825ae7f38ec707d91
2020-04-02 14:10:21 +02:00
Dmitry Tantsur
9f93694b9a Make oslo.reports an optional dependency
It is only required for one specific feature, let people install it
if they need it.

This change is a part of the major effort to reduce the number of
ironic dependencies.

Change-Id: Ia45ce1d573c89f583d641be3d37d1c127e6345bc
2020-04-02 11:52:04 +02:00
Iury Gregory Melo Ferreira
b869b46c63 Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

Ironic is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal - https://review.opendev.org/#/c/691178/

Change-Id: I3cc36d79ffabf31607d503dada9e7512c639647c
2019-11-22 14:06:45 +01: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
mpardhi23
62579800fb Add Redfish inspect interface to idrac HW type
This change adds idrac hardware type support of an inspect 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'.

The idrac hardware type declares support for that new interface
implementation, in addition to all inspect interface implementations it
has been supporting. The highest priority inspect interfaces remain the
same, those which rely on the Web Services Management (WS-Man) OOB
management protocol. The new 'idrac-redfish' immediately follows those.

Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
Change-Id: I6d8f5cd629e2e17eb86b6f8154a605050e0c7abe
2019-09-17 15:34:54 -04:00
Richard Pioso
03471be1ed Add first idrac HW type Redfish interface support
This change adds initial idrac hardware type support of interface
implementations that utilize the Redfish out-of-band (OOB) management
protocol and are compatible with the integrated Dell Remote Access
Controller (iDRAC) baseboard management controller (BMC), presently
those of the management and power hardware interfaces. They are named
'idrac-redfish'.

It also introduces a new name for the 'idrac' interface implementations,
'idrac-wsman', and deprecates 'idrac'. They both use the Web Services
Management (WS-Man) OOB management protocol.

The idrac hardware type declares support for those new interface
implementations, in addition to all interface implementations it has
been supporting. The priority order of supported interfaces remains the
same. Interface implementations which rely on WS-Man continue to have
the highest priority, and the new 'idrac-wsman' is listed before the
deprecated 'idrac'.

Story: 2004592
Task: 36275
Change-Id: I11f002eff78d27369b3dbe9a9fbd5fc73496a5eb
2019-09-16 07:19:17 -04: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
Zuul
ed5f8a67af Merge "Add iPXE boot interface to 'ilo' hardware type" 2019-08-20 16:04:26 +00:00
Shivanand Tendulker
1e3b684037 Add iPXE boot interface to 'ilo' hardware type
This commit adds new boot interface 'ilo-ipxe' to support booting
of iPXE instances using 'ilo' hardware type.

Change-Id: I3abebc77cbc57344a74759e0a8b99e8cacac6f6b
Story: 2006408
Task: 36292
2019-08-16 12:32:36 -04:00
Ilya Etingof
9fab96fc37 Add Redfish Virtual Media Boot support
This patch introduces standard Redfish virtual media boot
support to ironic.

The patch implements basic boot interface features along with
devstack plugin support for virtual media boot. Functionally,
redfish boot interface supports the same set of features as PXE.

Unlike other virtual media boot implementations (e.g. iLo), this
patch does not require user-built deploy/rescue/boot ISO images
for virtual media boot. Instead, ironic will build necessary images
out of common kernel/ramdisk pair (though user needs to provide
ESP image).

Story: 1526753
Task: 10389
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
Change-Id: I0db0a64c5ccf260f5a0695dbe994af1e11f71517
2019-08-14 14:19:03 +02:00
Zuul
6cf49dad6c Merge "Add IntelIPMIHardware" 2019-07-09 10:39:44 +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
Madhuri Kumari
5127b6f6dd Add IntelIPMIHardware
IntelIPMIHardware is a hardware that supports configuring Intel Speed Select
Performance Profile using ipmitool.

Change-Id: I49abccb4735b43aed3155ea7e24b2fa0416c83b2
Story: 2005390
Task: 30484
2019-06-25 13:46:26 +05:30
ZhongShengping
befc4a61e6 Update Python 3 test runtimes for Train
This goal is to implement the process set out in the 2018-10-24 Python
Update Process TC resolution[1], for the Train cycle to ensure unit
testing is in place for all of the Tested Runtimes for Train[2].
In practice, this generally means adding unit tests for Python 3.7 and dropping
unit tests for Python 3.5. Using the Zuul template for Train will ensure that
all projects that support Python3 will be tested against the agreed runtime
versions, and make it easier to update them in future.

[1]https://governance.openstack.org/tc/resolutions/20181024-python-update-process.html
[2]https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: I06e6c071b8bd369c8a66bade2490f65070fd0665
Depends-On: https://review.opendev.org/#/c/641878/
2019-05-09 17:42:47 +08: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
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
f526c03ab3 Correct author email address
Change-Id: I4e5595a4ddfd74ac8e4d7f60251dfbd4dd4048c4
2018-11-27 14:57:07 -08:00
Zuul
f4fee34801 Merge "Add Redfish inspect interface" 2018-11-27 03:38:09 +00:00
Nisha Agarwal
41d3356571 Add Redfish inspect interface
Add the InspectInterface to the `redfish` hardware type. This enables
OOB inspection in ironic.

Story: 1668487
Task: 10571

Co-Authored-By: Ilya Etingof <etingof@gmail.com>
Depends-On: I3a79f2afe6c838636df554ee468f8f2e0cf0859e
Depends-On: Ieb374f8cabb0418bb2680fdab690446346fc354f
Change-Id: Ie3167569db060620fe0b9784bc7d7a854f2ef754
2018-11-03 09:09:56 +01:00
whoami-rajat
1f1a2c3bd8 Add ironic-status upgrade check command framework
This adds basic framework for ironic-status upgrade
check commands. For now it has only "check_placeholder"
check implemented.
Real checks can be added to this tool in the future.

Change-Id: I7d5f018656322b92c663a2adaaf6330a55c00fb8
Story: 2003657
Task: 26133
2018-11-01 19:58:13 +00:00
Zuul
01d46be1fa Merge "Remove oneview drivers" 2018-10-22 18:58:10 +00:00
Julia Kreger
c787f6806f ipxe boot interface
A long time ago, in a galaxy not so far away,
the ironic comunity reached consensus that we
should refactor the PXE interface such that we
had separate PXE and iPXE interfaces.

In looking at what it would take for something like
a standalone deployment to have multiarchitecture
support in their environment, it seems even more
urgent and necessary that we begin to make this
delineation. This is because while some ARM iPXE
support exists, the binary is not a commonly
shipped artifiact, so operators are largely
only left with grubaa64.efi as their bootloader.

A similar issue exists with ppc64le deployments
where they must disable iPXE, as the ppc64le
hardware expects reading a syslinux compatible
file, similarlly no iPXE loader exists.

To start this effort, we need to promote iPXE
functionality to a dedicated interface,
and remove the necessity of setting the
[pxe]ipxe_enabled setting.

Next steps, beyond this patch, would be to
begin to tease out the common private method
code in the underlying PXE interface that both
the iPXE and PXE interfaces use, and appropriately
relocate and refactor that code as necesary.

During this process, we can create an [ipxe]
configuration section, and migrate settings.

Finally, once the deprecation cycle is complete,
we will be able to remove the ipxe logic with-in
the PXE interface.

Change-Id: I392616417c48986e84e50a3ddc7567344bfe3571
Story: #1628069
Task: #10516
2018-10-16 13:19:04 +00: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
Dmitry Tantsur
d42bd9a77b Add "noop" management and use it in the "ipmi" hardware type
The new management interface targets hardware that does not correctly
support changing the boot device via IPMI. For example, some hardware
was reported to break the configured boot order in this case. Using
the "noop" management will allow operators to pre-define the boot order
as PXE -> DISK.

Change-Id: Iae2837b100905e9e06cc2cd2614f0af81bf13752
Story: #2003203
Task: #23359
2018-08-07 13:25:50 +00:00
Julia Kreger
731af40129 Adds ramdisk deploy driver
Adds a pxe deploy driver to support the concept
of a deployment just consisting of a ramdisk.

Ideally, as long as a kernel and ramdisk are
defined, either by the operator or via a glance
image, the PXE/iPXE template should point the
booted kernel to using ramdisk as the root.

In theory, this would allow deployment via
nova, or directly using the parameters posted
to the node's instance_info.

There may be additional features realistically
needed for this to be beyond minimally useful,
but that would also depend on the contents of
the ramdisk that is deployed by an API user.

Change-Id: Id7067527cba27ed49753736f33ccb35e9b35bcba
Story: 1753842
Task: 10666
2018-07-26 17:22:47 +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
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
Dmitry Tantsur
1a07137118 Remove the ipmitool classic drivers
This change removes pxe_ipmitool and agent_ipmitool. Some tests
and documentation bits are removed, since we no longer have any
classic drivers to provide examples.

The Inspector.create_if_enabled method is no longer used and was
removed. The [inspector]enabled option will be deprecated in
a follow-up.

IRONIC_ENABLED_DRIVERS is removed from devstack to prevent
devstack-gate from injecting the removed drivers into it.
A temporary migration from queens is updated to disable all
classic drivers. It will be removed when the enabled_drivers
option is completely removed.

Change-Id: Iab247e3b3336f90446ef0687edb340cf8282a925
2018-06-27 13:08:42 +02:00
Dmitry Tantsur
3d8f3ec1a9 Remove the iRMC classic drivers
This changes removes pxe_irmc, iscsi_irmc and agent_irmc.

Change-Id: Ie829ee1758fce38acdd3ae2bb3525bcea37ac6d4
2018-06-26 14:30:38 +02:00
Dmitry Tantsur
384f966003 Remove the OneView classic drivers
This change removes iscsi_pxe_oneview and agent_pxe_oneview.

Change-Id: I4301e35f321bd041441dcfce494393fb90e293f3
2018-06-26 14:30:27 +02:00
Dmitry Tantsur
6deb0c3b0b Remove the deprecated pxe_snmp driver
Change-Id: I3e9d102698cb09171c3ca3031098bc9f1d829a72
2018-06-26 14:30:11 +02:00
Dmitry Tantsur
575640cfac Remove the deprecated classic drivers for Cisco UCS hardware
This change removes pxe_ucs, agent_ucs, pxe_iscsi_cimc and
pxe_agent_cimc. Best effort clean up was done to the documentation.

Change-Id: I4fe75e0d4a36228f2f6be6bf6ced6d37424b6fd3
2018-06-26 14:29:56 +02:00
Dmitry Tantsur
09e89c09d1 Remove the iDRAC classic drivers
This removes the pxe_drac and pxe_drac_inspector classic drivers.

Change-Id: I2837bc626425869008d9222523b05e2ce5175c19
2018-06-26 14:29:37 +02:00
Zuul
5b199fa3dc Merge "Add an external storage interface" 2018-06-26 11:49:41 +00:00
Dmitry Tantsur
9c7729d6b7 Remove the ilo classic drivers
This removes pxe_ilo, iscsi_ilo and agent_ilo. Also removed is
the whole documentation section dedicated to them.

Change-Id: Ie6f8a65d68ce4eb9c8467c416df5f3a35f0abe98
2018-06-22 16:55:20 +02:00