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
spares.
Change-Id: I76390dc4fcf8de2fe5aa3d660f77edcef4a4dec1
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
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
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 <Christopher.Dearborn@dell.com>
Adds new function to reset the iDRAC and wait for it
to become operational again.
Change-Id: Ia8dc0b97e02fc5f2c4d39b6b6d90456c1cfc5b7a
Co-Authored-By: Christopher Dearborn <christopher.dearborn@dell.com>
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
Adds the ability to delete jobs from the iDRAC job queue.
Change-Id: I0e34cc850b968533782af45ef6e61206a3f04949
Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
Adds APIs that support listing and setting NIC attributes
by name.
Change-Id: Ie836a3603b6bb49e3f296c10147d58ae745c3f6b
Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
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:
https://bugs.launchpad.net/python-dracclient/+bug/1779412
Closes-Bug: #1779412
Change-Id: I5003785dee922920dcdd95c8d7e2a26e0bf97a7d
Adds an optional start time to allow configuration changes
to be scheduled for a future time.
Co-Authored-By: Christopher Dearborn <christopher.dearborn@dell.com>
Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com>
Change-Id: Ia1f02fd2f8a25efa8bb924bd9d50394cbf5d2034
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 <Christopher.Dearborn@dell.com>
Change-Id: I62d8f92197faf6a6b4fe8a72da5c1a6a79d2af82
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 <digambarpat@gmail.com>
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
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
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