Skip to content

Commit

Permalink
Fix power operations as per DMTF redfish spec
Browse files Browse the repository at this point in the history
[Problem Description]:

1) Power Operations page uses "Orderly" and "Immediate" strings
for "Graceful reboot/shutdown" and "Force reboot/shutdown".
These names do not align according to redfish spec and causes
user confusion.

2) For boot settings, if "BootSourceOverrideEnabled" flag is false,
WebUI allows to modify boot options.

[Changes]:

1) Changed reboot/shutdown naming convention as per DMTF redfish spec
to view correct names on WebUI.

2) Added info-tooltip to give detailed information on Reboot/Shutdown
options.
Information is referenced from:
https://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType

3) Added "oneTimeBootEnabled" condition check to render BootSettings if
condition is true. "oneTimeBootEnabled" checks BootSourceOverrideEnabled
flag, if true then BootSettings will be able to modify boot options.

[Testing]:
1) Load WebUI with the changes and go to Power operations page.
2) Check reboot shutdown names have changes to Graceful
reboot/shutdown" and "Force reboot/shutdown".
3) Check if BootSettings template renders as expected.

Change-Id: I5a86e05ee03167ebb93ffd381af3a47c277990fd
Signed-off-by: Shubhi Garg <[email protected]>
  • Loading branch information
shgarg26 committed Oct 11, 2024
1 parent 825059a commit 918526f
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 14 deletions.
12 changes: 8 additions & 4 deletions src/locales/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -883,14 +883,18 @@
"currentStatus": "Current status",
"serverBootSettings": "Boot settings",
"serverStatus": "Server status",
"immediateReboot": "Immediate – Server reboots without operating system shutting down; may cause data corruption",
"immediateShutdown": "Immediate - Server shuts down without operating system shutting down; may cause data corruption",
"lastPowerOperation": "Last power operation",
"oneTimeBootWarning": "Pending one time boot. Next boot will be performed with the specified one time boot settings. Subsequent boots will be performed with the default settings.",
"operationInProgress": "There are no options to display while a power operation is in progress. When complete, power operations will be displayed here.",
"operations": "Operations",
"orderlyReboot": "Orderly – operating system shuts down, then server reboots",
"orderlyShutdown": "Orderly - operating system shuts down, then server shuts down",
"forceRestart": "Force Restart",
"forceRestartInfo": "Shut down immediately and non-gracefully and restart the unit",
"forceOff": "Force Off",
"forceOffInfo": "Turn off the unit immediately (non-graceful shutdown)",
"gracefulRestart": "Graceful Restart",
"gracefulRestartInfo": "Shut down gracefully and restart the unit",
"gracefulShutdown": "Graceful Shutdown",
"gracefulShutdownInfo": "Shut down gracefully and power off",
"powerOn": "Power on",
"reboot": "Reboot",
"rebootServer": "Reboot server",
Expand Down
12 changes: 8 additions & 4 deletions src/locales/ru-RU.json
Original file line number Diff line number Diff line change
Expand Up @@ -869,14 +869,18 @@
"currentStatus": "Текущий статус",
"serverBootSettings": "Настройки загрузки",
"serverStatus": "Статус сервера",
"immediateReboot": "Немедленно – сервер перезапустится без выключения ОС; может вызвать повреждение данных",
"immediateShutdown": "Немедленно - сервер выключится без выключения ОС; может вызвать повреждение данных",
"lastPowerOperation": "Последняя операция управления питанием сервера",
"oneTimeBootWarning": "Единовременное изменение порядка загрузки сервера. Последующие запуски сервера будут производиться в соответствии с установленным порядком загрузки.",
"operationInProgress": "Выполняется операция управления электропитанием сервера. Изменение настроек будет возможно после её окончания.",
"operations": "Действия",
"orderlyReboot": "По порядку – ОС выключается, затем сервер перезапускается",
"orderlyShutdown": "По порядку - ОС выключается, затем сервер выключается",
"forceRestart": "Принудительный перезапуск",
"forceRestartInfo": "Немедленно и некорректно выключить и перезапустить устройство",
"forceOff": "Принудительно выключить",
"forceOffInfo": "Немедленно выключить устройство (некорректное завершение работы)",
"gracefulRestart": "Милый перезапуск",
"gracefulRestartInfo": "Завершите работу корректно и перезапустите устройство",
"gracefulShutdown": "Мягкое завершение работы",
"gracefulShutdownInfo": "Завершите работу корректно и выключите",
"powerOn": "Включить",
"reboot": "Перезапустить",
"rebootServer": "Перезапустить сервер",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,12 @@
</b-col>
</b-row>
<b-row>
<b-col v-if="hasBootSourceOptions" sm="8" md="6" xl="4">
<b-col
v-if="hasBootSourceOptions && oneTimeBootEnabled"
sm="8"
md="6"
xl="4"
>
<page-section
:section-title="$t('pageServerPowerOperations.serverBootSettings')"
>
Expand Down Expand Up @@ -95,15 +100,21 @@
data-test-id="serverPowerOperations-radio-rebootOrderly"
value="orderly"
>
{{ $t('pageServerPowerOperations.orderlyReboot') }}
{{ $t('pageServerPowerOperations.gracefulRestart') }}
<info-tooltip
:title="$t('pageServerPowerOperations.gracefulRestartInfo')"
/>
</b-form-radio>
<b-form-radio
v-model="form.rebootOption"
name="reboot-option"
data-test-id="serverPowerOperations-radio-rebootImmediate"
value="immediate"
>
{{ $t('pageServerPowerOperations.immediateReboot') }}
{{ $t('pageServerPowerOperations.forceRestart') }}
<info-tooltip
:title="$t('pageServerPowerOperations.forceRestartInfo')"
/>
</b-form-radio>
</b-form-group>
<b-button
Expand All @@ -125,15 +136,23 @@
data-test-id="serverPowerOperations-radio-shutdownOrderly"
value="orderly"
>
{{ $t('pageServerPowerOperations.orderlyShutdown') }}
{{ $t('pageServerPowerOperations.gracefulShutdown') }}
<info-tooltip
:title="
$t('pageServerPowerOperations.gracefulShutdownInfo')
"
/>
</b-form-radio>
<b-form-radio
v-model="form.shutdownOption"
name="shutdown-option"
data-test-id="serverPowerOperations-radio-shutdownImmediate"
value="immediate"
>
{{ $t('pageServerPowerOperations.immediateShutdown') }}
{{ $t('pageServerPowerOperations.forceOff') }}
<info-tooltip
:title="$t('pageServerPowerOperations.forceOffInfo')"
/>
</b-form-radio>
</b-form-group>
<b-button
Expand All @@ -158,12 +177,13 @@ import BVToastMixin from '@/components/Mixins/BVToastMixin';
import BootSettings from './BootSettings';
import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
import Alert from '@/components/Global/Alert';
import InfoTooltip from '@/components/Global/InfoTooltip';
import { useI18n } from 'vue-i18n';
import i18n from '@/i18n';
export default {
name: 'ServerPowerOperations',
components: { PageTitle, PageSection, BootSettings, Alert },
components: { PageTitle, PageSection, BootSettings, Alert, InfoTooltip },
mixins: [BVToastMixin, LoadingBarMixin],
beforeRouteLeave(to, from, next) {
this.hideLoader();
Expand Down

0 comments on commit 918526f

Please sign in to comment.