From a9d60bb1b1110e32cdb24c0ab36dfe0d93d61a7e Mon Sep 17 00:00:00 2001 From: Maksim Zakharov Date: Wed, 17 Aug 2022 15:26:58 +0300 Subject: add boot mode choice --- src/locales/en-US.json | 1 + src/locales/ru-RU.json | 1 + src/store/modules/Operations/BootSettingsStore.js | 27 +++++++++++++++++++--- .../ServerPowerOperations/BootSettings.vue | 26 ++++++++++++++++++++- 4 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 7ccf4654..7b86a298 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -1008,6 +1008,7 @@ "rebootServer": "Reboot server", "shutDown": "Shut down", "shutdownServer": "Shutdown server", + "serverBootMode": "Boot Mode", "bootSettings": { "bootSettingsOverride": "Boot settings override", "enableOneTimeBoot": "Enable one time boot", diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json index 83cf8b2e..24f447a7 100644 --- a/src/locales/ru-RU.json +++ b/src/locales/ru-RU.json @@ -1008,6 +1008,7 @@ "rebootServer": "Перезапустить сервер", "shutDown": "Выключить", "shutdownServer": "Выключить сервер", + "serverBootMode": "Выбор режима загрузки", "bootSettings": { "bootSettingsOverride": "Переопределение параметров загрузки сервера", "enableOneTimeBoot": "Однократное переопределение", diff --git a/src/store/modules/Operations/BootSettingsStore.js b/src/store/modules/Operations/BootSettingsStore.js index 7a36dd84..ae527d14 100644 --- a/src/store/modules/Operations/BootSettingsStore.js +++ b/src/store/modules/Operations/BootSettingsStore.js @@ -6,12 +6,16 @@ const BootSettingsStore = { state: { bootSourceOptions: [], bootSource: null, + bootModeOptions: null, + bootMode: null, overrideEnabled: null, tpmEnabled: null, }, getters: { bootSourceOptions: (state) => state.bootSourceOptions, bootSource: (state) => state.bootSource, + bootModeOptions: (state) => state.bootModeOptions, + bootMode: (state) => state.bootMode, overrideEnabled: (state) => state.overrideEnabled, tpmEnabled: (state) => state.tpmEnabled, }, @@ -19,6 +23,9 @@ const BootSettingsStore = { setBootSourceOptions: (state, bootSourceOptions) => (state.bootSourceOptions = bootSourceOptions), setBootSource: (state, bootSource) => (state.bootSource = bootSource), + setBootModeOptions: (state, bootModeOptions) => + (state.bootModeOptions = bootModeOptions), + setBootMode: (state, bootMode) => (state.bootMode = bootMode), setOverrideEnabled: (state, overrideEnabled) => { if (overrideEnabled === 'Once') { state.overrideEnabled = true; @@ -38,14 +45,23 @@ const BootSettingsStore = { 'setBootSourceOptions', Boot['BootSourceOverrideTarget@Redfish.AllowableValues'] ); + commit( + 'setBootModeOptions', + Boot['BootSourceOverrideMode@Redfish.AllowableValues'] + ); commit('setOverrideEnabled', Boot.BootSourceOverrideEnabled); commit('setBootSource', Boot.BootSourceOverrideTarget); + commit('setBootMode', Boot.BootSourceOverrideMode); }) .catch((error) => console.log(error)); }, - saveBootSettings({ commit, dispatch }, { bootSource, overrideEnabled }) { + saveBootSettings( + { commit, dispatch }, + { bootSource, overrideEnabled, bootMode } + ) { const data = { Boot: {} }; data.Boot.BootSourceOverrideTarget = bootSource; + data.Boot.BootSourceOverrideMode = bootMode; if (overrideEnabled) { data.Boot.BootSourceOverrideEnabled = 'Once'; @@ -60,6 +76,7 @@ const BootSettingsStore = { .then((response) => { // If request success, commit the values commit('setBootSource', data.Boot.BootSourceOverrideTarget); + commit('setBootMode', data.Boot.BootSourceOverrideMode); commit('setOverrideEnabled', data.Boot.BootSourceOverrideEnabled); return response; }) @@ -101,13 +118,17 @@ const BootSettingsStore = { }, async saveSettings( { dispatch }, - { bootSource, overrideEnabled, tpmEnabled } + { bootSource, overrideEnabled, tpmEnabled, bootMode } ) { const promises = []; if (bootSource !== null || overrideEnabled !== null) { promises.push( - dispatch('saveBootSettings', { bootSource, overrideEnabled }) + dispatch('saveBootSettings', { + bootSource, + overrideEnabled, + bootMode, + }) ); } if (tpmEnabled !== null) { diff --git a/src/views/_sila/Operations/ServerPowerOperations/BootSettings.vue b/src/views/_sila/Operations/ServerPowerOperations/BootSettings.vue index 1288af0a..99c5aa43 100644 --- a/src/views/_sila/Operations/ServerPowerOperations/BootSettings.vue +++ b/src/views/_sila/Operations/ServerPowerOperations/BootSettings.vue @@ -31,6 +31,22 @@ > {{ $t('pageServerPowerOperations.bootSettings.enableOneTimeBoot') }} + + + + {{ $t(`${bootModeOptions[0]}`) }} + + + + {{ $t(`${bootModeOptions[1]}`) }} + + + @@ -73,6 +89,7 @@ export default { return { form: { bootOption: this.$store.getters['serverBootSettings/bootSource'], + bootMode: this.$store.getters['serverBootSettings/bootMode'], oneTimeBoot: this.$store.getters['serverBootSettings/overrideEnabled'], tpmPolicyOn: this.$store.getters['serverBootSettings/tpmEnabled'], }, @@ -81,7 +98,9 @@ export default { computed: { ...mapState('serverBootSettings', [ 'bootSourceOptions', + 'bootModeOptions', 'bootSource', + 'bootMode', 'overrideEnabled', 'tpmEnabled', ]), @@ -90,6 +109,9 @@ export default { bootSource: function (value) { this.form.bootOption = value; }, + bootMode: function (value) { + this.form.bootMode = value; + }, overrideEnabled: function (value) { this.form.oneTimeBoot = value; }, @@ -102,6 +124,7 @@ export default { // to check for changed values form: { bootOption: {}, + bootMode: {}, oneTimeBoot: {}, tpmPolicyOn: {}, }, @@ -120,10 +143,11 @@ export default { let settings; let bootSource = this.form.bootOption; let overrideEnabled = this.form.oneTimeBoot; + let bootMode = this.bootMode; let tpmEnabled = null; if (tpmPolicyChanged) tpmEnabled = this.form.tpmPolicyOn; - settings = { bootSource, overrideEnabled, tpmEnabled }; + settings = { bootSource, overrideEnabled, tpmEnabled, bootMode }; this.$store .dispatch('serverBootSettings/saveSettings', settings) -- cgit v1.2.3