From a4c819e3045a13fb2d6c633af9c8b71dfb49d8f9 Mon Sep 17 00:00:00 2001 From: Yogesh Ramachandra Date: Thu, 27 Aug 2020 10:04:34 -0500 Subject: [PATCH] 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 --- dracclient/resources/inventory.py | 7 +++++-- dracclient/tests/test_inventory.py | 3 ++- dracclient/tests/wsman_mocks/system_view-enum-ok.xml | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dracclient/resources/inventory.py b/dracclient/resources/inventory.py index b29452a..ac4f1af 100644 --- a/dracclient/resources/inventory.py +++ b/dracclient/resources/inventory.py @@ -59,7 +59,8 @@ NIC = collections.namedtuple( System = collections.namedtuple( 'System', - ['id', 'lcc_version', 'model', 'service_tag', 'uuid']) + ['id', 'lcc_version', 'model', 'service_tag', 'uuid', + 'last_system_inventory_time']) class InventoryManagement(object): @@ -210,7 +211,9 @@ class InventoryManagement(object): service_tag=self._get_system_attr(drac_system, 'ServiceTag'), model=self._get_system_attr(drac_system, 'Model'), lcc_version=self._get_system_attr(drac_system, - 'LifecycleControllerVersion')) + 'LifecycleControllerVersion'), + last_system_inventory_time=self._get_system_attr( + drac_system, 'LastSystemInventoryTime').split('.')[0]) def _get_system_attr(self, drac_system, attr_name): return utils.get_wsman_resource_attr(drac_system, diff --git a/dracclient/tests/test_inventory.py b/dracclient/tests/test_inventory.py index 378a114..fd22e36 100644 --- a/dracclient/tests/test_inventory.py +++ b/dracclient/tests/test_inventory.py @@ -139,7 +139,8 @@ class ClientInventoryManagementTestCase(base.BaseTest): uuid='ebd4edd3-dfd7-4c7d-a2c8-562b3c23b811', service_tag='A1B2C3D', model='PowerEdge R630', - lcc_version='2.1.0') + lcc_version='2.1.0', + last_system_inventory_time='20200902160859') mock_requests.post( 'https://1.2.3.4:443/wsman', text=test_utils.LifecycleControllerEnumerations[ diff --git a/dracclient/tests/wsman_mocks/system_view-enum-ok.xml b/dracclient/tests/wsman_mocks/system_view-enum-ok.xml index c10054b..2d3e7ac 100644 --- a/dracclient/tests/wsman_mocks/system_view-enum-ok.xml +++ b/dracclient/tests/wsman_mocks/system_view-enum-ok.xml @@ -17,6 +17,7 @@ 2.1.0 PowerEdge R630 A1B2C3D + 20200902160859.000000+000 ebd4edd3-dfd7-4c7d-a2c8-562b3c23b811