From d64d8c368d6ae83a81ee1642bfdbbfa0b65d6884 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 (cherry picked from commit a4c819e3045a13fb2d6c633af9c8b71dfb49d8f9) --- 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 ecd6a40..79455de 100644 --- a/dracclient/tests/test_inventory.py +++ b/dracclient/tests/test_inventory.py @@ -138,7 +138,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