Commit Graph

133 Commits (6857a6d000f7e61af872fd782092d5f4341d5f31)

Author SHA1 Message Date
mpardhi23 6857a6d000 Implement ResetConfig and ClearForeignConfig functionality
For raid deletion, existing delete_virtual_disk functionality is not
freeing up foreign drives and spares, so have added ResetConfig and
ClearForeignConfig functionality for freeing up foreign drives and

Change-Id: I76390dc4fcf8de2fe5aa3d660f77edcef4a4dec1
2019-04-16 04:38:19 +00:00
Zuul 64ce3e2424 Merge "Filter unprintable ASCII during enumeration" 2019-02-15 22:45:34 +00:00
Christopher Dearborn 95440920fd Filter unprintable ASCII during enumeration
When enumerating DCIM_ControllerView, the DriverVersion field may have
unprintable ASCII characters in it if the server has a BOSS card. In
the past, it was observed that this field could contain unprintable
non-ASCII characters, but unprintable ASCII characters have been
found in it as well.

This fix changes the filtering so that only printable ASCII
characters and the tab character pass the filter.

Closes-Bug: 1816194
Change-Id: If7274fed19fb763aa7c2e4adc3676a4e3c26aee0
2019-02-15 17:18:17 -05:00
Christopher Dearborn e204c367ab Fix iDRAC reset
The current code waits for 3 consecutive failed pings, each 10 seconds
apart to determine that an iDRAC has gone down during an iDRAC reset.
This is too long for some servers, as the iDRAC may come back up before
the 3rd ping failure.  This results in a failure to detect the iDRAC
going down, which causes a timeout on the reset.

This patch changes the code to wait for only 2 consecutive ping
failures, which is what our highly tested downstream code does.

Closes-Bug: 1816195
Change-Id: Iac21d5eb722834089cbe4a2e7e19370a951951f0
2019-02-15 17:14:29 -05:00
Zuul 45569a427f Merge "Add a real-time option when commit RAID creation/deletion in python-dracclient." 2019-01-31 17:05:07 +00:00
digambar 9069b1e416 Add a real-time option when commit RAID creation/deletion
in python-dracclient.

Change-Id: I3ada0e51235941620c9f27796da9790a182fb0e4
2019-01-31 10:32:00 +00:00
Zuul 82480155bf Merge "Fixes problem in is_boss_controller function" 2019-01-24 12:31:03 +00:00
David Paterson 5ec4f3dc1f Fixes problem in is_boss_controller function
We need to make sure we check model name of controller
starts with "BOSS"

Change-Id: I0b8608bad4ffc1f6c5bcf5ae36d9c0c76478260b
2019-01-21 17:20:01 -06:00
98k e4bf12d7c5 Add doc/requirements.txt to docs tox environment
Without these dependencies, the docs build does not actually

Change-Id: Iacb3707016077649a48f7640f1ff73b5a2ea1a28
2019-01-09 18:11:05 +00:00
Zuul cc3f57ac3a Merge "Remove deprecated commit_required parameter from python-dracclient" 2019-01-09 14:19:49 +00:00
Rachit7194 e177d47521 Remove deprecated commit_required parameter from python-dracclient
Change-Id: Ic37afe82d6b98433ee60142ed3ee429c48de727d
2019-01-08 05:12:02 -05:00
Zuul b0ab6c8da8 Merge "Update hacking version" 2019-01-04 16:09:13 +00:00
ZhijunWei 21d4325b25 Update hacking version
Change-Id: I25ce98508125a5e378ee56c2fa4b3269729193d9
2018-12-28 23:03:46 +08:00
98k db211b9b65 Change openstack-dev to openstack-discuss
Mailinglists have been updated. Openstack-discuss replaces openstack-dev.

Change-Id: I0d6c03b871014ab3f260fa23e20da8cbfdbdcc75
2018-12-04 07:55:09 +00:00
zhouxinyong 2f52f51b73 Replacing the link in HACKING.rst
Change-Id: Ibd94975d4fd56ca63fa317d847e0822e75e2009f
2018-11-16 03:24:21 +08:00
David Paterson bef7a0a8ce Add change_physical_disk_state function to client
Build a list of controllers which had disks converted
to or from RAID/JBOD and inidicate if a reboot is required.

The following steps allow the caller to retrieve a list of
controllers that have disks comverted to the specified
RAID status:
- Examine all disks in the system and filter out any that
are not attached to a RAID/BOSS controller.
- Inspect the controllers' disks to see if there are
disks that need to be converted. If a disk is already in
the desired status the disk is ignored, otherwise
it is converted. This function also handles failed or
unknown disk status appropriately and will raise exception(s)
where needed.
- Finally a dict is returned containing a list of controller
IDs for controllers whom had any of their disks converted,
and whether a reboot is required.

Typically the caller would then create a config job for the
list of controllers returned to finalize the RAID
configuration and reboot the node if necessary.

Change-Id: I5229f7699c9ca1d5b72a54b4ddcea6313b440836
Co-Authored-By: Christopher Dearborn <>
2018-10-19 18:43:44 -04:00
Zuul f823194b2e Merge "Adds ability to reset iDRAC" 2018-10-05 16:26:55 +00:00
Mark Beierl 88023841ef Adds ability to reset iDRAC
Adds new function to reset the iDRAC and wait for it
to become operational again.

Change-Id: Ia8dc0b97e02fc5f2c4d39b6b6d90456c1cfc5b7a
Co-Authored-By: Christopher Dearborn <>
2018-09-27 20:03:05 -04:00
digambar 1baaadf7f2 Add UUID to System object in python-dracclient
Change-Id: I322d07f425470c585db950ef27cd4b9364eff71c
2018-09-27 05:09:41 -05:00
uday344 3cb32a967a Removed deprecated disk,raid and job state
Change-Id: I63e7bc013386449db8cf50aec1d9e80fe9a2c570
2018-09-11 13:04:12 -05:00
Zuul 63e193a1c5 Merge "Fix CPU count returned by introspection in Ironic iDRAC driver" 2018-09-06 17:17:56 +00:00
jainprasuk1996 92e4ba4c2b Fix CPU count returned by introspection in Ironic iDRAC driver
Change-Id: Id8ff61f7f2fb2c24af64f38f6cf34e5b6d66182c
2018-09-06 06:49:16 -05:00
Mark Beierl 6599e7f814 Define constants for types of reboot job
Adds constants, instead of arbitrary strings, for specifying the type
of reboot job.

Change-Id: I4f404bdb158899b4d0f50f87a120a222f4bd5939
2018-08-23 15:34:57 -04:00
Christopher Dearborn 873a86e9c5 Increase default is ready retries
The current number of is ready retries does not work with DSS9000
hardware.  This change doubles the number of retries, which has proven
to work.

Change-Id: I5651acbb22be1cffb2a7f448db6a6975d27ad963
2018-08-13 16:55:16 -04:00
Zuul 01858e0d41 Merge "Add support for NIC configuration" 2018-08-11 12:57:23 +00:00
Zuul 589ee04c83 Merge "Added is_jbod_capable method to raid resource" 2018-08-11 12:50:53 +00:00
Zuul ee12ec65e7 Merge "Delete Job API" 2018-08-11 12:50:53 +00:00
digambar 0960fba23a Add ability to retrieve system properties
Change-Id: I7ae6efb913895c86aab838481b6025c8a17a42ee
2018-08-10 05:34:28 -05:00
Mark Beierl 96fa6965db Delete Job API
Adds the ability to delete jobs from the iDRAC job queue.

Change-Id: I0e34cc850b968533782af45ef6e61206a3f04949
Co-Authored-By: Richard G. Pioso <>
2018-08-08 09:21:28 -04:00
Zuul e68dacb1d6 Merge "Add ability to schedule jobs" 2018-08-01 19:54:27 +00:00
Mark Beierl 8836c0dedf Add support for NIC configuration
Adds APIs that support listing and setting NIC attributes
by name.

Change-Id: Ie836a3603b6bb49e3f296c10147d58ae745c3f6b
Co-Authored-By: Richard G. Pioso <>
2018-07-27 15:48:07 -04:00
Christopher Dearborn 0de8b41768 Filter out non-ASCII characters on invalid UTF8
When an enumerate is done, it is possible that the iDRAC may return
invalid UTF8 that contains non-ASCII characters.  This causes an
XMLSyntaxError to be thrown.  This fix detects that situation and
filters out all non-ASCII characters to bypass the error.

See the following bug for further details:

Closes-Bug: #1779412
Change-Id: I5003785dee922920dcdd95c8d7e2a26e0bf97a7d
2018-07-09 17:40:52 -04:00
Mark Beierl dcf4e2d280 Add ability to schedule jobs
Adds an optional start time to allow configuration changes
to be scheduled for a future time.

Co-Authored-By: Christopher Dearborn <>
Co-Authored-By: Richard G. Pioso <>
Change-Id: Ia1f02fd2f8a25efa8bb924bd9d50394cbf5d2034
2018-07-06 15:27:46 -04:00
David Paterson 1d203354a2 Added is_jbod_capable method to raid resource
Some RAID controllers support JBOD (passthrough) mode, while others do not.
This method determines if the passed RAID controller supports JBOD mode.
Note: that the controller must have at least one disk in the non-RAID or ready
state, or this method will be unable to determine if the RAID controller
supports JBOD mode, and an exception will be thrown.

Co-Authored-By: Christopher Dearborn <>
Change-Id: I62d8f92197faf6a6b4fe8a72da5c1a6a79d2af82
2018-06-29 11:20:09 -04:00
Christopher Dearborn 413bfce123 Adds support for Dell BOSS card RAID1 creation
The Dell BOSS card requires that 0 be passed for the RAID 1 size_gb for
the RAID creation to be successful.  This change causes the code to
treat a size of 0 as valid so the BOSS RAID 1 can be created.

Change-Id: Id149f6250318e6162a168d002671faa2b3a7989b
Task: #22082
Story: #2002536
Co-Authored-By: Digambar Patil <>
2018-06-19 14:34:16 -04:00
wangqi a300f85654 Update links in README
Change the links http to https

Change-Id: I95ef797f5711742b3808a53decad409496277971
2018-05-17 09:51:07 +00:00
Zuul a8ef5bfb6a Merge "Added support for PCIe drives" 2018-03-26 17:38:20 +00:00
Christopher Dearborn 521240195e Added support for PCIe drives
This patch adds support for PCIe drives.

Change-Id: Ib0a2f0f71d98c9945c1333db2f06584088e4e385
2018-03-23 13:39:43 -04:00
Christopher Dearborn 9ff2b02058 Fixed indentation in utils.list_settings
Fixed the indentation in utils.list_settings.

Change-Id: I198bc028537f78228a4899afd788e786c95f0ee6
2018-02-19 13:38:58 -05:00
Zuul 7626bcc857 Merge "Add ability to set iDRAC card settings" 2018-02-19 12:03:36 +00:00
Zuul f015a18f0e Merge "Refactor list_bios_settings and set_bios_settings" 2018-02-19 12:01:46 +00:00
Zuul 0c168ee6ec Merge "Separate reboot required from commit required" 2018-02-19 11:58:45 +00:00
Christopher Dearborn b327b0811f Add ability to set iDRAC card settings
This patch adds the ability to set iDRAC card settings.

Change-Id: I117e5ed0af1469dc316a30abcfa384d3c773ed1f
2018-02-08 10:13:35 -05:00
Christopher Dearborn 3b916aa5e4 Fixed link to the docs
This patch corrects the link to the docs.

Change-Id: Id7ff45d0197a283246d08c1bb6c01cafda0a270d
2018-01-30 17:42:13 -05:00
Christopher Dearborn ee0ca6f1f6 Refactor list_bios_settings and set_bios_settings
This patch factors the code in list_bios_settings and set_bios_settings
out into utility methods that can be used by other code that has the
same functionality.

Change-Id: I310fc0cb1c8372b1391d085078686e616890eb6f
2018-01-23 11:29:57 -05:00
Christopher Dearborn 72ea2323e5 Separate reboot required from commit required
This patch separates indicators for reboot required and commit required.
It does this by adding two new keys (is_reboot_required and
is_commit_required) to the dictionary returned by set/create/modify
operations while continuing to return the commit_required key for
backwards compatibility.

The commit_required key should be considered deprecated at this time and
it will be removed in a future patch.

The is_reboot_required key has an enumerated value that can have three
possible values: true, optional, and false.  This allows the return of
optional for RAID operations that can return this value.

Change-Id: I70e52868f10bfafb30bbb38b85888bc4ec8e65ae
Closes-Bug: 1732549
2018-01-22 09:36:53 -05:00
Christopher Dearborn aca79f0e8c Allow invoke without checking the return value
Some versions of firmware for at least 13G hardware can return a
failure return value and a message indicating success on certain
invoke calls.  This patch modifies invoke so that it can be used to
execute the invoke command and return the result without raising an
exception if the return value indicates a failure.  This allows the
caller to inspect the returned message to determine success or failure.

Change-Id: I85a1d234d17ae601ed984109c8aa668aaf86eae2
2018-01-11 16:00:38 -05:00
Jenkins 5e9b27ee97 Merge "Report bus in controllers" 2017-10-10 16:21:53 +00:00
Christopher Dearborn a93954ba34 Report SAS address in physical disks
This patch adds sas_address to the attributes reported for physical

Change-Id: Ic7046ead0b42c048303fe0e601c5d3e28e8e4216
2017-09-29 15:36:18 -04:00
Christopher Dearborn 4977b154ce Report bus in controllers
This patch adds bus to the attributes reported for controllers.

Change-Id: Id1f444f33862520dfd82d1dc23bf21c2e4e2e386
2017-09-29 10:29:32 -04:00