From 7cc1fd48e64ff01dc80eb6323c1175b2fa42a2d0 Mon Sep 17 00:00:00 2001 From: Yoshie Muranaka Date: Thu, 11 Feb 2021 09:23:14 -0800 Subject: Update single file firmware TFTP upload option Adds API check for the UpdateService allowable values to determine whether or not a TFTP upload option is available in UI. This is part of an effort to make the firmware page more dynamic. These changes are only visisble with ibm dotenv variables. Signed-off-by: Yoshie Muranaka Change-Id: Ied8ac5fa9f0441b1a0762c7a5267e298294eea32 --- .../FirmwareSingleImage/FirmwareSingleImage.vue | 4 +++- .../FirmwareSingleImage/FirmwareSingleImageStore.js | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src/env') diff --git a/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue b/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue index 54a2bb15..b7ad4c53 100644 --- a/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue +++ b/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue @@ -101,6 +101,7 @@
@@ -258,6 +259,7 @@ export default { 'backupFirmwareVersion', 'isRebootFromBackupAvailable', 'systemFirmwareVersion', + 'isTftpUploadAvailable', ]), isPageDisabled() { if (this.isServerPowerOffRequired) { @@ -281,7 +283,7 @@ export default { }, created() { this.startLoader(); - this.$store.dispatch('firmwareSingleImage/getUpdateServiceApplyTime'); + this.$store.dispatch('firmwareSingleImage/getUpdateServiceSettings'); Promise.all([ this.$store.dispatch('global/getHostStatus'), this.$store.dispatch('firmwareSingleImage/getFirmwareInformation'), diff --git a/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js b/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js index 91bcb9fe..b16cac8a 100644 --- a/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js +++ b/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js @@ -16,6 +16,7 @@ const FirmwareSingleImageStore = { status: null, }, applyTime: null, + tftpAvailable: false, }, getters: { systemFirmwareVersion: (state) => state.activeFirmware.version, @@ -23,7 +24,8 @@ const FirmwareSingleImageStore = { backupFirmwareStatus: (state) => state.backupFirmware.status, isRebootFromBackupAvailable: (state) => state.backupFirmware.id ? true : false, - bmcFirmwareCurrentVersion: (state) => state.activeFirmware.version, //this getter is needed for the Overview page + bmcFirmwareCurrentVersion: (state) => state.activeFirmware.version, //this getter is needed for the Overview page, + isTftpUploadAvailable: (state) => state.tftpAvailable, }, mutations: { setActiveFirmware: (state, { version, id, location }) => { @@ -38,6 +40,8 @@ const FirmwareSingleImageStore = { state.backupFirmware.status = status; }, setApplyTime: (state, applyTime) => (state.applyTime = applyTime), + setTftpUploadAvailable: (state, tftpAvailable) => + (state.tftpAvailable = tftpAvailable), }, actions: { async getFirmwareInformation({ commit }) { @@ -77,13 +81,21 @@ const FirmwareSingleImageStore = { }) .catch((error) => console.log(error)); }, - getUpdateServiceApplyTime({ commit }) { + getUpdateServiceSettings({ commit }) { api .get('/redfish/v1/UpdateService') .then(({ data }) => { const applyTime = data.HttpPushUriOptions.HttpPushUriApplyTime.ApplyTime; + const allowableActions = + data?.Actions?.['#UpdateService.SimpleUpdate']?.[ + 'TransferProtocol@Redfish.AllowableValues' + ]; + commit('setApplyTime', applyTime); + if (allowableActions.includes('TFTP')) { + commit('setTftpUploadAvailable', true); + } }) .catch((error) => console.log(error)); }, -- cgit v1.2.3