diff options
author | Sandeepa Singh <sandeepa.singh@ibm.com> | 2021-07-14 13:32:22 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2021-08-10 22:20:42 +0300 |
commit | 68cbbe9014cbdcf7229a878f564d38f6d6199f25 (patch) | |
tree | cd7138959f405cb44b5d62000da9d364ed238b91 /src/views/Configuration | |
parent | 7affc529b7fba41193c4d48764707e9961cdd22d (diff) | |
download | webui-vue-68cbbe9014cbdcf7229a878f564d38f6d6199f25.tar.xz |
IA update: Update control section to operations
This is the third update to the information architecture changes and
has the following changes:
- The control section has been updated to operations
- The server led page has been removed
- The firmware page is moved to operations section
Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com>
Change-Id: I2e23da447890d7bee51892e1f782d5f2db6dded4
Diffstat (limited to 'src/views/Configuration')
8 files changed, 0 insertions, 629 deletions
diff --git a/src/views/Configuration/Firmware/Firmware.vue b/src/views/Configuration/Firmware/Firmware.vue deleted file mode 100644 index a2acb9b0..00000000 --- a/src/views/Configuration/Firmware/Firmware.vue +++ /dev/null @@ -1,93 +0,0 @@ -<template> - <b-container fluid="xl"> - <page-title /> - <alerts-server-power - v-if="isServerPowerOffRequired" - :is-server-off="isServerOff" - /> - - <!-- Firmware cards --> - <b-row> - <b-col xl="10"> - <!-- BMC Firmware --> - <bmc-cards :is-page-disabled="isPageDisabled" /> - - <!-- Host Firmware --> - <host-cards v-if="!isSingleFileUploadEnabled" /> - </b-col> - </b-row> - - <!-- Update firmware--> - <page-section - :section-title="$t('pageFirmware.sectionTitleUpdateFirmware')" - > - <b-row> - <b-col sm="8" md="6" xl="4"> - <!-- Update form --> - <form-update - :is-server-off="isServerOff" - :is-page-disabled="isPageDisabled" - /> - </b-col> - </b-row> - </page-section> - </b-container> -</template> - -<script> -import AlertsServerPower from './FirmwareAlertServerPower'; -import BmcCards from './FirmwareCardsBmc'; -import FormUpdate from './FirmwareFormUpdate'; -import HostCards from './FirmwareCardsHost'; -import PageSection from '@/components/Global/PageSection'; -import PageTitle from '@/components/Global/PageTitle'; - -import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; - -export default { - name: 'FirmwareSingleImage', - components: { - AlertsServerPower, - BmcCards, - FormUpdate, - HostCards, - PageSection, - PageTitle, - }, - mixins: [LoadingBarMixin], - beforeRouteLeave(to, from, next) { - this.hideLoader(); - next(); - }, - data() { - return { - loading, - isServerPowerOffRequired: - process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true', - }; - }, - computed: { - serverStatus() { - return this.$store.getters['global/serverStatus']; - }, - isServerOff() { - return this.serverStatus === 'off' ? true : false; - }, - isSingleFileUploadEnabled() { - return this.$store.getters['firmware/isSingleFileUploadEnabled']; - }, - isPageDisabled() { - if (this.isServerPowerOffRequired) { - return !this.isServerOff || this.loading || this.isOperationInProgress; - } - return this.loading || this.isOperationInProgress; - }, - }, - created() { - this.startLoader(); - this.$store - .dispatch('firmware/getFirmwareInformation') - .finally(() => this.endLoader()); - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue b/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue deleted file mode 100644 index 2a3bcba1..00000000 --- a/src/views/Configuration/Firmware/FirmwareAlertServerPower.vue +++ /dev/null @@ -1,50 +0,0 @@ -<template> - <b-row> - <b-col xl="10"> - <!-- Operation in progress alert --> - <alert v-if="isOperationInProgress" variant="info" class="mb-5"> - <p> - {{ $t('pageFirmware.alert.operationInProgress') }} - </p> - </alert> - <!-- Power off server warning alert --> - <alert v-else-if="!isServerOff" variant="warning" class="mb-5"> - <p class="mb-0"> - {{ $t('pageFirmware.alert.serverMustBePoweredOffTo') }} - </p> - <ul class="m-0"> - <li> - {{ $t('pageFirmware.alert.switchRunningAndBackupImages') }} - </li> - <li> - {{ $t('pageFirmware.alert.updateFirmware') }} - </li> - </ul> - <template #action> - <b-link to="/control/server-power-operations"> - {{ $t('pageFirmware.alert.viewServerPowerOperations') }} - </b-link> - </template> - </alert> - </b-col> - </b-row> -</template> - -<script> -import Alert from '@/components/Global/Alert'; - -export default { - components: { Alert }, - props: { - isServerOff: { - required: true, - type: Boolean, - }, - }, - computed: { - isOperationInProgress() { - return this.$store.getters['controls/isOperationInProgress']; - }, - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/FirmwareCardsBmc.vue b/src/views/Configuration/Firmware/FirmwareCardsBmc.vue deleted file mode 100644 index d79a8769..00000000 --- a/src/views/Configuration/Firmware/FirmwareCardsBmc.vue +++ /dev/null @@ -1,136 +0,0 @@ -<template> - <div> - <page-section :section-title="sectionTitle"> - <b-card-group deck> - <!-- Running image --> - <b-card> - <template #header> - <p class="font-weight-bold m-0"> - {{ $t('pageFirmware.cardTitleRunning') }} - </p> - </template> - <dl class="mb-0"> - <dt>{{ $t('pageFirmware.cardBodyVersion') }}</dt> - <dd class="mb-0">{{ runningVersion }}</dd> - </dl> - </b-card> - - <!-- Backup image --> - <b-card> - <template #header> - <p class="font-weight-bold m-0"> - {{ $t('pageFirmware.cardTitleBackup') }} - </p> - </template> - <dl> - <dt>{{ $t('pageFirmware.cardBodyVersion') }}</dt> - <dd> - <status-icon v-if="showBackupImageStatus" status="danger" /> - <span v-if="showBackupImageStatus" class="sr-only"> - {{ backupStatus }} - </span> - {{ backupVersion }} - </dd> - </dl> - <b-btn - v-if="!switchToBackupImageDisabled" - v-b-modal.modal-switch-to-running - data-test-id="firmware-button-switchToRunning" - variant="link" - size="sm" - class="py-0 px-1 mt-2" - :disabled="isPageDisabled || !backup" - > - <icon-switch class="d-none d-sm-inline-block" /> - {{ $t('pageFirmware.cardActionSwitchToRunning') }} - </b-btn> - </b-card> - </b-card-group> - </page-section> - <modal-switch-to-running :backup="backupVersion" @ok="switchToRunning" /> - </div> -</template> - -<script> -import IconSwitch from '@carbon/icons-vue/es/arrows--horizontal/20'; -import PageSection from '@/components/Global/PageSection'; -import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; -import BVToastMixin from '@/components/Mixins/BVToastMixin'; - -import ModalSwitchToRunning from './FirmwareModalSwitchToRunning'; - -export default { - components: { IconSwitch, ModalSwitchToRunning, PageSection }, - mixins: [BVToastMixin, LoadingBarMixin], - props: { - isPageDisabled: { - required: true, - type: Boolean, - default: false, - }, - }, - data() { - return { - loading, - switchToBackupImageDisabled: - process.env.VUE_APP_SWITCH_TO_BACKUP_IMAGE_DISABLED === 'true', - }; - }, - computed: { - isSingleFileUploadEnabled() { - return this.$store.getters['firmware/isSingleFileUploadEnabled']; - }, - sectionTitle() { - if (this.isSingleFileUploadEnabled) { - return this.$t('pageFirmware.sectionTitleBmcCardsCombined'); - } - return this.$t('pageFirmware.sectionTitleBmcCards'); - }, - running() { - return this.$store.getters['firmware/activeBmcFirmware']; - }, - backup() { - return this.$store.getters['firmware/backupBmcFirmware']; - }, - runningVersion() { - return this.running?.version || '--'; - }, - backupVersion() { - return this.backup?.version || '--'; - }, - backupStatus() { - return this.backup?.status || null; - }, - showBackupImageStatus() { - return ( - this.backupStatus === 'Critical' || this.backupStatus === 'Warning' - ); - }, - }, - methods: { - switchToRunning() { - this.startLoader(); - const timerId = setTimeout(() => { - this.endLoader(); - this.infoToast(this.$t('pageFirmware.toast.verifySwitchMessage'), { - title: this.$t('pageFirmware.toast.verifySwitch'), - refreshAction: true, - }); - }, 60000); - - this.$store - .dispatch('firmware/switchBmcFirmwareAndReboot') - .then(() => - this.infoToast(this.$t('pageFirmware.toast.rebootStartedMessage'), { - title: this.$t('pageFirmware.toast.rebootStarted'), - }) - ) - .catch(({ message }) => { - this.errorToast(message); - clearTimeout(timerId); - this.endLoader(); - }); - }, - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/FirmwareCardsHost.vue b/src/views/Configuration/Firmware/FirmwareCardsHost.vue deleted file mode 100644 index b4a8e90d..00000000 --- a/src/views/Configuration/Firmware/FirmwareCardsHost.vue +++ /dev/null @@ -1,73 +0,0 @@ -<template> - <page-section :section-title="$t('pageFirmware.sectionTitleHostCards')"> - <b-card-group deck> - <!-- Running image --> - <b-card> - <template #header> - <p class="font-weight-bold m-0"> - {{ $t('pageFirmware.cardTitleRunning') }} - </p> - </template> - <dl class="mb-0"> - <dt>{{ $t('pageFirmware.cardBodyVersion') }}</dt> - <dd class="mb-0">{{ runningVersion }}</dd> - </dl> - </b-card> - - <!-- Backup image --> - <b-card> - <template #header> - <p class="font-weight-bold m-0"> - {{ $t('pageFirmware.cardTitleBackup') }} - </p> - </template> - <dl class="mb-0"> - <dt>{{ $t('pageFirmware.cardBodyVersion') }}</dt> - <dd class="mb-0"> - <status-icon v-if="showBackupImageStatus" status="danger" /> - <span v-if="showBackupImageStatus" class="sr-only"> - {{ backupStatus }} - </span> - {{ backupVersion }} - </dd> - </dl> - </b-card> - </b-card-group> - </page-section> -</template> - -<script> -import PageSection from '@/components/Global/PageSection'; - -export default { - components: { PageSection }, - computed: { - running() { - return this.$store.getters['firmware/activeHostFirmware']; - }, - backup() { - return this.$store.getters['firmware/backupHostFirmware']; - }, - runningVersion() { - return this.running?.version || '--'; - }, - backupVersion() { - return this.backup?.version || '--'; - }, - backupStatus() { - return this.backup?.status || null; - }, - showBackupImageStatus() { - return ( - this.backupStatus === 'Critical' || this.backupStatus === 'Warning' - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.page-section { - margin-top: -$spacer * 1.5; -} -</style> diff --git a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue b/src/views/Configuration/Firmware/FirmwareFormUpdate.vue deleted file mode 100644 index 04b28a5c..00000000 --- a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue +++ /dev/null @@ -1,200 +0,0 @@ -<template> - <div> - <div class="form-background p-3"> - <b-form @submit.prevent="onSubmitUpload"> - <b-form-group - v-if="isTftpUploadAvailable" - :label="$t('pageFirmware.form.updateFirmware.fileSource')" - :disabled="isPageDisabled" - > - <b-form-radio v-model="isWorkstationSelected" :value="true"> - {{ $t('pageFirmware.form.updateFirmware.workstation') }} - </b-form-radio> - <b-form-radio v-model="isWorkstationSelected" :value="false"> - {{ $t('pageFirmware.form.updateFirmware.tftpServer') }} - </b-form-radio> - </b-form-group> - - <!-- Workstation Upload --> - <template v-if="isWorkstationSelected"> - <b-form-group - :label="$t('pageFirmware.form.updateFirmware.imageFile')" - label-for="image-file" - > - <form-file - id="image-file" - :disabled="isPageDisabled" - :state="getValidationState($v.file)" - aria-describedby="image-file-help-block" - @input="onFileUpload($event)" - > - <template #invalid> - <b-form-invalid-feedback role="alert"> - {{ $t('global.form.required') }} - </b-form-invalid-feedback> - </template> - </form-file> - </b-form-group> - </template> - - <!-- TFTP Server Upload --> - <template v-else> - <b-form-group - :label="$t('pageFirmware.form.updateFirmware.fileAddress')" - label-for="tftp-address" - > - <b-form-input - id="tftp-address" - v-model="tftpFileAddress" - type="text" - :state="getValidationState($v.tftpFileAddress)" - :disabled="isPageDisabled" - @input="$v.tftpFileAddress.$touch()" - /> - <b-form-invalid-feedback role="alert"> - {{ $t('global.form.fieldRequired') }} - </b-form-invalid-feedback> - </b-form-group> - </template> - <b-btn - data-test-id="firmware-button-startUpdate" - type="submit" - variant="primary" - :disabled="isPageDisabled" - > - {{ $t('pageFirmware.form.updateFirmware.startUpdate') }} - </b-btn> - <alert - v-if="isServerPowerOffRequired && !isServerOff" - variant="warning" - :small="true" - class="mt-4" - > - <p class="col-form-label"> - {{ - $t('pageFirmware.alert.serverMustBePoweredOffToUpdateFirmware') - }} - </p> - </alert> - </b-form> - </div> - - <!-- Modals --> - <modal-update-firmware @ok="updateFirmware" /> - </div> -</template> - -<script> -import { requiredIf } from 'vuelidate/lib/validators'; - -import BVToastMixin from '@/components/Mixins/BVToastMixin'; -import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; -import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; - -import Alert from '@/components/Global/Alert'; -import FormFile from '@/components/Global/FormFile'; -import ModalUpdateFirmware from './FirmwareModalUpdateFirmware'; - -export default { - components: { Alert, FormFile, ModalUpdateFirmware }, - mixins: [BVToastMixin, LoadingBarMixin, VuelidateMixin], - props: { - isPageDisabled: { - required: true, - type: Boolean, - default: false, - }, - isServerOff: { - required: true, - type: Boolean, - }, - }, - data() { - return { - loading, - isWorkstationSelected: true, - file: null, - tftpFileAddress: null, - isServerPowerOffRequired: - process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true', - }; - }, - computed: { - isTftpUploadAvailable() { - return this.$store.getters['firmware/isTftpUploadAvailable']; - }, - }, - watch: { - isWorkstationSelected: function () { - this.$v.$reset(); - this.file = null; - this.tftpFileAddress = null; - }, - }, - validations() { - return { - file: { - required: requiredIf(function () { - return this.isWorkstationSelected; - }), - }, - tftpFileAddress: { - required: requiredIf(function () { - return !this.isWorkstationSelected; - }), - }, - }; - }, - created() { - this.$store.dispatch('firmware/getUpdateServiceSettings'); - }, - methods: { - updateFirmware() { - this.startLoader(); - const timerId = setTimeout(() => { - this.endLoader(); - this.infoToast(this.$t('pageFirmware.toast.verifyUpdateMessage'), { - title: this.$t('pageFirmware.toast.verifyUpdate'), - refreshAction: true, - }); - }, 360000); - this.infoToast(this.$t('pageFirmware.toast.updateStartedMessage'), { - title: this.$t('pageFirmware.toast.updateStarted'), - timestamp: true, - }); - if (this.isWorkstationSelected) { - this.dispatchWorkstationUpload(timerId); - } else { - this.dispatchTftpUpload(timerId); - } - }, - dispatchWorkstationUpload(timerId) { - this.$store - .dispatch('firmware/uploadFirmware', this.file) - .catch(({ message }) => { - this.endLoader(); - this.errorToast(message); - clearTimeout(timerId); - }); - }, - dispatchTftpUpload(timerId) { - this.$store - .dispatch('firmware/uploadFirmwareTFTP', this.tftpFileAddress) - .catch(({ message }) => { - this.endLoader(); - this.errorToast(message); - clearTimeout(timerId); - }); - }, - onSubmitUpload() { - this.$v.$touch(); - if (this.$v.$invalid) return; - this.$bvModal.show('modal-update-firmware'); - }, - onFileUpload(file) { - this.file = file; - this.$v.file.$touch(); - }, - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/FirmwareModalSwitchToRunning.vue b/src/views/Configuration/Firmware/FirmwareModalSwitchToRunning.vue deleted file mode 100644 index dc4a4973..00000000 --- a/src/views/Configuration/Firmware/FirmwareModalSwitchToRunning.vue +++ /dev/null @@ -1,31 +0,0 @@ -<template> - <b-modal - id="modal-switch-to-running" - :ok-title="$t('pageFirmware.modal.switchImages')" - :cancel-title="$t('global.action.cancel')" - :title="$t('pageFirmware.modal.switchRunningImage')" - @ok="$emit('ok')" - > - <p> - {{ $t('pageFirmware.modal.switchRunningImageInfo') }} - </p> - <p class="m-0"> - {{ - $t('pageFirmware.modal.switchRunningImageInfo2', { - backup, - }) - }} - </p> - </b-modal> -</template> - -<script> -export default { - props: { - backup: { - type: String, - required: true, - }, - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/FirmwareModalUpdateFirmware.vue b/src/views/Configuration/Firmware/FirmwareModalUpdateFirmware.vue deleted file mode 100644 index 18355217..00000000 --- a/src/views/Configuration/Firmware/FirmwareModalUpdateFirmware.vue +++ /dev/null @@ -1,44 +0,0 @@ -<template> - <b-modal - id="modal-update-firmware" - :title="$t('pageFirmware.sectionTitleUpdateFirmware')" - :ok-title="$t('pageFirmware.form.updateFirmware.startUpdate')" - :cancel-title="$t('global.action.cancel')" - @ok="$emit('ok')" - > - <template v-if="isSingleFileUploadEnabled"> - <p> - {{ $t('pageFirmware.modal.updateFirmwareInfo') }} - </p> - <p> - {{ - $t('pageFirmware.modal.updateFirmwareInfo2', { - running: runningBmcVersion, - }) - }} - </p> - <p class="m-0"> - {{ $t('pageFirmware.modal.updateFirmwareInfo3') }} - </p> - </template> - <template v-else> - {{ $t('pageFirmware.modal.updateFirmwareInfoDefault') }} - </template> - </b-modal> -</template> - -<script> -export default { - computed: { - runningBmc() { - return this.$store.getters['firmware/activeBmcFirmware']; - }, - runningBmcVersion() { - return this.runningBmc?.version || '--'; - }, - isSingleFileUploadEnabled() { - return this.$store.getters['firmware/isSingleFileUploadEnabled']; - }, - }, -}; -</script> diff --git a/src/views/Configuration/Firmware/index.js b/src/views/Configuration/Firmware/index.js deleted file mode 100644 index ad15cc03..00000000 --- a/src/views/Configuration/Firmware/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import Firmware from './Firmware.vue'; -export default Firmware; |