From 05388966bc9ff2d65e7696c209a5827e82d61297 Mon Sep 17 00:00:00 2001 From: Sukanya Pandey Date: Thu, 10 Jun 2021 15:35:21 +0530 Subject: Add system attention indicators - Different LEDs and statuses will be added to hardware status page - Status for power will be shown and LED included is System identify Led Signed-off-by: Sukanya Pandey Change-Id: I8689f7bf3cc02a7a90379ec50b005bf344c091e4 --- src/locales/en-US.json | 5 ++ src/store/modules/HardwareStatus/SystemStore.js | 37 +++++----- src/views/HardwareStatus/Inventory/Inventory.vue | 19 +++-- .../Inventory/InventoryServiceIndicator.vue | 80 ++++++++++++++++++++++ .../Inventory/InventoryTableSystem.vue | 11 ++- 5 files changed, 127 insertions(+), 25 deletions(-) create mode 100644 src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue (limited to 'src') diff --git a/src/locales/en-US.json b/src/locales/en-US.json index e4fb94a5..4948c9da 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -374,6 +374,11 @@ "processors": "Processors", "quicklinkTitle": "Quick links to hardware components", "system": "System", + "systemIndicator": { + "powerStatus": "Power status", + "identifyLed": "System identify LED", + "sectionTitle": "System attention indicators" + }, "table": { "assetTag": "Asset tag", "bmcDateTime": "BMC date and time", diff --git a/src/store/modules/HardwareStatus/SystemStore.js b/src/store/modules/HardwareStatus/SystemStore.js index 55f37542..75b645b6 100644 --- a/src/store/modules/HardwareStatus/SystemStore.js +++ b/src/store/modules/HardwareStatus/SystemStore.js @@ -16,25 +16,26 @@ const SystemStore = { system.description = data.Description; system.firmwareVersion = data.BiosVersion; system.hardwareType = data.Name; - system.health = data.Status.Health; + system.health = data.Status?.Health; system.id = data.Id; system.locationIndicatorActive = data.LocationIndicatorActive; system.locationNumber = data.LocationNumber; system.manufacturer = data.Manufacturer; - system.memorySummaryHealth = data.MemorySummary.Status.Health; - system.memorySummaryHealthRollup = data.MemorySummary.Status.HealthRollup; - system.memorySummaryState = data.MemorySummary.Status.State; + system.memorySummaryHealth = data.MemorySummary?.Status.Health; + system.memorySummaryHealthRollup = + data.MemorySummary?.Status?.HealthRollup; + system.memorySummaryState = data.MemorySummary?.Status?.State; system.model = data.Model; - system.processorSummaryCount = data.ProcessorSummary.Count; - system.processorSummaryHealth = data.ProcessorSummary.Status.Health; + system.processorSummaryCount = data.ProcessorSummary?.Count; + system.processorSummaryHealth = data.ProcessorSummary?.Status?.Health; system.processorSummaryHealthRoll = - data.ProcessorSummary.Status.HealthRollup; - system.processorSummaryState = data.ProcessorSummary.Status.State; + data.ProcessorSummary?.Status.HealthRollup; + system.processorSummaryState = data.ProcessorSummary?.Status?.State; system.powerState = data.PowerState; system.serialNumber = data.SerialNumber; - system.healthRollup = data.Status.HealthRollup; + system.healthRollup = data.Status?.HealthRollup; system.subModel = data.SubModel; - system.statusState = data.Status.State; + system.statusState = data.Status?.State; system.systemType = data.SystemType; state.systems = [system]; }, @@ -42,26 +43,28 @@ const SystemStore = { actions: { async getSystem({ commit }) { return await api - .get('/redfish/v1/Systems/system') + .get('/redfish/v1') + .then((response) => + api.get(`${response.data.Systems['@odata.id']}/system`) + ) .then(({ data }) => commit('setSystemInfo', data)) .catch((error) => console.log(error)); }, - changeIdentifyLedState({ dispatch }, ledState) { - api + async changeIdentifyLedState({ commit }, ledState) { + return await api .patch('/redfish/v1/Systems/system', { LocationIndicatorActive: ledState, }) - .then(() => dispatch('getSystem')) .catch((error) => { - dispatch('getSystem'); + commit('setSystemInfo', this.state.system.systems[0]); console.log('error', error); if (ledState) { throw new Error( - i18n.t('pageHardwareStatus.toast.errorEnableIdentifyLed') + i18n.t('pageInventory.toast.errorEnableIdentifyLed') ); } else { throw new Error( - i18n.t('pageHardwareStatus.toast.errorDisableIdentifyLed') + i18n.t('pageInventory.toast.errorDisableIdentifyLed') ); } }); diff --git a/src/views/HardwareStatus/Inventory/Inventory.vue b/src/views/HardwareStatus/Inventory/Inventory.vue index d8b46b25..a729aaa2 100644 --- a/src/views/HardwareStatus/Inventory/Inventory.vue +++ b/src/views/HardwareStatus/Inventory/Inventory.vue @@ -2,6 +2,9 @@ + + + @@ -44,6 +47,7 @@ diff --git a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue index 54129d1f..f2cdb3ed 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue @@ -30,12 +30,19 @@ -- cgit v1.2.3