Commit Graph

44 Commits

Author SHA1 Message Date
Sagar Nanda 1488d904e2 Set iDRACCard attributes as nullable
The iDRACCard attribute GroupID is empty for 15th Generation servers,
e.g., Dell EMC PowerEdge R750 and R650, which triggered the error
"attribute GroupID is not nullable".

A similar error message has been observed when processing the
iDRACCardInteger attributes LowerBound and UpperBound read
from a PowerEdge XE2420 server.

This change sets those attributes as nullable.

Change-Id: If34d96fab4249f466f63b3740d1ff5eb68012462
2021-12-15 13:05:14 +00:00
Monica Pardhi 9ebc4afc84 Fix for H755 RAID controller when convert to JBOD
When converting Dell EMC PERC H755 RAID controller physical
disks to non-RAID mode, RAID-0 virtual disks get created
for each physical disk and disks moved to 'Online' state.

This is different from other controllers supporting non-RAID
conversion and takes up physical disks that cannot be
later used for user intended RAID configuration. This change
excludes H755 RAID controller's physical disks when converting
to non-RAID mode and leaves disks in 'Ready' state.

Change-Id: Id6de320c8e8a9ca21fac277718c405c657f58a3a
2021-09-20 11:45:00 +00:00
Zuul bad642bb13 Merge "Provide last system inventory time" 2020-09-25 15:09:04 +00:00
Yogesh Ramachandra a4c819e304 Provide last system inventory time
This change provides the time system inventory was last performed
by the iDRAC. That is done during system restart and referred to as
Collect System Inventory on Restart (CSIOR). The value is represented
in yyyymmddHHMMSS format.

Change-Id: I73ff5eb517528afe56b5cf45a74fa5d5519db186
Closes-Bug: #1894938
2020-09-25 09:28:56 -05:00
Mudit d341ab4b3c Add video enumeration to InventoryManagement
Change-Id: Ia14ae67fea9d69ba27ebd43f6043b817f6cc5eff
Closes-Bug: #1894940
2020-09-25 07:54:27 -04:00
Rachit7194 05ff2ec7a3 Fix for read-only and unchanged attributes
This patch fixes the set_settings() in which if
any attribute is read-only and unchanged, it will be
considered as readonly attribute and not unchanged attribute.

Change-Id: I530f1c2f1b8d91f996b91fa0a5f0535ddcfa76e6
2020-04-24 16:51:42 -04:00
mpardhi23 c3bb9606aa Add the ability to manage RAID settings
This patch adds the ability to get and set the settings for RAID
settings.

Change-Id: Ifc63ca7d9a30378e75b160739b709a1264ffe550
2020-04-02 15:21:05 -04:00
Rachit7194 719a7d81f8 Added ``bus`` attribute to PhysicalDisks for NVMe drives
This patch adds `bus` attribute to PhysicalDisks so clients
can determine the PCI bus ID of NVMe drives.

Change-Id: I9b6b88826b9902a059e1bf537e51d9f97c9389ba
2020-02-14 01:54:22 -05:00
Rachit7194 01e7ca19ce Fix parsing for virtual disk RAIDStatus attribute
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
2020-01-30 00:12:51 -05:00
Rachit7194 8394938d2f Fix for clear_foreign_config() unsupported on some controllers
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
2019-09-12 10:52:35 -04:00
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
mpardhi23 8eec25c00d clear_foreign_config() succeeds if no foreign disk
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
2019-05-02 04:12:23 -04:00
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
spares.

Change-Id: I76390dc4fcf8de2fe5aa3d660f77edcef4a4dec1
2019-04-16 04:38:19 +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
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
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 <christopher.dearborn@dell.com>
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
Zuul 01858e0d41 Merge "Add support for NIC configuration" 2018-08-11 12:57:23 +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 <richard.pioso@dell.com>
2018-08-08 09:21:28 -04: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 <richard.pioso@dell.com>
2018-07-27 15:48:07 -04: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 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
Anish Bhatt c9e33ccd4c Fetch system attributes
Change-Id: I323366268e359afbe0c7556e88cc6da936af8362
2017-07-06 14:42:34 -07:00
Christopher Dearborn 39253bb272 Added ability to determine if an iDRAC is ready
This patch adds the ability to determine if an iDRAC is ready to accept
commands.

Change-Id: I929deada3dda7b09a6f29033fff89d9b0382aef8
Partial-Bug: 1691808
2017-05-30 16:42:02 -04:00
Anish Bhatt 15b1c2a32f Add support for idrac_card and lifecycle_controller attributes
Change-Id: I305976e639a406de19f23dcfb5207a25c6c311ba
2017-02-14 09:47:04 -08:00
Christopher Dearborn 0c1d56dde5 WSMAN enumerate fails to return all entries
When querying an enumeration using the WSMAN enumerate method, not all
entries are returned if there are more than max_elems (default of 100)
in the enumeration.

When querying an enumeration, the first response returns <wsman:Items>
in the body.  Successive pulls, however, contain <wsen:Items>.

The old code always queried for <wsen:Items>, which caused the first
batch of attributes to be dropped only when the number of entries in
the enumeration exceeded max_elems.

This patch queries for <wsman:Items> in the first response, and for
<wsen:Items> in successive responses.

Change-Id: I2e9036b562c7d7ba5af188dd552b6c67388bb02c
Closes-Bug: #1659052
2017-01-25 11:26:40 -05:00
Mark Goddard 2a80dbb2c9 Add constituent physical disks to RAID virtual disk object
This change adds a new attribute - physical_disks - to
dracclient.resources.raid.VirtualDisk objects. The attribute is a
list of IDs of the physical disks that a virtual disk is composed of.
This allows clients of the library to obtain a more complete view of
the current RAID configuration.

Change-Id: If4f762d3bc115a971d0392af8270f5440ef43913
Closes-bug: #1651702
2017-01-12 19:56:39 +00:00
Dmitry Tantsur ba1eb4aa99 Raise a reasonable error on non-nullable flags with empty text
Now it fails with AttributeError: 'NoneType' object has no attribute 'strip'.
Raise a new exception with proper explanation instead.

Partial-Bug: #1550328
Change-Id: Ie9f9d212c934bb75e8224dd64ec8df7f788b86d3
2016-11-07 15:44:14 +01:00
Anish Bhatt af0894134f Don't assume FQDD naming
Splitting on fixed number of colons breaks in this case :

Disk.Bay.0:Enclosure.Internal.0-1:RAID.Integrated.1-1
Disk.Bay.1:Enclosure.Internal.0-1:RAID.Integrated.1-1
Disk.Bay.2:Enclosure.Internal.0-1:RAID.Integrated.1-1
Disk.Bay.3:Enclosure.Internal.0-1:RAID.Integrated.1-1
Disk.Direct.4:RAID.Integrated.1-1
Disk.Direct.5:RAID.Integrated.1-1

Split from right instead, doesn't fail

Partial-Bug: #1586545

Change-Id: Ib4ca517388c48ade321451cb8af07abb731e5940
2016-10-20 14:30:15 -07:00
Imre Farkas f96744daf3 Allow missing flags on inventory.CPU
Change-Id: Idd485fd11ab9d784bc8c24a9b8279bcce76f0f68
Closes-Bug: #1602173
2016-08-10 10:47:38 +02:00
Imre Farkas 157eba7a64 Add NIC enumeration to InventoryManagement
Change-Id: I32e3d8ae5103d3a0f47a9d0aa3bb9464ff575d03
2016-08-09 16:43:06 +02:00
Stig Telfer 3e9d66173b Add interface to convert disks to RAID mode
A new function, convert_physical_disks, converts disks to and from
RAID mode.  This function enables a Dell system at factory defaults
to be initialised with a RAID configuration by python-dracclient.

Change-Id: Ice40bfb47485056428a22c216990cf0a026c73d2
2016-06-07 17:15:04 +01:00
Chris Coyle b87d729dca Add memory enumeration to InventoryManagement
Change-Id: I0e58122a8d68d927b057aeedd2c127d62d9bae92
2016-04-06 15:00:11 -04:00
Chris Coyle b61253ce92 Add CPU enumeration and InventoryManagement class
Change-Id: I1f65cc8b39b9e665ac2f7a48cdc4dc0193c81256
2016-03-18 11:24:56 -04:00
Imre Farkas 617d5d7e1b Add RAID management
Change-Id: Id342bf5de2cf06fa7a9c125a4fac15df21a1f5fe
2015-12-09 16:22:11 +01:00
Imre Farkas da78c87db2 Add support for BIOS configuration
Change-Id: I574696e460f08cececc47a69b5c2b090a6cd44a2
2015-12-08 14:32:25 +01:00
Imre Farkas 31711e9444 Add boot management
Change-Id: I51d712a24948726e7c7c03530cf8fd7953f5f190
2015-11-12 14:54:50 +01:00
Imre Farkas 400f9317ba Add job management
Change-Id: Id5c8462c9f797f5d506fcacab5736a7768dbd99d
2015-11-11 12:59:21 +01:00
Imre Farkas 9153b850b2 Add power management
Change-Id: Iab9d9f7e4e25e3d3fdec9b28fe49a7226e68c9ff
2015-11-10 10:05:21 +01:00
Imre Farkas d833babfe8 Replacing pywsman with a simple wsman client
Change-Id: I3d87528f1d5286a53e6aba221766aae72513abdb
2015-09-30 09:51:37 +02:00