This patch adds `bus` attribute to PhysicalDisks so clients
can determine the PCI bus ID of NVMe drives.
Change-Id: I9b6b88826b9902a059e1bf537e51d9f97c9389ba
This patch changes the parsing of virtual disks so
that if the DCIM_VirutalDiskView.RAIDStatus attribute
is not present then DCIM_VirutalDiskView.RaidStatus
will be used instead.
This is needed due to the attribute being renamed in
LCC version 4.0.0
Change-Id: I4ca1b7f6df47ce808920b5e24ad0be6b76963917
That's what the OpenStack community is using today. Also with newer
Sphinx versions, the current approach does no longer build.
Change-Id: Iab9f72bb146e8dd36de7fa868b41801e0c97e2ea
This patch adds the gate jobs for this repo to this repo. It also
switches from running py35 unit tests to running py36/37 unit tests.
Change-Id: Iee58de2768962fa27d11b513b1462f2d9c2a277d
iDRAC driver fails to clear foreign drives on some controllers
and returns message_id ``STOR058`` which means controllers does
not support clear_foreign_config operation.
Change-Id: I7df2d30242e7a490dfdce04d7f6ce98c68e9f0ed
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.
See the Train python3-updates goal document for details:
https://governance.openstack.org/tc/goals/train/python3-updates.html
Change-Id: Ic94863fc8a5907fc3874cccb87ed217bcd671252
This patch is to check if a node is in recovery mode and take it
out of recovery mode by setting LifecycleControllerState attribute
value to 'Enabled'.
Modified list_lifecycle_settings() method to use
utils.list_settings() for retrieving lifecycle settings.
Change-Id: I4287f317b2413b70cd00fd4cf8aa69bff6ae5e2f
We are currently checking the MessageID to determine if an iDRAC
is ready. This patch is to check the value of LCStatus instead of
MessageID. If the value of LCStatus is "0", then the iDRAC is
considered ready.
Change-Id: I3426c226c4bb3cdcc95b98e9b203f100bb6777d5
This patch updates change_physical_disk_state() so that it returns the
actual results of drive conversion on each controller. This allows the
caller to use the returned information for realtime drive conversion.
This patch also deprecates returning the is_reboot_required and
commit_required_ids keys in the dictionary.
Change-Id: I10f4a44660e70f0cd8efd0ca9e8e96cb46751a61
When clear_foreign_config() does not detect a foreign disk, instead
of failing and raising an exception, it succeeds and returns a value
which informs the caller nothing further needs to be done.
Change-Id: I4cea95659db11747b1c8708e1dbe7cac53c0eaf9
This fixes the is_raid_controller method so that it returns true
for a BOSS controller in addition to normal RAID controllers.
Change-Id: Iedd3179b8b2b6e3815709cc1acfd6a3059e42399
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