diff --git a/pkg/harvester/mixins/harvester-vm/index.js b/pkg/harvester/mixins/harvester-vm/index.js index 79dfacce..8ba418e7 100644 --- a/pkg/harvester/mixins/harvester-vm/index.js +++ b/pkg/harvester/mixins/harvester-vm/index.js @@ -707,18 +707,22 @@ export default { } }, - needVolume(R) { - if (R.image === EMPTY_IMAGE) { - return false; + needVolumeRelatedInfo(R) { + // return [needVolume, needVolumeClaimTemplate] + if (R.source === SOURCE_TYPE.CONTAINER) { + return [true, false]; } - return true; + if (R.source === SOURCE_TYPE.IMAGE && R.image === EMPTY_IMAGE) { + return [false, false]; + } + + return [true, true]; }, parseDiskRows(disk) { const disks = []; const volumes = []; - const diskNameLabels = []; const volumeClaimTemplates = []; disk.forEach( (R, index) => { @@ -726,14 +730,18 @@ export default { disks.push(_disk); - if (this.needVolume(R)) { - const prefixName = this.value.metadata?.name || ''; - const dataVolumeName = this.parseDataVolumeName(R, prefixName); + const prefixName = this.value.metadata?.name || ''; + const dataVolumeName = this.parseDataVolumeName(R, prefixName); + const [needVolume, needVolumeClaimTemplate] = this.needVolumeRelatedInfo(R); + + if (needVolume) { const _volume = this.parseVolume(R, dataVolumeName); - const _dataVolumeTemplate = this.parseVolumeClaimTemplate(R, dataVolumeName); volumes.push(_volume); - diskNameLabels.push(dataVolumeName); + } + if (needVolumeClaimTemplate) { + const _dataVolumeTemplate = this.parseVolumeClaimTemplate(R, dataVolumeName); + volumeClaimTemplates.push(_dataVolumeTemplate); } });