Replace use of the term host with server
This patchset focuses on the global store use for server power
operations and impacts several pages in the interface.
For consistency, both in the UI and the code base, we are replacing
the term host with server. This change impacts both the user and the
developer experience. Maintaining consistency in naming allows both
developers and users to form a mental model of the overall system
and will help remove confusion when interacting with the UI and
editing the interface.
Testing:
1. Tested shutdown, power on, and reboot and verified the icons and
page sections in the site header and the server power operations page
update as expected during power operations.
2. Verified the one-time boot operations alert is displayed to the
user when changing the boot settings on the server power operations page
3 Tested factory reset and validated the correct information message
is displayed to the user with the server power off and on when
performing the factory reset functions.
4. Verified the SOL Console status icon updates correctly during
power operations.
5. Verified the alert message is displayed on the firmware update page
when the server is powered on.
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I88499a746364ab80f16a8b350d550407d094e95d
diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue
index 0e8d3db..f7989d2 100644
--- a/src/components/AppHeader/AppHeader.vue
+++ b/src/components/AppHeader/AppHeader.vue
@@ -59,7 +59,7 @@
to="/control/server-power-operations"
data-test-id="appHeader-container-power"
>
- <status-icon :status="hostStatusIcon" />
+ <status-icon :status="serverStatusIcon" />
{{ $t('appHeader.power') }}
</b-nav-item>
<!-- Using LI elements instead of b-nav-item to support semantic button elements -->
@@ -138,14 +138,14 @@
isAuthorized() {
return this.$store.getters['global/isAuthorized'];
},
- hostStatus() {
- return this.$store.getters['global/hostStatus'];
+ serverStatus() {
+ return this.$store.getters['global/serverStatus'];
},
healthStatus() {
return this.$store.getters['eventLog/healthStatus'];
},
- hostStatusIcon() {
- switch (this.hostStatus) {
+ serverStatusIcon() {
+ switch (this.serverStatus) {
case 'on':
return 'success';
case 'error':
@@ -186,7 +186,7 @@
// Reset auth state to check if user is authenticated based
// on available browser cookies
this.$store.dispatch('authentication/resetStoreState');
- this.getHostInfo();
+ this.getServerInfo();
this.getEvents();
},
mounted() {
@@ -196,8 +196,8 @@
);
},
methods: {
- getHostInfo() {
- this.$store.dispatch('global/getHostStatus');
+ getServerInfo() {
+ this.$store.dispatch('global/getServerStatus');
},
getEvents() {
this.$store.dispatch('eventLog/getEventLogData');
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index 2bb34a2..437ce03 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -703,16 +703,16 @@
},
"pageServerPowerOperations": {
"currentStatus": "Current status",
- "hostOsBootSettings": "Host OS boot settings",
- "hostStatus": "Host status",
- "immediateReboot": "Immediate – Server reboots without OS shutting down; may cause data corruption",
- "immediateShutdown": "Immediate - Server shuts down without OS shutting down; may cause data corruption",
+ "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 – OS shuts down, then server reboots",
- "orderlyShutdown": "Orderly - OS shuts down, then server shuts down",
+ "orderlyReboot": "Orderly – operating system shuts down, then server reboots",
+ "orderlyShutdown": "Orderly - operating system shuts down, then server shuts down",
"powerOn": "Power on",
"reboot": "Reboot",
"rebootServer": "Reboot server",
diff --git a/src/store/index.js b/src/store/index.js
index 93386b1..82efab9 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -44,7 +44,7 @@
ldap: LdapStore,
localUsers: LocalUserManagementStore,
firmware: FirmwareStore,
- hostBootSettings: BootSettingsStore,
+ serverBootSettings: BootSettingsStore,
controls: ControlStore,
powerControl: PowerControlStore,
powerPolicy: PowerPolicyStore,
diff --git a/src/store/modules/Control/ControlStore.js b/src/store/modules/Control/ControlStore.js
index 5f532d0..9b8bf73 100644
--- a/src/store/modules/Control/ControlStore.js
+++ b/src/store/modules/Control/ControlStore.js
@@ -2,23 +2,23 @@
import i18n from '@/i18n';
/**
- * Watch for hostStatus changes in GlobalStore module
+ * Watch for serverStatus changes in GlobalStore module
* to set isOperationInProgress state
* Stop watching status changes and resolve Promise when
- * hostStatus value matches passed argument or after 5 minutes
- * @param {string} hostStatus
+ * serverStatus value matches passed argument or after 5 minutes
+ * @param {string} serverStatus
* @returns {Promise}
*/
-const checkForHostStatus = function (hostStatus) {
+const checkForServerStatus = function (serverStatus) {
return new Promise((resolve) => {
const timer = setTimeout(() => {
resolve();
unwatch();
}, 300000 /*5mins*/);
const unwatch = this.watch(
- (state) => state.global.hostStatus,
+ (state) => state.global.serverStatus,
(value) => {
- if (value === hostStatus) {
+ if (value === serverStatus) {
resolve();
unwatch();
clearTimeout(timer);
@@ -82,42 +82,42 @@
throw new Error(i18n.t('pageRebootBmc.toast.errorRebootStart'));
});
},
- async hostPowerOn({ dispatch, commit }) {
+ async serverPowerOn({ dispatch, commit }) {
const data = { ResetType: 'On' };
- dispatch('hostPowerChange', data);
- await checkForHostStatus.bind(this, 'on')();
+ dispatch('serverPowerChange', data);
+ await checkForServerStatus.bind(this, 'on')();
commit('setOperationInProgress', false);
dispatch('getLastPowerOperationTime');
},
- async hostSoftReboot({ dispatch, commit }) {
+ async serverSoftReboot({ dispatch, commit }) {
const data = { ResetType: 'GracefulRestart' };
- dispatch('hostPowerChange', data);
- await checkForHostStatus.bind(this, 'on')();
+ dispatch('serverPowerChange', data);
+ await checkForServerStatus.bind(this, 'on')();
commit('setOperationInProgress', false);
dispatch('getLastPowerOperationTime');
},
- async hostHardReboot({ dispatch, commit }) {
+ async serverHardReboot({ dispatch, commit }) {
const data = { ResetType: 'ForceRestart' };
- dispatch('hostPowerChange', data);
- await checkForHostStatus.bind(this, 'on')();
+ dispatch('serverPowerChange', data);
+ await checkForServerStatus.bind(this, 'on')();
commit('setOperationInProgress', false);
dispatch('getLastPowerOperationTime');
},
- async hostSoftPowerOff({ dispatch, commit }) {
+ async serverSoftPowerOff({ dispatch, commit }) {
const data = { ResetType: 'GracefulShutdown' };
- dispatch('hostPowerChange', data);
- await checkForHostStatus.bind(this, 'off')();
+ dispatch('serverPowerChange', data);
+ await checkForServerStatus.bind(this, 'off')();
commit('setOperationInProgress', false);
dispatch('getLastPowerOperationTime');
},
- async hostHardPowerOff({ dispatch, commit }) {
+ async serverHardPowerOff({ dispatch, commit }) {
const data = { ResetType: 'ForceOff' };
- dispatch('hostPowerChange', data);
- await checkForHostStatus.bind(this, 'off')();
+ dispatch('serverPowerChange', data);
+ await checkForServerStatus.bind(this, 'off')();
commit('setOperationInProgress', false);
dispatch('getLastPowerOperationTime');
},
- hostPowerChange({ commit }, data) {
+ serverPowerChange({ commit }, data) {
commit('setOperationInProgress', true);
api
.post('/redfish/v1/Systems/system/Actions/ComputerSystem.Reset', data)
diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js
index 6e9bd96..fdfdc93 100644
--- a/src/store/modules/GlobalStore.js
+++ b/src/store/modules/GlobalStore.js
@@ -7,7 +7,7 @@
diagnosticMode: 'xyz.openbmc_project.State.Host.HostState.DiagnosticMode',
};
-const hostStateMapper = (hostState) => {
+const serverStateMapper = (hostState) => {
switch (hostState) {
case HOST_STATE.on:
case 'On': // Redfish PowerState
@@ -31,7 +31,7 @@
state: {
assetTag: null,
bmcTime: null,
- hostStatus: 'unreachable',
+ serverStatus: 'unreachable',
languagePreference: localStorage.getItem('storedLanguage') || 'en-US',
isUtcDisplay: localStorage.getItem('storedUtcDisplay')
? JSON.parse(localStorage.getItem('storedUtcDisplay'))
@@ -41,7 +41,7 @@
},
getters: {
assetTag: (state) => state.assetTag,
- hostStatus: (state) => state.hostStatus,
+ serverStatus: (state) => state.serverStatus,
bmcTime: (state) => state.bmcTime,
languagePreference: (state) => state.languagePreference,
isUtcDisplay: (state) => state.isUtcDisplay,
@@ -51,8 +51,8 @@
mutations: {
setAssetTag: (state, assetTag) => (state.assetTag = assetTag),
setBmcTime: (state, bmcTime) => (state.bmcTime = bmcTime),
- setHostStatus: (state, hostState) =>
- (state.hostStatus = hostStateMapper(hostState)),
+ setServerStatus: (state, serverState) =>
+ (state.serverStatus = serverStateMapper(serverState)),
setLanguagePreference: (state, language) =>
(state.languagePreference = language),
setUsername: (state, username) => (state.username = username),
@@ -75,7 +75,7 @@
})
.catch((error) => console.log(error));
},
- getHostStatus({ commit }) {
+ getServerStatus({ commit }) {
api
.get('/redfish/v1/Systems/system')
.then(
@@ -85,9 +85,9 @@
// OpenBMC's host state interface is mapped to 2 Redfish
// properties "Status""State" and "PowerState". Look first
// at State for certain cases.
- commit('setHostStatus', State);
+ commit('setServerStatus', State);
} else {
- commit('setHostStatus', PowerState);
+ commit('setServerStatus', PowerState);
}
}
)
diff --git a/src/store/plugins/WebSocketPlugin.js b/src/store/plugins/WebSocketPlugin.js
index 5780d74..c9f7a89 100644
--- a/src/store/plugins/WebSocketPlugin.js
+++ b/src/store/plugins/WebSocketPlugin.js
@@ -38,7 +38,7 @@
if (eventInterface === 'xyz.openbmc_project.State.Host') {
const { properties: { CurrentHostState } = {} } = data;
- store.commit('global/setHostStatus', CurrentHostState);
+ store.commit('global/setServerStatus', CurrentHostState);
} else if (path === '/xyz/openbmc_project/logging') {
store.dispatch('eventLog/getEventLogData');
}
diff --git a/src/views/Configuration/Firmware/Firmware.vue b/src/views/Configuration/Firmware/Firmware.vue
index e27c8a2..a2acb9b 100644
--- a/src/views/Configuration/Firmware/Firmware.vue
+++ b/src/views/Configuration/Firmware/Firmware.vue
@@ -3,7 +3,7 @@
<page-title />
<alerts-server-power
v-if="isServerPowerOffRequired"
- :is-host-off="isHostOff"
+ :is-server-off="isServerOff"
/>
<!-- Firmware cards -->
@@ -25,7 +25,7 @@
<b-col sm="8" md="6" xl="4">
<!-- Update form -->
<form-update
- :is-host-off="isHostOff"
+ :is-server-off="isServerOff"
:is-page-disabled="isPageDisabled"
/>
</b-col>
@@ -67,18 +67,18 @@
};
},
computed: {
- hostStatus() {
- return this.$store.getters['global/hostStatus'];
+ serverStatus() {
+ return this.$store.getters['global/serverStatus'];
},
- isHostOff() {
- return this.hostStatus === 'off' ? true : false;
+ isServerOff() {
+ return this.serverStatus === 'off' ? true : false;
},
isSingleFileUploadEnabled() {
return this.$store.getters['firmware/isSingleFileUploadEnabled'];
},
isPageDisabled() {
if (this.isServerPowerOffRequired) {
- return !this.isHostOff || this.loading || this.isOperationInProgress;
+ return !this.isServerOff || this.loading || this.isOperationInProgress;
}
return this.loading || this.isOperationInProgress;
},
diff --git a/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue b/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue
index 0471311..2a3bcba 100644
--- a/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue
+++ b/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue
@@ -8,7 +8,7 @@
</p>
</alert>
<!-- Power off server warning alert -->
- <alert v-else-if="!isHostOff" variant="warning" class="mb-5">
+ <alert v-else-if="!isServerOff" variant="warning" class="mb-5">
<p class="mb-0">
{{ $t('pageFirmware.alert.serverMustBePoweredOffTo') }}
</p>
@@ -36,7 +36,7 @@
export default {
components: { Alert },
props: {
- isHostOff: {
+ isServerOff: {
required: true,
type: Boolean,
},
diff --git a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue b/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
index 9f67e8d..702352f 100644
--- a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
+++ b/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
@@ -69,7 +69,7 @@
{{ $t('pageFirmware.form.updateFirmware.startUpdate') }}
</b-btn>
<alert
- v-if="isServerPowerOffRequired && !isHostOff"
+ v-if="isServerPowerOffRequired && !isServerOff"
variant="warning"
:small="true"
class="mt-4"
@@ -108,7 +108,7 @@
type: Boolean,
default: false,
},
- isHostOff: {
+ isServerOff: {
required: true,
type: Boolean,
},
diff --git a/src/views/Control/FactoryReset/FactoryResetModal.vue b/src/views/Control/FactoryReset/FactoryResetModal.vue
index bf92b17..170bf28 100644
--- a/src/views/Control/FactoryReset/FactoryResetModal.vue
+++ b/src/views/Control/FactoryReset/FactoryResetModal.vue
@@ -22,7 +22,7 @@
</ul>
<!-- Warning message -->
- <template v-if="!isHostOff">
+ <template v-if="!isServerOff">
<p class="d-flex mb-2">
<status-icon status="danger" />
<span id="reset-to-default-warning" class="ml-1">
@@ -82,17 +82,17 @@
};
},
computed: {
- hostStatus() {
- return this.$store.getters['global/hostStatus'];
+ serverStatus() {
+ return this.$store.getters['global/serverStatus'];
},
- isHostOff() {
- return this.hostStatus === 'off' ? true : false;
+ isServerOff() {
+ return this.serverStatus === 'off' ? true : false;
},
},
validations: {
confirm: {
mustBeTrue: function (value) {
- return this.isHostOff || value === true;
+ return this.isServerOff || value === true;
},
},
},
diff --git a/src/views/Control/Kvm/KvmConsole.vue b/src/views/Control/Kvm/KvmConsole.vue
index d844b4b..d7ec31e 100644
--- a/src/views/Control/Kvm/KvmConsole.vue
+++ b/src/views/Control/Kvm/KvmConsole.vue
@@ -8,8 +8,8 @@
{{ $t('pageKvm.status') }}:
</dt>
<dd class="d-inline">
- <status-icon :status="hostStatusIcon" />
- <span class="d-none d-md-inline"> {{ hostStatus }}</span>
+ <status-icon :status="serverStatusIcon" />
+ <span class="d-none d-md-inline"> {{ serverStatus }}</span>
</dd>
</dl>
</b-col>
@@ -72,7 +72,7 @@
};
},
computed: {
- hostStatusIcon() {
+ serverStatusIcon() {
if (this.status === Connected) {
return 'success';
} else if (this.status === Disconnected) {
@@ -80,7 +80,7 @@
}
return 'secondary';
},
- hostStatus() {
+ serverStatus() {
if (this.status === Connected) {
return this.$t('pageKvm.connected');
} else if (this.status === Disconnected) {
diff --git a/src/views/Control/SerialOverLan/SerialOverLanConsole.vue b/src/views/Control/SerialOverLan/SerialOverLanConsole.vue
index 6c16c55..0bda43d 100644
--- a/src/views/Control/SerialOverLan/SerialOverLanConsole.vue
+++ b/src/views/Control/SerialOverLan/SerialOverLanConsole.vue
@@ -7,7 +7,7 @@
{{ $t('pageSerialOverLan.status') }}:
</dt>
<dd class="d-inline">
- <status-icon :status="hostStatusIcon" /> {{ connectionStatus }}
+ <status-icon :status="serverStatusIcon" /> {{ connectionStatus }}
</dd>
</dl>
</b-col>
@@ -49,20 +49,20 @@
};
},
computed: {
- hostStatus() {
- return this.$store.getters['global/hostStatus'];
+ serverStatus() {
+ return this.$store.getters['global/serverStatus'];
},
- hostStatusIcon() {
- return this.hostStatus === 'on' ? 'success' : 'danger';
+ serverStatusIcon() {
+ return this.serverStatus === 'on' ? 'success' : 'danger';
},
connectionStatus() {
- return this.hostStatus === 'on'
+ return this.serverStatus === 'on'
? this.$t('pageSerialOverLan.connected')
: this.$t('pageSerialOverLan.disconnected');
},
},
created() {
- this.$store.dispatch('global/getHostStatus');
+ this.$store.dispatch('global/getServerStatus');
},
mounted() {
this.openTerminal();
diff --git a/src/views/Control/ServerPowerOperations/BootSettings.vue b/src/views/Control/ServerPowerOperations/BootSettings.vue
index eda4eda..efd8d34 100644
--- a/src/views/Control/ServerPowerOperations/BootSettings.vue
+++ b/src/views/Control/ServerPowerOperations/BootSettings.vue
@@ -60,14 +60,14 @@
data() {
return {
form: {
- bootOption: this.$store.getters['hostBootSettings/bootSource'],
- oneTimeBoot: this.$store.getters['hostBootSettings/overrideEnabled'],
- tpmPolicyOn: this.$store.getters['hostBootSettings/tpmEnabled'],
+ bootOption: this.$store.getters['serverBootSettings/bootSource'],
+ oneTimeBoot: this.$store.getters['serverBootSettings/overrideEnabled'],
+ tpmPolicyOn: this.$store.getters['serverBootSettings/tpmEnabled'],
},
};
},
computed: {
- ...mapState('hostBootSettings', [
+ ...mapState('serverBootSettings', [
'bootSourceOptions',
'bootSource',
'overrideEnabled',
@@ -96,7 +96,7 @@
},
created() {
this.$store
- .dispatch('hostBootSettings/getTpmPolicy')
+ .dispatch('serverBootSettings/getTpmPolicy')
.finally(() =>
this.$root.$emit('server-power-operations-boot-settings-complete')
);
@@ -122,7 +122,7 @@
settings = { bootSource, overrideEnabled, tpmEnabled };
this.$store
- .dispatch('hostBootSettings/saveSettings', settings)
+ .dispatch('serverBootSettings/saveSettings', settings)
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message))
.finally(() => {
diff --git a/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue b/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
index 4ea7765..9e03083 100644
--- a/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
+++ b/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
@@ -9,15 +9,15 @@
<b-row>
<b-col>
<dl>
- <dt>{{ $t('pageServerPowerOperations.hostStatus') }}</dt>
+ <dt>{{ $t('pageServerPowerOperations.serverStatus') }}</dt>
<dd
- v-if="hostStatus === 'on'"
+ v-if="serverStatus === 'on'"
data-test-id="powerServerOps-text-hostStatus"
>
{{ $t('global.status.on') }}
</dd>
<dd
- v-else-if="hostStatus === 'off'"
+ v-else-if="serverStatus === 'off'"
data-test-id="powerServerOps-text-hostStatus"
>
{{ $t('global.status.off') }}
@@ -51,7 +51,7 @@
<b-row>
<b-col v-if="hasBootSourceOptions" sm="8" md="6" xl="4">
<page-section
- :section-title="$t('pageServerPowerOperations.hostOsBootSettings')"
+ :section-title="$t('pageServerPowerOperations.serverBootSettings')"
>
<boot-settings />
</page-section>
@@ -68,7 +68,7 @@
{{ $t('pageServerPowerOperations.operationInProgress') }}
</alert>
</template>
- <template v-else-if="hostStatus === 'off'">
+ <template v-else-if="serverStatus === 'off'">
<b-button
variant="primary"
data-test-id="serverPowerOperations-button-powerOn"
@@ -170,8 +170,8 @@
};
},
computed: {
- hostStatus() {
- return this.$store.getters['global/hostStatus'];
+ serverStatus() {
+ return this.$store.getters['global/serverStatus'];
},
isOperationInProgress() {
return this.$store.getters['controls/isOperationInProgress'];
@@ -180,11 +180,11 @@
return this.$store.getters['controls/lastPowerOperationTime'];
},
oneTimeBootEnabled() {
- return this.$store.getters['hostBootSettings/overrideEnabled'];
+ return this.$store.getters['serverBootSettings/overrideEnabled'];
},
hasBootSourceOptions() {
let bootOptions = this.$store.getters[
- 'hostBootSettings/bootSourceOptions'
+ 'serverBootSettings/bootSourceOptions'
];
return bootOptions.length !== 0;
},
@@ -197,14 +197,14 @@
);
});
Promise.all([
- this.$store.dispatch('hostBootSettings/getBootSettings'),
+ this.$store.dispatch('serverBootSettings/getBootSettings'),
this.$store.dispatch('controls/getLastPowerOperationTime'),
bootSettingsPromise,
]).finally(() => this.endLoader());
},
methods: {
powerOn() {
- this.$store.dispatch('controls/hostPowerOn');
+ this.$store.dispatch('controls/serverPowerOn');
},
rebootServer() {
const modalMessage = this.$t(
@@ -220,13 +220,13 @@
this.$bvModal
.msgBoxConfirm(modalMessage, modalOptions)
.then((confirmed) => {
- if (confirmed) this.$store.dispatch('controls/hostSoftReboot');
+ if (confirmed) this.$store.dispatch('controls/serverSoftReboot');
});
} else if (this.form.rebootOption === 'immediate') {
this.$bvModal
.msgBoxConfirm(modalMessage, modalOptions)
.then((confirmed) => {
- if (confirmed) this.$store.dispatch('controls/hostHardReboot');
+ if (confirmed) this.$store.dispatch('controls/serverHardReboot');
});
}
},
@@ -244,14 +244,14 @@
this.$bvModal
.msgBoxConfirm(modalMessage, modalOptions)
.then((confirmed) => {
- if (confirmed) this.$store.dispatch('controls/hostSoftPowerOff');
+ if (confirmed) this.$store.dispatch('controls/serverSoftPowerOff');
});
}
if (this.form.shutdownOption === 'immediate') {
this.$bvModal
.msgBoxConfirm(modalMessage, modalOptions)
.then((confirmed) => {
- if (confirmed) this.$store.dispatch('controls/hostHardPowerOff');
+ if (confirmed) this.$store.dispatch('controls/serverHardPowerOff');
});
}
},