summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Zakharov <m.zakharov@IBS.RU>2022-08-17 15:26:58 +0300
committerMaksim Zakharov <m.zakharov@IBS.RU>2022-08-17 15:26:58 +0300
commita9d60bb1b1110e32cdb24c0ab36dfe0d93d61a7e (patch)
treed1f079d45d6f931ee91d00215a1c5ed7b0fbbb5a
parent67dab376eb97139c5dba14b441c6d9cede62fb2e (diff)
downloadwebui-vue-a9d60bb1b1110e32cdb24c0ab36dfe0d93d61a7e.tar.xz
add boot mode choice
-rw-r--r--src/locales/en-US.json1
-rw-r--r--src/locales/ru-RU.json1
-rw-r--r--src/store/modules/Operations/BootSettingsStore.js27
-rw-r--r--src/views/_sila/Operations/ServerPowerOperations/BootSettings.vue26
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') }}
</b-form-checkbox>
+ <b-form-group :label="$t('pageServerPowerOperations.serverBootMode')">
+ <b-form-radio-group
+ id="boot-settings-mode"
+ v-model="form.bootMode"
+ :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ stacked
+ >
+ <b-form-radio class="mb-1" :value="bootModeOptions[0]">
+ {{ $t(`${bootModeOptions[0]}`) }}
+ </b-form-radio>
+
+ <b-form-radio class="mb-1" :value="bootModeOptions[1]">
+ {{ $t(`${bootModeOptions[1]}`) }}
+ </b-form-radio>
+ </b-form-radio-group>
+ </b-form-group>
<b-form-group
:label="$t('pageServerPowerOperations.bootSettings.tpmRequiredPolicy')"
>
@@ -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)