blob: 2436e39362c71c186f736bc72a33289bd492a4f2 [file] [log] [blame]
Dixsie Wolmers97d86b32019-12-02 05:07:57 -06001<template>
Yoshie Muranaka3111b6f2020-04-21 19:48:38 -07002 <b-container fluid="xl">
Derick Montague09e45cd2020-01-23 15:45:57 -06003 <page-title />
Dixsie Wolmers537c6cb2020-01-06 17:22:25 -05004 <div class="quicklinks-section">
5 <overview-quick-links />
6 </div>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -06007 <b-row>
Dixsie Wolmers9d40e302020-02-13 13:29:40 -06008 <b-col>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -08009 <page-section :section-title="$t('pageOverview.bmcInformation')">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060010 <b-row>
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060011 <b-col>
12 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080013 <dt>{{ $t('pageOverview.firmwareVersion') }}</dt>
Dixsie Wolmers46a87442020-02-26 15:26:30 -060014 <dd>{{ bmcFirmwareVersion }}</dd>
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060015 </dl>
16 </b-col>
17 </b-row>
18 </page-section>
19 <b-row>
20 <b-col>
21 <page-section
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080022 :section-title="$t('pageOverview.networkInformation')"
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060023 >
24 <overview-network />
25 </page-section>
26 </b-col>
27 </b-row>
28 </b-col>
29 <b-col>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080030 <page-section :section-title="$t('pageOverview.serverInformation')">
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060031 <b-row>
SurenNewareff70e9e2020-12-23 14:52:35 +053032 <b-col lg="6">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060033 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080034 <dt>{{ $t('pageOverview.model') }}</dt>
Dixsie Wolmersf65ee342020-01-22 19:47:56 -060035 <dd>{{ serverModel }}</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060036 </dl>
37 </b-col>
SurenNewareff70e9e2020-12-23 14:52:35 +053038 <b-col lg="6">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060039 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080040 <dt>{{ $t('pageOverview.manufacturer') }}</dt>
Dixsie Wolmersf65ee342020-01-22 19:47:56 -060041 <dd>{{ serverManufacturer }}</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060042 </dl>
43 </b-col>
SurenNewareff70e9e2020-12-23 14:52:35 +053044 <b-col lg="6">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060045 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080046 <dt>{{ $t('pageOverview.serialNumber') }}</dt>
Dixsie Wolmersf65ee342020-01-22 19:47:56 -060047 <dd>{{ serverSerialNumber }}</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060048 </dl>
49 </b-col>
SurenNewareff70e9e2020-12-23 14:52:35 +053050 <b-col lg="6">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060051 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080052 <dt>{{ $t('pageOverview.firmwareVersion') }}</dt>
Dixsie Wolmers46a87442020-02-26 15:26:30 -060053 <dd>{{ hostFirmwareVersion }}</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060054 </dl>
55 </b-col>
56 </b-row>
Derick Montague09e45cd2020-01-23 15:45:57 -060057 </page-section>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080058 <page-section :section-title="$t('pageOverview.powerConsumption')">
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060059 <b-row>
60 <b-col sm="6">
61 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080062 <dt>{{ $t('pageOverview.powerConsumption') }}</dt>
Dixsie Wolmers4c69f5b2020-02-26 11:23:52 -060063 <dd v-if="powerConsumptionValue == null">
64 {{ $t('global.status.notAvailable') }}
65 </dd>
66 <dd v-else>{{ powerConsumptionValue }} W</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060067 </dl>
68 </b-col>
69 <b-col sm="6">
70 <dl>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080071 <dt>{{ $t('pageOverview.powerCap') }}</dt>
Dixsie Wolmers4c69f5b2020-02-26 11:23:52 -060072 <dd v-if="powerCapValue == null">
73 {{ $t('global.status.disabled') }}
74 </dd>
75 <dd v-else>{{ powerCapValue }} W</dd>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060076 </dl>
77 </b-col>
78 </b-row>
Derick Montague09e45cd2020-01-23 15:45:57 -060079 </page-section>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060080 </b-col>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060081 </b-row>
Yoshie Muranaka547b5fc2020-02-24 15:42:40 -080082 <page-section :section-title="$t('pageOverview.highPriorityEvents')">
Derick Montague09e45cd2020-01-23 15:45:57 -060083 <overview-events />
84 </page-section>
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060085 </b-container>
86</template>
87
88<script>
Derick Montaguee2fd1562019-12-20 13:26:53 -060089import OverviewQuickLinks from './OverviewQuickLinks';
90import OverviewEvents from './OverviewEvents';
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060091import OverviewNetwork from './OverviewNetwork';
SurenNeware61859092020-10-01 09:37:32 +053092import PageTitle from '@/components/Global/PageTitle';
93import PageSection from '@/components/Global/PageSection';
Derick Montaguee2fd1562019-12-20 13:26:53 -060094import { mapState } from 'vuex';
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -070095import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
Dixsie Wolmers9d40e302020-02-13 13:29:40 -060096
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060097export default {
Derick Montaguee2fd1562019-12-20 13:26:53 -060098 name: 'Overview',
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060099 components: {
Dixsie Wolmersf65ee342020-01-22 19:47:56 -0600100 OverviewQuickLinks,
101 OverviewEvents,
Dixsie Wolmers9d40e302020-02-13 13:29:40 -0600102 OverviewNetwork,
Yoshie Muranaka8d129102019-12-19 09:51:55 -0800103 PageTitle,
Derick Montague602e98a2020-10-21 16:20:00 -0500104 PageSection,
Dixsie Wolmers97d86b32019-12-02 05:07:57 -0600105 },
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700106 mixins: [LoadingBarMixin],
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -0700107 computed: {
108 ...mapState({
Derick Montague602e98a2020-10-21 16:20:00 -0500109 server: (state) => state.system.systems[0],
110 powerCapValue: (state) => state.powerControl.powerCapValue,
111 powerConsumptionValue: (state) =>
112 state.powerControl.powerConsumptionValue,
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -0700113 serverManufacturer() {
114 if (this.server) return this.server.manufacturer || '--';
115 return '--';
116 },
117 serverModel() {
118 if (this.server) return this.server.model || '--';
119 return '--';
120 },
121 serverSerialNumber() {
122 if (this.server) return this.server.serialNumber || '--';
123 return '--';
124 },
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -0700125 }),
Yoshie Muranaka33d755f2021-02-18 15:24:14 -0800126 activeHostFirmware() {
127 return this.$store.getters[`firmware/activeHostFirmware`];
128 },
129 hostFirmwareVersion() {
130 return this.activeHostFirmware?.version || '--';
131 },
132 activeBmcFirmware() {
133 return this.$store.getters[`firmware/activeBmcFirmware`];
134 },
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -0700135 bmcFirmwareVersion() {
Yoshie Muranaka33d755f2021-02-18 15:24:14 -0800136 return this.activeBmcFirmware?.version || '--';
Derick Montague602e98a2020-10-21 16:20:00 -0500137 },
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -0700138 },
Derick Montague09e45cd2020-01-23 15:45:57 -0600139 created() {
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700140 this.startLoader();
Derick Montague602e98a2020-10-21 16:20:00 -0500141 const quicklinksPromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +0530142 this.$root.$on('overview-quicklinks-complete', () => resolve());
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700143 });
Derick Montague602e98a2020-10-21 16:20:00 -0500144 const networkPromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +0530145 this.$root.$on('overview-network-complete', () => resolve());
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700146 });
Derick Montague602e98a2020-10-21 16:20:00 -0500147 const eventsPromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +0530148 this.$root.$on('overview-events-complete', () => resolve());
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700149 });
150 Promise.all([
Yoshie Muranakac687f102020-06-02 12:01:27 -0700151 this.$store.dispatch('system/getSystem'),
Yoshie Muranaka33d755f2021-02-18 15:24:14 -0800152 this.$store.dispatch(`firmware/getFirmwareInformation`),
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700153 this.$store.dispatch('powerControl/getPowerControl'),
154 quicklinksPromise,
155 networkPromise,
Derick Montague602e98a2020-10-21 16:20:00 -0500156 eventsPromise,
Yoshie Muranaka598bf7e2020-05-01 12:26:00 -0700157 ]).finally(() => this.endLoader());
Derick Montague09e45cd2020-01-23 15:45:57 -0600158 },
Dixsie Wolmers97d86b32019-12-02 05:07:57 -0600159};
160</script>
Dixsie Wolmers537c6cb2020-01-06 17:22:25 -0500161
162<style lang="scss" scoped>
163.quicklinks-section {
164 margin-bottom: $spacer * 2;
Dixsie Wolmers9d40e302020-02-13 13:29:40 -0600165 margin-left: $spacer * -1;
166}
Dixsie Wolmers537c6cb2020-01-06 17:22:25 -0500167</style>