Skip to content

Commit

Permalink
feat: display blade status in cfm-webui
Browse files Browse the repository at this point in the history
  • Loading branch information
Meng-20 committed Oct 4, 2024
1 parent acb0171 commit 26b14bd
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 7 deletions.
66 changes: 60 additions & 6 deletions webui/src/components/Appliance/Appliances.vue
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@
blade.ipAddress,
blade.port,
Number(blade.totalMemoryAvailableMiB),
Number(blade.totalMemoryAllocatedMiB)
Number(blade.totalMemoryAllocatedMiB),
blade.status
)
"
>
Expand Down Expand Up @@ -168,25 +169,57 @@
service running on OpenBMC.
</v-card-text>
<v-list lines="one">
<v-list-item>
<v-list-item-title>Status</v-list-item-title>
<v-list-item-subtitle>{{
selectedBladeStatus
}}</v-list-item-subtitle>
<template v-slot:prepend>
<v-avatar>
<v-icon :color="statusColor"
>{{statusIcon}}</v-icon
>
</v-avatar>
</template>
</v-list-item>
<v-list-item>
<v-list-item-title prepend-icon="mdi-account-circle"
>Appliance Id</v-list-item-title
>
<v-list-item-subtitle>
{{ selectedApplianceId }}
</v-list-item-subtitle>
<template v-slot:prepend>
<v-avatar>
<v-icon color="#6ebe4a"
>mdi-account-circle</v-icon
>
</v-avatar>
</template>
</v-list-item>
<v-list-item>
<v-list-item-title>Blade Id</v-list-item-title>
<v-list-item-subtitle>
{{ selectedBladeId }}
</v-list-item-subtitle>
<template v-slot:prepend>
<v-avatar>
<v-icon color="#6ebe4a"
>mdi-shield-account</v-icon
>
</v-avatar>
</template>
</v-list-item>
<v-list-item>
<v-list-item-title>Ip Address</v-list-item-title>
<v-list-item-subtitle>
{{ selectedBladeIp + ":" + selectedBladePort }}
</v-list-item-subtitle>
<template v-slot:prepend>
<v-avatar>
<v-icon color="#6ebe4a">mdi-ip</v-icon>
</v-avatar>
</template>
</v-list-item>
</v-list>
</v-card>
Expand Down Expand Up @@ -1224,7 +1257,8 @@ export default {
defaultBlade!.ipAddress,
defaultBlade!.port,
Number(defaultBlade!.totalMemoryAvailableMiB),
Number(defaultBlade!.totalMemoryAllocatedMiB)
Number(defaultBlade!.totalMemoryAllocatedMiB),
defaultBlade!.status
);
}
this.dialogAddBladeWait = false;
Expand Down Expand Up @@ -1281,7 +1315,8 @@ export default {
defaultBlade.ipAddress,
defaultBlade.port,
Number(defaultBlade.totalMemoryAvailableMiB),
Number(defaultBlade.totalMemoryAllocatedMiB)
Number(defaultBlade.totalMemoryAllocatedMiB),
defaultBlade.status
);
}
this.dialogDeleteBladeWait = false;
Expand Down Expand Up @@ -1444,7 +1479,8 @@ export default {
selectedBlade.ipAddress,
selectedBlade.port,
Number(selectedBlade.totalMemoryAvailableMiB),
Number(selectedBlade.totalMemoryAllocatedMiB)
Number(selectedBlade.totalMemoryAllocatedMiB),
selectedBlade.status
);
// Update the URL with the first blade's ID
updateUrlWithBladeId(newVal, selectedBlade.id);
Expand Down Expand Up @@ -1496,6 +1532,19 @@ export default {
const selectedBladeId = computed(() => bladeStore.selectedBladeId);
const selectedBladeIp = computed(() => bladeStore.selectedBladeIp);
const selectedBladePort = computed(() => bladeStore.selectedBladePortNum);
const selectedBladeStatus = computed(() => bladeStore.selectedBladeStatus);
const statusColor = computed(() => {
return selectedBladeStatus.value === "online"
? "#6ebe4a"
: "warning";
});
const statusIcon = computed(() => {
return selectedBladeStatus.value === "online"
? "mdi-check-circle"
: "mdi-close-circle";
});
// Methods to update state
const selectAppliance = (applianceId: string) => {
Expand All @@ -1506,14 +1555,16 @@ export default {
bladeIp: string,
bladePort: number,
bladeMemoryAvailable: number,
bladeMemoryAllocated: number
bladeMemoryAllocated: number,
bladeStatus: string
) => {
bladeStore.selectBlade(
bladeId,
bladeIp,
bladePort,
bladeMemoryAvailable,
bladeMemoryAllocated
bladeMemoryAllocated,
bladeStatus
);
};
Expand All @@ -1524,6 +1575,9 @@ export default {
selectedBladeId,
selectedBladePort,
selectedBladeIp,
selectedBladeStatus,
statusColor,
statusIcon,
selectAppliance,
selectBlade,
loading,
Expand Down
4 changes: 3 additions & 1 deletion webui/src/components/Stores/BladeStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export const useBladeStore = defineStore('blade', {
selectedBladePortNum: null as unknown as number,
selectedBladeTotalMemoryAvailableMiB: null as unknown as number | undefined,
selectedBladeTotalMemoryAllocatedMiB: null as unknown as number | undefined,
selectedBladeStatus: null as unknown as string,
addBladeError: null as unknown,
deleteBladeError: null as unknown,
resyncBladeError: null as unknown,
Expand Down Expand Up @@ -145,12 +146,13 @@ export const useBladeStore = defineStore('blade', {
},


selectBlade(bladeId: string, selectedBladeIp: string, selectBladePortNum: number, selectedBladeTotalMemoryAvailableMiB: number, selectedBladeTotalMemoryAllocatedMiB: number) {
selectBlade(bladeId: string, selectedBladeIp: string, selectBladePortNum: number, selectedBladeTotalMemoryAvailableMiB: number, selectedBladeTotalMemoryAllocatedMiB: number, status: string) {
this.selectedBladeId = bladeId;
this.selectedBladeIp = selectedBladeIp;
this.selectedBladePortNum = selectBladePortNum;
this.selectedBladeTotalMemoryAvailableMiB = selectedBladeTotalMemoryAvailableMiB;
this.selectedBladeTotalMemoryAllocatedMiB = selectedBladeTotalMemoryAllocatedMiB;
this.selectedBladeStatus = status;
},

updateSelectedBladeMemory(availableMemory: number | undefined, allocatedMemory: number | undefined) {
Expand Down

0 comments on commit 26b14bd

Please sign in to comment.