78 Commits

Author SHA1 Message Date
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
Christopher Dearborn
35f222c55d Wait until iDRAC is ready before out-of-band cleaning
When out-of-band cleaning is initiated, the node is PXE booted and the
ramdisk is loaded.  After in-band cleaning completes, the node is
rebooted.  At that point, the iDRAC automatically creates and runs an
"Export Configuration" job.  Out-of-band cleaning then starts: either
RAID configuration creation or deletion.  If the export job has not
finished by the time the RAID deletion or creation job is attempted to
be created, then the RAID job creation fails.

This patch causes RAID configuration creation and deletion to wait
until the iDRAC declares itself to be ready before proceeding with
out-of-band cleaning.  This ensures that the export job has completed
before creating another job.

Change-Id: I79faba2206b86288ae636c46468a8b2dc321f979
Closes-Bug: 1691808
Depends-On: I929deada3dda7b09a6f29033fff89d9b0382aef8
2017-06-15 10:06:40 -04:00
Lucas Alvares Gomes
c21149454a Add redfish driver
This patch is adding a redfish driver based on the sushy library. This
is just a basic driver that currently supports:

* Power: Hard power on/off/reboot, soft power off/reboot
* Management: Setting the boot device (PXE, disk, cd-rom and bios)
              and its frequency (persistent or not)
* Management: NMI Injection
* SSL authentication

Unittest coverage for the redfish modules is now in 100%, let's try to
keep it this way (-:

Documentation and DevStack updates will be done on subsequent patches.

Partial-Bug: #1526477
Change-Id: I14470edff65cd14bb73263ec7310559a8eaa6c84
2017-04-21 11:06:24 +01:00
Jay Faulkner
96eafdc866 Remove deprecated, untested ipminative driver
The ipminative driver was marked as unsupported on September 28, 2016,
and an email was sent to the list on March 9th, 2017 asking for
volunteers to run third-party CI to save the driver from deprecation.

Additionally, many ironic contributors who also deploy ironic have
reported instability while using this driver. For these reasons it's
being removed from the main ironic tree. If there are any users still
interested in this driver, they are invited to host it elsewhere.

Change-Id: I9bc9f4cbd916f040a636b967ec5556197ad3d8a8
Closes-bug: #1671532
2017-03-30 10:34:21 -07:00
Debayan Ray
677b48cb65 Update new proliantutils version to 2.2.1
This commit updates the proliantutils version required in Ironic
to 2.2.1. This version of proliantutils includes HPSUM firmware
update support and updation of requirements to match
global-requirements (required to fix third party CI gate jobs)

Change-Id: Ife96638b6262d22b3aa82155df3d7e4f525bd22b
2017-03-15 11:43:28 -04:00
Pavlo Shchelokovskyy
02ce7246ec Remove most unsupported drivers
In accordance with ironic CI policies, this patch removesi some drivers
that are not tested on upstream or third-party CI
and for which maintainers have not communicated any plans
to have such testing.

This includes:
- virtualbox drivers
- seamicro drivers
- msftocs drivers

Change-Id: Ia3a7d798c877f4628946ee6c56d850b9847e6c3e
Closes-Bug: #1663018
2017-02-09 08:09:03 +00:00
Shivanand Tendulker
eb5a7bfbeb Update proliantutils version required for Ocata release
This commit updates the proliantutils version required in
Ironic to 2.2.0 for Ocata release. This version of
proliantutils includes support for sanitize disk erase using
SSA utility.

Change-Id: I31a8467bc1917b08e61579fef0610b3fc297ece6
2017-01-24 22:26:59 -08:00
Jenkins
d8b04680d4 Merge "Adds another validation step when using dynamic allocation" 2016-12-19 19:49:22 +00:00
Stenio Araujo
acfe366566 Adds another validation step when using dynamic allocation
The OneView driver currently allows nodes to use Server Profile
Templates (SPTs) that are marked to use Virtual MACs. This is an issue
because the MAC the machine is going to use will only be specified at
profile application. The driver only works with physical MACs in the
dynamic allocation case. This should be checked in all interfaces'
validations.

Change-Id: I5b779ac58ce096a52876bace77702e828aaac711
Depends-On: I21a1ebfc14ec33c661a1e7c7c1dbdcdcab04f119
Closes-Bug: 1627818
Co-Authored-By: Charlle Daniel <charlledaniel@lsd.ufcg.edu.br>
2016-12-13 22:37:15 -03:00
Pavlo Shchelokovskyy
87c2db4dc6 Remove iBoot, WoL and AMT drivers
This patch removes the mentioned drivers from ironic code tree.

Per our third-party drivers policy they are unsupported,
and there is no existing plan to have third-party CI for them.

Nevertheless, if anybody still needs them, they are available in
ironic-staging-drivers repo.

Change-Id: I1219892bbc1b814d80b62c8ec89b90819071870f
Related-Bug: #1640533
2016-12-13 09:31:08 +02:00
Xavier
b78605487d Add inspection feature for the OneView drivers
This change is about adding the ability to the OneView drivers of doing
hardware inspection. In this context, for enable hardware under
management by OneView been inspected, is essencial a Server Profile
applied to that hardware. A Server Profile, in OneView context, means
a configuration that makes booting and connectivity operations settings
possible.

Considering in-band inspection as the inspection process that involves
booting a ramdisk on the target node and fetching information directly
from it, in this patch we extend the
ironic.drivers.modules.inspector.Inspector class to inherit the ironic
implementation for in-band inspection behaviours and to address our
needs, we override the 'inspect_hardware' method to apply the needed
Server Profile and we also override the '_periodic_check_result'
periodic task to remove the Server Profile after the inspection
process is over.

Change-Id: I77ebf4b9175c2c1df1baa6d58714ff54c97c17ff
Closes-Bug: 1621530
2016-09-28 20:50:38 -03:00
Aparna
8a03cfc755 Update proliantutils version required for Newton release
This commit updates the proliantutils version required in Ironic
to 2.1.11 for Newton release.

This version of proliantutils fixes the bug caused by python
request library version 2.11.0. It also includes defect fixes
for Proliant Gen7 support and iLO based RAID configuration.

Change-Id: I4b42686496a03751b4136614af7f3ba0753bbf73
2016-09-15 06:55:26 +00:00
Jenkins
a5619a73ad Merge "Update driver requirement for iRMC" 2016-09-05 10:37:28 +00:00
Jenkins
b479defac7 Merge "DRAC OOB inspection" 2016-09-02 14:43:27 +00:00
Imre Farkas
da93b01f32 DRAC OOB inspection
Implements out-of-band inspection in the DRAC driver using inspection
interface.

Change-Id: I0d63f31473776551550f917dbc7237564881f566
Closes-bug:  #1603454
2016-09-02 12:08:38 +02:00
Naohiro Tamura
bffd5a8822 Update driver requirement for iRMC
This patch updates python-scciclient required version number for iRMC
driver to 0.4.0 which contains the bug fix '#1561852' and miscellaneous
improvement.

Change-Id: Ia190eb8eca44e24d0d654d95ca68ba2930359294
2016-09-02 14:08:15 +09:00
Dmitry Tantsur
08e66ef8ec Switch Inspector interface to pass keystoneauth sessions
This enables fetching the service URL from keystone catalog.

Change-Id: If862481533cf121bc6e829f0f39893134578ec30
2016-08-22 18:04:29 +02:00
Aparna
d04caea350 Update proliantutils version required for Newton release
This commit updates the proliantutils version required in Ironic
to 2.1.10 for Newton release. This version of proliantutils
includes defect fixes related to iLO based firmware upgrade and
iLO based RAID configuration.

Change-Id: I2b22ef75fed484817a7e449c5e60efc7279d4f80
2016-08-11 03:42:44 +00:00
Debayan Ray
5ecda6bee0 Update proliantutils version to 2.1.7 for Mitaka release
This commit updates the proliantutils version required in
Ironic to 2.1.7 for Mitaka release. This version of
proliantutils includes changes to NIC info and firmware
version retrieval logic.

Change-Id: Ieacfb2555bce0fc1f2542ddc837c6c67347fd891
2016-03-03 03:30:26 -08:00
Gabriel Assis Bezerra
146eaad257 Loose python-oneviewclient version requirement
The previous requirement was restricting any upgrade in the minor
version field of the python-oneviewclient library. According to
semver, only changes in major version field denote backwards
incompatible changes.

This patch changes the current upper limit from <2.1.0 to <3.0.0 --
where backwards incompatible changes are expected.

Change-Id: Id8880ad7cafaee1818a8aef6cbaec98b534b0ab1
2016-02-29 15:28:44 +00:00
Shivanand Tendulker
6af9da97e1 Update proliantutils version required for Mitaka release
This commit updates the proliantutils version required in Ironic
to 2.1.6 for Mitaka release. This version of proliantutils
includes defect fixes and feature enablement related to iLO based
firmware upgrade.

Change-Id: Ic895dcbf70fa0cc02d49e17bc8e9d2de40ab9ec8
2016-02-25 10:51:16 -08:00
Imre Farkas
bb64c4d23a Follow-up on dracclient refactor
This is a follow-up on commits 72f64cce2b0879c43cd582107d1347d65ee63f9c
and 47be8011c6314497d07a26137548375368bc5b07.

Change-Id: Ieae9f165facd53e888194bb98f113a9eb933366e
2016-02-05 11:06:21 +01:00
Jenkins
d54c1535ca Merge "DRAC: cleanup after switch to python-dracclient" 2016-02-03 20:33:04 +00:00
Imre Farkas
47be8011c6 DRAC: cleanup after switch to python-dracclient
DRAC specific code from Ironic is moving to its own project, to
python-dracclient project. This patch finishes refactoring code in
Ironic to use the new library.

Change-Id: I6223dbbeb770d773ebdd72277017156cbdb1d035
2016-01-25 12:44:11 +01:00