10 Commits

Author SHA1 Message Date
mpardhi23
ceef78a938 Take Lifecycle Controller out of recovery mode
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
2019-06-17 04:52:24 -04: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 <Christopher.Dearborn@dell.com>
2018-10-19 18:43:44 -04: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
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
8f368ed3e1 Increased is-iDRAC-ready timeout
The current is-iDRAC-ready timeout is set to 24 iterations times a
delay of 10 seconds, or 4 minutes.  This timeout is too short for 12G
and 13G hardware as operations against the iDRAC will frequently
timeout if the iDRAC is not in a ready state.

This patch increases the number of iterations to 48, which bumps the
timeout up to 8 minutes.  This increased timeout is sufficient for the
iDRAC on 14G, 13G, and 12G hardware to become ready and therefore avoid
a timeout exception.

Change-Id: I9dc476d3c28475919404077875f04fd006d4464a
Closes-Bug: 1718277
2017-09-19 16:23:48 -04:00
Richard Pioso
c75969dd8d Parameterize iDRAC is ready retries at class level
Web Services Management (WS-Management and WS-Man) requests/commands can
fail or return invalid results when issued to an integrated Dell Remote
Access Controller (iDRAC) whose Lifecycle Controller remote service is
not "ready". Specifically, that applies to the WS-Man Enumerate and
Invoke operations.

A Dell technical white paper [0], "Lifecycle Controller Integration --
Best Practices Guide", states that for Lifecycle Controller firmware
1.5.0 and later "The Lifecycle Controller remote service must be in a
'ready' state before running any other WSMAN commands." That applies to
almost all of the workflows and use cases documented by that paper and
supported by this project, openstack/python-dracclient. That document
describes how to determine the readiness of the Lifecycle Controller
remote service.

This patch parameterizes the iDRAC is ready retry behavior at the class
level. That makes it possible for consumers of this project, such as
project openstack/ironic, to configure it library API-wide.

Additionally, this patch improves the names of the parameters to class
__init__() methods that control the retry behavior on SSL errors, so
that they are not confused with those added by this patch. Finally, it
defines constants for the default values of the retry behavior on SSL
errors and iDRAC is ready retry parameters, and utilizes those new
constants.

[0]
http://en.community.dell.com/techcenter/extras/m/white_papers/20442332

Change-Id: Ie866466a8ddf587a24c6d25ab903ec7b24022ffd
Partial-Bug: #1697558
Related-Bug: #1691272
Related-Bug: #1691808
2017-07-24 19:29:15 -04:00
Imre Farkas
9ff7c31972 Make object attribute names and values consistent
- dict for PrimaryStatus is moved to constants
- inventory.Memory has its size renamed to size_mb
- job.Job has its state renamed to status
- raid.PhysicalDisk and raid.VirtualDisk have their state and raid_state
  renamed to status and raid_status

Change-Id: I0fc8450d13a8f0de271f4e14b770bf5497e19b8e
2016-08-10 10:48:36 +02:00
Imre Farkas
157eba7a64 Add NIC enumeration to InventoryManagement
Change-Id: I32e3d8ae5103d3a0f47a9d0aa3bb9464ff575d03
2016-08-09 16:43:06 +02:00
Imre Farkas
9153b850b2 Add power management
Change-Id: Iab9d9f7e4e25e3d3fdec9b28fe49a7226e68c9ff
2015-11-10 10:05:21 +01:00