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; + } }