diff options
author | Sandeepa Singh <sandeepa.singh@ibm.com> | 2021-07-06 13:59:10 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2021-08-10 22:20:42 +0300 |
commit | 7affc529b7fba41193c4d48764707e9961cdd22d (patch) | |
tree | d198c2026a40faf07d622492297aed488b17fccb /src/store/modules/HardwareStatus/ProcessorStore.js | |
parent | 828dda9b187684902710bb11621eca27bf0c6eec (diff) | |
download | webui-vue-7affc529b7fba41193c4d48764707e9961cdd22d.tar.xz |
IA update: Update health section
This is the second update to information architecture changes and
has the following changes:
- Health section is updated to hardware status section
- Hardware status page is updated to inventory and LEDs page
- Route for sensors page has been updated
Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com>
Change-Id: Ia1ba3a15a243a00f59a2ec646132436eb355a999
Diffstat (limited to 'src/store/modules/HardwareStatus/ProcessorStore.js')
-rw-r--r-- | src/store/modules/HardwareStatus/ProcessorStore.js | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/store/modules/HardwareStatus/ProcessorStore.js b/src/store/modules/HardwareStatus/ProcessorStore.js new file mode 100644 index 00000000..c7cbbeea --- /dev/null +++ b/src/store/modules/HardwareStatus/ProcessorStore.js @@ -0,0 +1,104 @@ +import api from '@/store/api'; +import i18n from '@/i18n'; + +const ProcessorStore = { + namespaced: true, + state: { + processors: [], + }, + getters: { + processors: (state) => state.processors, + }, + mutations: { + setProcessorsInfo: (state, data) => { + state.processors = data.map((processor) => { + const { + Id, + Status = {}, + PartNumber, + SerialNumber, + SparePartNumber, + InstructionSet, + Manufacturer, + Model, + Name, + ProcessorArchitecture, + ProcessorType, + Version, + AssetTag, + MinSpeedMHz, + MaxSpeedMHz, + TotalCores, + TotalThreads, + LocationNumber, + LocationIndicatorActive, + } = processor; + return { + id: Id, + health: Status.Health, + healthRollup: Status.HealthRollup, + partNumber: PartNumber, + sparePartNumber: SparePartNumber, + serialNumber: SerialNumber, + statusState: Status.State, + instructionSet: InstructionSet, + manufacturer: Manufacturer, + model: Model, + name: Name, + processorArchitecture: ProcessorArchitecture, + processorType: ProcessorType, + version: Version, + assetTag: AssetTag, + minSpeedMHz: MinSpeedMHz, + maxSpeedMHz: MaxSpeedMHz, + totalCores: TotalCores, + totalThreads: TotalThreads, + locationNumber: LocationNumber, + identifyLed: LocationIndicatorActive, + uri: processor['@odata.id'], + }; + }); + }, + }, + actions: { + async getProcessorsInfo({ commit }) { + return await api + .get('/redfish/v1/Systems/system/Processors') + .then(({ data: { Members = [] } }) => + Members.map((member) => api.get(member['@odata.id'])) + ) + .then((promises) => api.all(promises)) + .then((response) => { + const data = response.map(({ data }) => data); + commit('setProcessorsInfo', data); + }) + .catch((error) => console.log(error)); + }, + // Waiting for the following to be merged to test the Identify Led: + // https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/37045 + async updateIdentifyLedValue({ dispatch }, led) { + const uri = led.uri; + const updatedIdentifyLedValue = { + LocationIndicatorActive: led.identifyLed, + }; + return await api + .patch(uri, updatedIdentifyLedValue) + .then(() => dispatch('getProcessorsInfo')) + .catch((error) => { + dispatch('getProcessorsInfo'); + console.log('error', error); + if (led.identifyLed) { + throw new Error( + i18n.t('pageInventory.toast.errorEnableIdentifyLed') + ); + } else { + throw new Error( + i18n.t('pageInventory.toast.errorDisableIdentifyLed') + ); + } + }); + }, + }, +}; + +export default ProcessorStore; |