From 18bfbbaac1206ff2b9782702e64ea3d62bb413cc Mon Sep 17 00:00:00 2001 From: "andy.lee" Date: Thu, 6 Feb 2025 21:41:25 +0800 Subject: [PATCH] fix unable to add/delete new hard disk Signed-off-by: andy.lee (cherry picked from commit cbb66175f6dda835f557dd098103fc1d78b53468) --- pkg/harvester/formatters/HarvesterDiskState.vue | 2 +- pkg/harvester/models/harvesterhci.io.blockdevice.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/harvester/formatters/HarvesterDiskState.vue b/pkg/harvester/formatters/HarvesterDiskState.vue index cbb3003e..09acdd2d 100644 --- a/pkg/harvester/formatters/HarvesterDiskState.vue +++ b/pkg/harvester/formatters/HarvesterDiskState.vue @@ -58,7 +58,7 @@ export default { const out = []; blockDevices.map((b) => { - if (b.metadata.state.error) { + if (b?.metadata?.state?.error) { out.push(b.metadata.state.message); } }); diff --git a/pkg/harvester/models/harvesterhci.io.blockdevice.js b/pkg/harvester/models/harvesterhci.io.blockdevice.js index 4ef0e5e2..ed1035bb 100644 --- a/pkg/harvester/models/harvesterhci.io.blockdevice.js +++ b/pkg/harvester/models/harvesterhci.io.blockdevice.js @@ -64,4 +64,10 @@ export default class HciBlockDevice extends HarvesterResource { // spec.fileSystem.provisioned is deprecated return this.spec?.fileSystem?.provisioned || this.spec?.provision; } + + // Overwrite cleanForSave() in shell/plugins/steve/steve-class.js as it deleted status object in harvesterhci.io.blockdevice CRD + // but /v1/harvester/harvesterhci.io.blockdevices/longhorn-system/{id} API requires status object + cleanForSave(data) { + return data; + } }