51 Commits

Author SHA1 Message Date
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
Sam Betts
a8afe45085 Update ImcSdk requirement to use PyPi
ImcSdk is now on PyPi, so instead of fixing the version requirements and
pointing at a tar.gz download, we can rely on install using pip and
PyPi.

Change-Id: Icd94f6b231e4924728dd2c25fb1b59de16391b82
2016-01-20 15:59:12 +00:00
Imre Farkas
0ced09b832 DRAC: switch to python-dracclient on power interface
DRAC specific code from Ironic is moving to its own project, to
python-dracclient project. This patch starts using the new library.

Change-Id: I68251fc2b5dd169bb22bbbe38fe9eea16c5ac806
Partial-Bug: #1454492
Depends-On: Iab9d9f7e4e25e3d3fdec9b28fe49a7226e68c9ff
2015-12-15 14:11:20 +01:00
Naohiro Tamura
e936fbfda1 Update python-scciclient version number
This patch updates python-scciclient version number for iRMC drivers.

Change-Id: I79e8b82b34e702e59ebe0f92746d10a0f3c955a8
closes-bug: #1518999
closes-bug: #1519000
2015-12-08 11:23:55 +09:00
Marcus Rafael
65f6b00bdf Updating OneView driver requirements and docs
A bump of the required python-oneviewclient version and
docs update regarding the use of Server Profile Templates.

Co-Authored-By: Sinval Vieira <sinvalneto01@gmail.com>

Change-Id: Icfef11c4953523b993631bc798efd2cfebcbe5f8
2015-12-03 12:33:52 -03:00
Sam Betts
409c603761 Change required version of ImcSdk to 0.7.2
There was a bug discovered in ImcSdk 0.7.1 with the SSL handshake that
caused problems when running Ironic for longer periods of time, this
patch changes the required version to the latest version of the ImcSdk
which contains a fix for this issue.

Change-Id: I7665e953b73ed83d5fb5d8adfbed5b3647e5ed48
Closes-Bug: #1508849
2015-10-22 10:30:28 +01:00
Thiago Paiva
78cb00d6c0 Update python-oneviewclient version
A new release of python-oneviewclient was done to address some bugs. This patch
changes the version on driver-requirements.txt.

Change-Id: I9c974352ea180399984a0faef11c3e03cbcaf8a0
2015-10-14 13:06:06 -03:00
Thiago Paiva
460b9f1f5f OneView Driver for Ironic
This driver that will promote integration between Ironic and the HP OneView
Management System. The driver will allow Ironic to borrow non-dedicated servers
from OneViews's inventory to provision baremetal instances with minimal common
pre-configuration, set through OneView's *Server Profile Templates*.

Co-Authored-By: Alberto Barros <albertoffb@lsd.ufcg.edu.br>
Co-Authored-By: André Aranha <afaranha@lsd.ufcg.edu.br>
Co-Authored-By: Caio Oliveira <caiobo@lsd.ufcg.edu.br>
Co-Authored-By: Diego Pereira <diegolp@lsd.ufcg.edu.br>
Co-Authored-By: Gabriel Bezerra <gabrielb@lsd.ufcg.edu.br>
Co-Authored-By: Lilia Sampaio <liliars@lsd.ufcg.edu.br>
Co-Authored-By: Sinval Vieira <sinval@lsd.ufcg.edu.br>

Change-Id: Ic2fb7860e6b4f5183b6525ff7709c7616350a96a
Implements: blueprint new-ironic-driver-for-oneview
Depends-on: I914596e592477e148e642f93cfbe114464c3fe38
2015-10-09 15:14:32 -03:00
Shivanand Tendulker
2a8d9ec0d5 Update proliantutils version required for L release
This commit updates the proliantutils version required in Ironic
to 2.1.5 for L release. This version of proliantutils includes the
following functionality in addition to bug fixes:
* Enablement of logging
* Enablemnet of RIS interfaces in Gen9 for virtual media and boot
  device related operations.

Change-Id: I0421809e9001570790c6268e1b9b3d05b33198a9
2015-09-24 00:07:45 -07:00
Sam Betts
564fdf67c4 Clean up CIMC driver docs and comments
Based on comments on the original commit, this patch fixes a few minor
issues that were picked up.

Change-Id: If71680ac37558caa76cd0e0dae610967485e8a48
Implements: blueprint cisco-imc-pxe-driver
2015-09-21 18:29:44 +01:00
Sam Betts
363c9c38df Add Cisco IMC PXE Driver
Current drivers only allow for control of UCS servers via either IPMI or
UCSM, the Cisco UCS C-Series operating in standalone mode can also be
controlled via CIMC using its http/s XML API. This provides finer
control over the server than IPMI can, and doesn't require the extra
infrastructure that UCSM needs.

Change-Id: Ibd39040e3d7e82a87960d33150750433beb2453b
Implements: blueprint cisco-imc-pxe-driver
2015-09-21 18:29:43 +01:00
Jim Rollenhagen
0d84e27dfc Add version info for pyghmi in driver-requirements.txt
It was found earlier today that some earlier versions of pyghmi don't
work with Ironic due to missing commands etc. I didn't investigate
exactly which versions work, however 0.8.0 is known to be working. So
pin pyghmi to >=0.8.0.

Change-Id: Iabd52167220f686f86c07abe12520e20780d0179
2015-09-09 07:23:12 -07:00
Naohiro Tamura
e01ec7fe84 Add documentation for iRMC virtual media driver
This commit documents the information on enabling and
configuring iRMC virtual media driver(s).

Change-Id: I6792d5ee7af81cc9af2151e701d5cf59879c9af5
Implements: blueprint irmc-virtualmedia-deploy-driver
2015-08-14 14:54:11 +09:00
Jenkins
bbc6281a2d Merge "UCS: node-get-boot-device is failing for Cisco servers" 2015-07-31 06:59:17 +00:00
saripurigopi
eace02d8d6 UCS: node-get-boot-device is failing for Cisco servers
The UCS to Ironic key mapping for supported boot devices was changed
in UcsSdk v0.8.2.2. As a result of that, UCS drivers are failing while
looking at the UCS to Ironic mapping devices dict.

This change would address this problem.

Change-Id: Id86c4e2a7dfde552f808fcf83baba4097d9fd0c5
Closes-Bug: #1478452
2015-07-29 12:19:09 +05:30
Jenkins
b11c5d1999 Merge "Clear ilo_boot_iso before deploy for glance images" 2015-07-07 20:18:28 +00:00
Ramakrishnan G
c4d3abcca8 Clear ilo_boot_iso before deploy for glance images
This commit clears instance_info['ilo_boot_iso']
in iscsi_ilo driver for glance images before beginning
deploy.  This will make sure that in rebuild event with
glance images, we don't end up using previously generated
(or used) boot ISOs.

It also ejects any virtual media devices connected to make
sure that deploy images can be connected later on during
deploy.  The proliantutils version is updated to 2.1.1,
which makes sure that we silently return on
ilo_client.eject_vmedia_device() when virtual media is not
connected (instead of raising an exception).

Change-Id: I68fcfc2b62cb58dd1c16f312c3a6a2ebd383c170
Closes-Bug: 1466729
2015-07-07 11:24:34 +00:00
Naohiro Tamura
4904f70567 add python-scciclient version number requirement
The current driver-requirements.txt has no version number requirement
for python-scciclient.
This patch adds the required python-scciclient version number in
driver-requirements.txt for the iRMC Power and Management modules.

Change-Id: Icaf621c442b60fb1f480d715a40f4929c4a4e929
2015-07-03 11:18:59 +09:00
Dmitry Tantsur
6c08d283bb Finish switch to inspector and inspector-client
This change is a bit ahead of time, as inspector was not released yet,
but we have chicken-and-egg problem with fixing inspector devstack here.

Change-Id: Iddb5377450806ad768582a705e1c4274079b002f
2015-06-19 15:24:26 +02:00
saripurigopi
94ed813202 Addresses UcsSdk install issue
The UcsSdk-0.8.1.7 have issues installing with pip. This commit address
UcsSdk install issue with pip. New version of UcsSdk, 0.8.1.9 will be
used.

Change-Id: I0ed723d4294936eb6e87a45d0fdf41acb3dde6da
Closes-Bug: #1464777
2015-06-16 12:27:37 +05:30
saripurigopi
8c26a8c33b Add pxe_ucs and agent_ucs drivers to manage Cisco UCS servers
This commit adds pxe_ucs, agent_ucs driver changes.
Adds support for the following:

- Power driver changes
- Management interface changes
- UCS Helper code, which can be reused with other parts of the driver,
  ex: to support vendor apis.

Change-Id: I02211da5fad039dc7e6b509d547e473e9b57009b
Implements: blueprint cisco-ucs-pxe-driver
2015-06-10 19:16:04 +05:30
Ramakrishnan G
cb7dcca028 Update pyremotevbox documentation
This commit updates the suggested version of
pyremotevbox to 0.5.0 which removes the requirement
to install a ZSI library separately. This is important
because some distributions don't have this packaged.

Change-Id: I59e2418a735830409891e84fcc048b4005241cad
2015-05-22 02:14:38 +00:00
Ramakrishnan G
b87348a715 Update proliantutils version required for K release
This commit updates the proliantutils version
required in Ironic to 2.1.0 for K release.  This 
version of proliantutils includes the following 
functionality:
* Enablement of RIS protocol for Proliant Gen9 
  servers on which uefi secure boot feature depends.
* Functionality for node inspection using *ilo drivers.
* Functionality for node cleaning.

Change-Id: I09db1eca7fb6d383edaeac5da909d9bb84a8a009
2015-04-08 15:56:24 +00:00
Harshada Mangesh Kakad
ecf2ae8c5f Update pythonseamicroclient package version
Update documentation to indicate lattest pythonseamicroclient
package version(0.4.0). As earlier version did not have
get_boot_order feature implemented which is required in
get_boot_device to get the current boot device.

Change-Id: I765d26d08ef2bb2c3fe7487338cca9c3ed50cdc7
Closes-Bug: #1437227
2015-03-30 03:05:27 -07:00
Lin Tan
f72a694784 Add AMT-PXE-Driver Power&Management&Vendor Interface
Introduce a new driver pxe-amt to extend Ironic's range to desktops.
AMT (Active Management Technology)/vPro is widely used in desktops
to remotely control the power, similar to IPMI in servers.
It will use AMT as power management and PXE as deploy management.
This patch only provides basic operations to support the workflow of
remotely deploying on AMT/vPro system.

This adds power, management and it's own vendor interface.
This also adds a new fake-amt driver.

Implements blueprint amt-pxe-driver
Change-Id: Idd9b63d124f52e24efab8b49dfe1f2e25b8387e6
2015-03-10 00:19:27 +08:00
Dmitry Tantsur
03eb9e022e Add module for in-band inspection using ironic-discoverd
Also adds FakeDiscoverdDriver for the sake of testing.

Change-Id: I49463e7eb897c73b42e1d2816b4f2001b885c7f6
Implements: blueprint inband-properties-discovery
2015-03-05 16:32:26 +01:00
Ramakrishnan G
1e285905fb Add documentation for VirtualBox drivers
This commit adds documentation for VirtualBox drivers.

This also fixes a small bug in logging on the VirtualBox
driver.

Implements: blueprint ironic-virtualbox-webservice-support
Change-Id: I2018f9a89a3644863569ddac3126db71b125fb59
2015-02-24 12:24:33 -08:00
Anusha Ramineni
5463cccf4b Update Ilo drivers to use REST API interface to iLO
Currently, Ilo Drivers use only RIBCL to communicate with
iLO. As proliantutils module has been enhanced to support
communication over REST API for Gen9 Servers, the fix is
to support the use of newer version of proliantutils.

Closes-Bug: 1420210
Change-Id: Idba8a29a725ae393facca65ed0ae02a352e1da48
2015-02-23 15:08:34 +05:30